هناك العديد من الطرق لتحليل البيانات في الوقت الحقيقي. في VTB ، نستخدم تقنية Change Data Capture (CDC) المطبقة في أداة Golden Gate Oracle: السرعة مهمة جدًا بالنسبة لنا ، لكننا نرغب في تقليل كمية البيانات المرسلة وتقليل الحمل على المصدر. على الرغم من أن النطاق الرئيسي لهذه الأداة هو النسخ المتماثل من Oracle و MS SQL ، فقد جمعنا على مدار سنوات من العمل مع CDC العديد من الحالات المهمة ، مثل ترحيل البيانات بين الأنظمة الأساسية أو أنواع مختلفة من قواعد بيانات إدارة قواعد البيانات. تحت الخفض ، سوف نشارك تجربتنا مع جولدن جيت.

لماذا نحتاج CDC (تغيير التقاط البيانات)
كان الاستخدام اليومي للبطاقات المصرفية مألوفًا منذ فترة طويلة ، ولا يعتقد الناس ، كقاعدة عامة ، أن كل استخدام لمحطة دفع هو التحويل الفوري لمعلومات معينة إلى البنك. تتزايد أحجام البيانات ، وأود معالجتها في أسرع وقت ممكن ، بما في ذلك إرسال عروض خاصة في الوقت الحقيقي ، لأنه ، كما يقولون ، ملعقة جيدة لتناول العشاء. كما أن أدوات ETL التقليدية (استخراج وتحويل واستخراج وتحويل وتحميل) ليست جيدة في معالجة البيانات أثناء الطيران. فيما يلي أحد الارتباطات الضعيفة: عند أخذ البيانات من جداول النظام المصدر ، يلزمك تحديد صفوف أو صفوف جديدة فقط بها تغييرات. هذا النهج بالإضافة إلى تحميل نظام المصدر ويزيد من كمية البيانات المرسلة.
CDC يلتقط التغييرات من سجلات قاعدة البيانات في الوقت الحقيقي. لذلك يتم تحميل المصدر أقل بكثير ، ويتم تقليل كمية البيانات المرسلة. مع هذه التقنية ، قللنا من الحاجة إلى موارد الحوسبة للأنظمة ذات الحجم الكبير من التغييرات في المعاملات: بعد كل شيء ، لالتقاط البيانات حتى بالنسبة للأنظمة المصرفية الأكثر تحميلًا ، تكفي مراكز معالجة 1-2 في المصدر. وإذا كنا نقدم ETL ، فسيتعين علينا شراء قدرات المعالج من أجل قراءة البيانات بشكل متوازٍ.
نحن نستخدم تقنية Oracle GoldenGate ، أداة CDC من Oracle ، لعدة سنوات في VTB. بمساعدتها ، نقوم بملء مستودع البيانات التشغيلية وتوزيع وظائف أنظمة المعلومات في المناطق "الدافئة" و "الساخنة". يقوم 90٪ من استخدام OGG في مشهد تكنولوجيا المعلومات بالبنك بتحميل البيانات من Oracle و MS SQL ، لكنه بالإضافة إلى النسخ المتماثل ، يقوم بعمل ممتاز في مهام أخرى. دعونا نلقي نظرة على بعض الأمثلة من ممارستنا.

الحالة 1. الإبلاغ عبر الإنترنت
التقينا GoldenGate في عام 2013. ثم ، في مجمع معالجة البطاقات الخاص بنا ، تمت معالجة المعاملات في وقت واحد وإعداد التقارير. تم خلط التحميل OLTP مع تحميل DWH / DSS ، وعينات كبيرة ثقيلة غسل ذاكرة التخزين المؤقت من ذاكرة قاعدة البيانات. نتيجة لذلك ، كان يتعين على المعاملات السريعة الانتقال إلى محرك الأقراص الثابت ، فقد انخفضت سرعة خدمات الأعمال الهامة. من أجل إلغاء تحميل مركز المعالجة ، اتخذنا جميع الإجراءات والتقارير التي قمنا بتطويرها إلى نسخة متماثلة "دافئة" على Oracle Exadata.
كيفية تكرار البيانات باستخدام GoldenGate ، وصفنا بالتفصيل
هنا . باختصار: بالنسبة للأنظمة عالية التحميل حيث يوجد مزيج من أنواع مختلفة من الأحمال ، نقوم بتوزيعها على خوادم OLTP و DWH / DSS مختلفة ، وللتزامن بينهما نستخدم GoldenGate. هذا النمط من تسليط الضوء على نسخة طبق الأصل "الدافئة" في متناول اليد في العديد من الحالات الأخرى. على سبيل المثال ، استخدمنا نفس الأسلوب في نظامنا لمكافحة الاحتيال - فنحن نقوم بنقل جميع التقارير إلى أنظمة Oracle Exadata المدمجة ، ونقوم بتكرار البيانات لهم باستخدام GoldenGate.
لا توجد أنظمة دون فشل. على سبيل المثال ، إذا قام أحد المطورين بتغيير البيانات على جهاز الاستقبال ، فقد يحدث خطأ في استخدام البيانات ، وستتوقف عمليات GoldenGate. لاستبعاد البيانات من المزامنة ، نستخدم Oracle GoldenGate Veridata كحكم مستقل. لا تتحقق هذه الأداة من البيانات بين المصادر والمستقبلات فقط - الشيء الرئيسي هو أن Veridata تعمل على إزالة الاختلافات. من المهم أنه عندما نتعامل مع النسخ المتماثل ، تضمن Veridata مقارنة دقيقة للبيانات واكتشاف السجلات المفقودة. نحصل على تقرير كامل مع نتائج المقارنة ، والتي يمكن تقديمها للزملاء لا يصدق.

الحالة 2. التقارير الموحدة والتدريج في التخزين عبر الإنترنت
ترتبط حالة منفصلة مع بناء التخزين التشغيلي. تكمن الصعوبة في حقيقة أننا ، بالإضافة إلى التقارير التشغيلية ، نعد البيانات لتخزين الشركات (التدريج). يحدث أنك تحتاج إلى إنشاء تقارير تشغيلية استنادًا إلى البيانات التي يتم جمعها من عدد من الأنظمة المختلفة. وهو الأكثر ملاءمة للقيام بذلك على مستوى التخزين عبر الإنترنت. للحصول على البيانات بسرعة عالية وبحد أدنى من الحمل على الموارد ، قمنا مرة أخرى بتطبيق GoldenGate.
للمقارنة ، دعونا نوضح كيف وجدنا دلتا التغييرات في بعض أنظمتنا من قبل. إذا لم يسمح النظام نفسه بتخصيص دلتا أو تغيير البيانات بأثر رجعي ، عندئذٍ تتم مقارنة الجدول من مصدر 10 تيرابايت بجدول 10 تيرابايت في جهاز الاستقبال في اليوم السابق. يجب أن يتم التقاط هذه السل التي تبلغ 10 تيرابايت أولاً في المصدر ، ولم يقع الحمل فقط على نظام المصدر ، وحدة المعالجة المركزية ، الذاكرة ، ولكن أيضًا على شبكة البيانات ، وكذلك على النظام المعني بالمقارنة. وكل هذا من أجل العثور على دلتا البيانات الجديدة في 0.01 ٪!
لا تنشئ GoldenGate أي حمل تقريبًا على المصدر: CDC فقط يقرأ المجلات وينتج دلتا نهائية. هذا يتيح لك حفظ خطيرة على البنية التحتية. لا يهم من يكون المتلقي - مستودعًا تقليديًا يعتمد على منتجات Oracle أو MSSQL أو Teradata أو Hadoop فقط.
لاحظ أنه في هذه الحالة ، تم استخدام قواعد بيانات Oracle كمصدر ومستقبل. لقد أثبت الحل فعاليته ، فنحن الآن نربط جميع الأنظمة الجديدة بمستودع بيانات مشترك عبر الإنترنت ، والآن ليس Oracle فقط. ميزة أخرى لـ GoldenGate هي أنها مناسبة لتنزيل البيانات من معظم قواعد البيانات المستخدمة في مشهد تكنولوجيا المعلومات للبنك.

الحالة 3. العروض الشخصية للعملاء في الوقت الحقيقي.
لقد ذكرنا بالفعل تحليلات التدفق ، أي عروض (RTO) في الوقت الحقيقي للعملاء في الوقت الفعلي. يقول الرفاق الكبار إن النجاح في الأعمال المصرفية يعتمد بشكل مباشر على مدى معرفتك لعميلك ومدى ملاءمته لتقديم عرض. بمعنى آخر ، فإن احتمال أن يستفيد العميل من عرض البنك يتناسب عكسياً مع معدل رد فعل البنك لاحتياجات العميل.
كيف يعمل؟ على سبيل المثال ، يوضح سجل المعاملات أن العميل يشتري من متجر الخمور كل يوم جمعة. يكتشف تحديد الموقع الجغرافي ذلك في أحد مراكز التسوق ، حيث يوجد متجر لهذه الشبكة ، ومن خلال تطبيق الهاتف المحمول ، نرسل له عرضًا شخصيًا للحصول على خصم إلى متجر للذواقة في مركز التسوق نفسه. مثل هذه الحالة هي الأكثر إثارة للاهتمام بالنسبة للبنك ؛ فهي تتيح لك إنشاء علامات تجارية مشتركة وعروض مشتركة. يمكن للعملاء أن يكونوا أفراد ومؤسسات.
هناك أجزاء حاليا وغير متصل. في البداية ، يتم تقسيم العملاء مسبقًا باستخدام بيانات من جميع الأنظمة. محللون وبيانات يدرس العلماء السلوك والبيانات التاريخية ويخلقون ما يسمى بالفخاخ. الشيء الرئيسي هو اللحاق بالحدث الهام الذي يمكن تتبعه من خلال معاملة المستحوذ أو تطبيق الهاتف المحمول أو غيرها من المصادر المتاحة. وبالفعل ، تتم معالجة هذا الحدث عن طريق تحليلات التدفق ، ويتم اتخاذ القرار في الوقت الحالي بناءً على الفخاخ المعدة.
الهدف من CDC GoldenGate هو توفير تدفق بيانات الأحداث في الوقت الفعلي من أنظمة المصدر إلى النظام الأساسي التحليلي. يتضمن ترخيص GoldenGate for Big Data أيضًا Oracle Stream Analytics. من خلال مساعدتها ، يمكن للعلماء معالجة تدفق البيانات بشكل مستقل على Spark Streaming ، وتطوير التطبيق في بيئة بصرية.
الحالة 4. الرد التشغيلي على أنواع جديدة من الاحتيال
أنظمة مكافحة الاحتيال مغلقة تمامًا ، وهي محقة في ذلك: كلما قل عدد الأشخاص المخصصين للتفاصيل ، زاد مستوى الأمان. إنهم يقومون بعمل رائع في التعامل مع الحالات القياسية ، ولكن في بعض الأحيان تنشأ مواقف لا تنسجم مع النصوص القياسية. لذلك ، من المهم استكمال هذه النماذج بسيناريوهات غير قياسية. نعمل باستمرار على تطوير نماذج جديدة استنادًا إلى الارتباط بين أحداث الأنظمة المختلفة: معاملات البطاقات والعملة والموقع وعمليات أنظمة الدفع والإجراءات في تطبيقات الهاتف المحمول ومراقبة الشبكات الاجتماعية. لتغيير النموذج ، يجب عليك اتباع العمليات المقبولة: طلب العمل ، إعداد المهمة ، تمرير التطبيق خلال جميع مراحل التنفيذ الداخلية.
في العام الماضي ، قمنا باختبار تحميل البيانات باستخدام Oracle GoldenGate for Big Data من أكثر الأنظمة التقليدية ازدحامًا ، حيث كان هناك الكثير من المعاملات الصغيرة ، ومن نظامنا لمكافحة الاحتيال إلى المجموعة الرئيسية على Oracle Big Data Appliance. تعامل كل من Hadoop و GoldenGate مع مقدار البيانات المنقولة - لقد فوجئنا إلى حد ما.
تيرابايت في الساعة والنتائج الأخرى
خلال العامين الماضيين ، مع GoldenGate ، ضاعفنا حجم السجلات المنقولة - حتى 1 تيرابايت في الساعة. هذا يغلق تقريبا احتياجاتنا في الوقت الراهن. لسوء الحظ ، هناك الفيزياء التي نواجهها. ولكن لزيادة الإنتاجية ، يتم العمل النشط مع فريق تطوير GoldenGate ، لذلك هذا أبعد ما يكون عن الحد الأقصى. في الوقت نفسه ، نحن نراقب ونجرب حلول CDC لبائعين آخرين ، لكننا لم نجد أي أسباب للترحيل من Oracle GoldenGate. في الوقت الحالي ، أثبتت هذه التقنية أنها الأكثر نضجًا من تلك الموجودة في السوق.