قد تكون أداة لمواقف نقل البيانات ، التي تم تصميمها فقط لأغراض نظرية ، مفيدة لنقل كمية كبيرة من البيانات من خادم SQL (2000 أو أعلى) و/أو Oracle (10g أو أعلى) إلى مثيل آخر (SQL> SQL ، SQL> Oracle> SQL و Oracle> Oracle> Oracle).
من المعتاد نسخ خادم SQL و/أو جداول Oracle من مثيل إلى آخر.
عادةً ما نقرر استخدام معالج استيراد/تصدير SSMS أو حزمة خدمات التكامل أو طريقة لنقل البيانات كملف نصي.
ولكن قد تنشأ المشكلات إذا كنا نتحدث عن الجداول التي تحتوي على أكثر من 300 مليون من السجلات أو 30 جيجابايت وأكثر من ذلك إذا كان يجب نسخها في وقت أدنى.
إذا كنا محظوظين ، فقد يكون لهذا الجدول فهرس متجمع في خادم SQL أو فهرس مع رسم بياني للتردد في Oracle. هذا هو السيناريو الذي يلعب فيه هذا المشروع الصغير دورًا.
إذا لم يكن لدينا فهرس متجمع على جدول المصدر ، فهناك بعض الأمل ، قمنا بتنفيذ طريقة جديدة (أبطأ قليلاً من طريقة مجمعة ، ولكنها جيدة) لنسخ البيانات من جدول الكومة ، في كل من Oracle و SQL Server.
منطقه بسيط للغاية: فسيطرك فولتات فهرس المجموعات في خادم SQL ، أو الرسم البياني في Oracle ، ويحدد مجموعات البيانات المتوازنة.
وهذا يعني أنه ينشئ أكبر عدد ممكن من الاستعلامات مثل مؤشرات الترابط ، وتصفية هذه الاستعلامات على حقل الفهرس المجمع يحاول الحصول على نفس حجم البيانات لكل واحد. ثم يطلقهم باستخدام sqlbulkcopy .net fw أو oraclebulkcopy من طريقة ODP.NET. كما أكوام ، فإنه "تقسيم" الجدول مع دالة محددة ووحدة النمط (٪٪ LOCKRES ٪٪ في SQL Server و ROWID في Oracle) ، وقم بتشغيل كل استعلام في مؤشر ترابط واحد.
يجب أن ننصح أنه بناءً على كمية الخيوط ، فهي عملية كثيفة الموارد للغاية ، وفي بعض الحالات قد يرتفع استهلاك وحدة المعالجة المركزية إلى 100 ٪ وقد يتسبب طول قائمة انتظار القرص في انتظار طويل.
لهذا السبب ، نوصي التشغيل على خادم مختلف بخلاف مصدر البيانات والوجهة.
وبالتالي ، مع بنية من شبكتين مع بطاقتي شبكة 100 ميجابايت في كل خادم ، حققنا معدلات نقل 190 ميجابايت/SEG.
يجب عليك اختباره لأغراض إحصائية قبل التفكير في استخدامه في بيئة الإنتاج.
ملاحظات إضافية: سيتم تحقيق كسب الأداء في ظل بعض المراكز ، وأحيانًا لن يتم تحطيمها بسبب طبيعة البيانات الموجودة داخل العمود المجمع. بادئ ذي بدء ، من الضروري توضيح أن الفهرس المجمع يحفظ معلومات الإحصاء فقط للعمود الأول من فهرس مركب ، لذلك أصبح من الأهمية بمكان أن يكون الفهرس المجمع جيدًا. نعني أنه من الأفضل أن تتبع طرف طلب الحقول من الحالات التي تحتوي على معظم الحبيبات إلى أقل. مسألة أخرى قد تواجهها هي مقدار البيانات الفارغة. تتحدث الإحصائيات عن البيانات غير الفارغة ، لذلك إذا كان الجدول يحتوي على 80 ٪ من البيانات الفارغة لن يستفيد منها ، حيث يتم نسخ جميع البيانات الفارغة في مؤشر ترابط واحد كدفعة فريدة. وبطبيعة الحال ، نوصي أيضًا بعدم وجود فهارس الجدول الوجهة (للسماح بموضوعات إدراج متعددة) ، لا توجد أقسام ولا تضغط على تسريع عملية الإدراج.
يمكن تصوّر هذا DLL في مشاريع ETL الأخرى التي لا تعتمد أو لا يتم بناؤها على منصة SSIS.