T + Conf 2019: Tarantool في Aeroflot ، أو MDM على الطاير



ننشر اليوم نسخة من تقرير نيكولاي شيفتسوف ورستم كيلديف مع T + Conf 2019 " Tarantool in Aeroflot أو MDM (Master Data Management) على الطاير ." من التقرير سوف تتعلم:

  • لماذا تحتاج MDM؟
  • لماذا أحتاج في الوقت الحقيقي؟
  • علوم البيانات هي أكثر من مجرد مفكرة Jupyter.
  • إيجابيات تارانتول.
  • لماذا تعتبر لوا جيدة في البيع.

تساعد تكنولوجيا المعلومات شركتنا بنشاط في جذب العملاء. اليوم ، نقدم بنشاط عددًا من مشروعات البيانات الضخمة. هذه مشاريع تسويقية تساعدنا في تجزئة البيانات وتقديم المعلومات للعملاء ، والبحث الاجتماعي ، والعمل مع الشكاوى والطعون ، وأكثر من ذلك بكثير. أيضا ، يتم تنفيذ العديد من المشاريع التي تساعد على زيادة ربحية وربحية الأعمال. على سبيل المثال ، أحد المشاريع هو تحليل الأمتعة المتاحة على متن الطائرة من أجل بيع الفائض في الوقت المحدد ، أو للتنبؤ بفشل المكونات الفردية وقطع غيار الطائرات للصيانة في الوقت المناسب.

في منصة التعامل مع المكالمات ، نستخدم Tarantool بنشاط ، والمزيد عن ذلك.

القيمة الرئيسية للبيانات الضخمة بالنسبة لنا هي القدرة على تحليل البيانات. نحن نحاول جمع جميع مصادر المعلومات الجديدة ذات الصلة بـ Aeroflot في حقل معلومات واحد لمزيد من المعالجة.

نيكولاي شيفتسوف ، إيروفلوت. مدير مشروع في قسم نظم المعلومات.

كيف يشتري الناس عادة تذكرة؟ هناك فكرة عن الرحلة ، يشاركها شخص مع الأصدقاء والأقارب ، في الشبكات الاجتماعية والمنتديات ، ثم يشتري تذكرة على الموقع. هناك العديد من مصادر المعلومات ، ومهمتنا هي جمع كل منهم وتحليلها من أجل فهم موقف الركاب من الخدمة وشركات الطيران ككل.

أحد مشاريعنا يسمى منصة الاتصال. نقوم بجمع جميع المراجعات والطعون والشكاوى من مصادر عديدة. "المنصة" هي نافذة مجموعة واحدة لدينا على الموقع أو في تطبيق الهاتف المحمول الذي نتلقى من خلاله معلومات من المستخدمين. نقوم أيضًا بجمع مراجعات وسائل التواصل الاجتماعي المتعلقة بشركة إيروفلوت.

تشارك العديد من أقسام إيروفلوت في معالجة الشكاوى والطعون: الموظفون الذين يعملون في الخدمة على متن الطائرة ، في منطقة المغادرة ، في منطقة الوصول ، إلخ. معظم الشكاوى ، حوالي 2.5 ألف في اليوم ، تأتي من المسافرين القادمين الذين لديهم أي مشاكل. يجب معالجة كل شكوى وتصنيفها وإعادة توجيهها إلى الإدارة المناسبة لموظف معين يمكنه حل مشكلة الراكب. يمكن تجميع الشكاوى المتطابقة لتوفير الوقت في تحليل الموقف واتخاذ القرار.

الهدف من المشروع هو تحسين معالجة التطبيقات وتقليل وقت معالجتها. للقيام بذلك ، كان من الضروري إنشاء نظام يقوم ، في وقت تقديم الشكوى ، بتحديد موضوعه تلقائيًا وإرساله إلى القسم المناسب إلى الموظف المسؤول. في عملية معالجة الشكوى ، يجب على النظام العثور على جميع المعلومات المتاحة عن العميل ، حتى ملفه الشخصي ، والرحلات الجوية المستقبلية المخطط لها ، وما إلى ذلك.

في بداية المشروع ، أخذنا في الاعتبار العديد من الأدوات التي يمكن أن تساعدنا في هذا الأمر واخترنا في النهاية تارانتول. أظهرت الحياة أن هذا كان الخيار الصحيح: فهو يسمح لك بالامتثال لمتطلبات اتفاقية مستوى الخدمة وفي نفس الوقت يتطور بشكل جيد مع زيادة الحمل.

التنفيذ


قدمت شركة إيروفلوت منصة للتعامل مع الشكاوى. هذا هو مستودع للمعلومات غير المنظمة ، والذي يتم على أساسه تحليل وتوليف ملفات تعريف العملاء الفريدة.


يجب معالجة وتنظيم المعلومات الواردة عند الطلبات. الطعون هي نص لا يمكن تخزينه في شكل خام ، لذلك يتم توجيه النص بالكامل. يتم البحث عن مجموعة من النتائج ، ويتم تجميع خريطة الكلمات والعبارات الفريدة ، والتي يتم على أساسها حساب المتجه الأولي لتحويل جميع النتائج اللاحقة. في البداية ، استخدم متخصصو تحليل البيانات لدينا الأدوات الكلاسيكية - Python و Jupyter Notebook على مجموعة أو كمبيوتر محمول محلي. الناقل له حجم ديناميكي ، مما يخلق صعوبات.

على عكس العديد من الأدوات الأخرى ، فإن Tarantool هو خادم تطبيق كامل. يمكننا استخدام العديد من المكتبات ، مثل SciLua ، وكتابة المنطق بلغة برمجة عادية ، إلخ. الآن نقوم بتوجيه البيانات باستخدام مكتبة SicLua في الوقت الفعلي مباشرةً في تارانتول. ثم باستخدام طريقة جيب التمام ، يبحث النظام عن متجه مشابه لمدة ثلاثة أشهر. ونتيجة لذلك ، نحصل على مكالمات مزدوجة أو مشابهة لإجراء مزيد من المعالجة. في عملية البحث ، يتم إجراء الكثير من الحسابات الرياضية: في 3 أشهر ، تتم معالجة حوالي 100 ألف مكالمة من جميع المصادر المتاحة. متوسط ​​وقت المعالجة هو 120 مللي ثانية.

رستم كيلديف ، مدير تقنية المعلومات في Innodata.

بنية تحتية


تعمل قاعدة بيانات Tarantool الخاصة بنا على أربعة خوادم مكونة من ستة عشر نواة مع كمية كبيرة من ذاكرة الوصول العشوائي. بفضل وحدة Vshard ، كان من الممكن تنفيذ بحث سريع بقوة شديدة. تنقسم البيانات إلى أجزاء - مجموعات ، بحيث تكون معالجة الاستعلام متوازية. النظام سهل القياس ، ما عليك سوى إضافة خادم. تم تنفيذ النسخ المتماثل الرئيسي ، على الرغم من أن معظم DBMSs قادمة الآن. أيضًا ، لسنا بحاجة إلى إضافة وحدات ، ولا توجد مشاكل في الإدارة.

كمية البيانات لدينا ، إذا حسبناها من ذاكرة الوصول العشوائي ، حوالي 1 تيرابايت. في مرحلة البدء وتصحيح الأخطاء وإصلاحها في المشروع ، نشأت مشاكل. تحتوي جميع الجداول تقريبًا على 7-8 فهارس ، لذا استغرقت قاعدة بيانات Tarantool لـ 1 تيرابايت 20 إلى 40 دقيقة ، وهو أمر غير مقبول. أثناء بدء التشغيل ، يقوم النظام بإنشاء الفهارس وإذا قمت بإزالتها ، فسيتم التحميل بشكل أسرع. في هذه الحالة ، ساعدتنا وظيفة الاستعداد السريع.

الخطط


أحب كل من العميل وفناني الأداء ، تارانتول. نظرنا في قواعد أخرى ، ولكن في النهاية اخترنا تارانتول. أولاً ، كنا بحاجة إلى قاعدة سريعة جدًا. ثانيًا ، سيتعين عليها العمل كثيرًا معها ، وكتابة المنطق ، وما إلى ذلك ، لذلك كانت لوا الكاملة ميزة بالنسبة لنا. ثالثًا ، يكتب تارانتول على الفور إلى القرص ولا يأخذ لقطات ، وهذا أمر جيد بالنسبة لنا أيضًا ، لأنه على الرغم من وجود الكثير من المكالمات من العملاء ، لا يمكننا أن نفقد حتى مكالمة واحدة.

أثبتت تارانتول فائدتها في الإنتاج ، وسوف نقوم بتحميل المزيد من البيانات فيه ، وإضافة منطق الأعمال. على عكس قواعد البيانات الأخرى ، لا يلزم ضبطها باستمرار وتغيير شيء ما. بالمناسبة ، يتم تحويل البيانات وتحميلها إلى نظام تارانتول من نظام آخر تلقائيًا ويتم إجراؤه يوميًا.

في المستقبل ، نخطط للتبديل إلى Tarantool Enterprise ، مما يتيح لنا إدارة العديد من مثيلات Tarantool وتهيئتها بشكل ملائم. لا يزال هناك عدد قليل من المتخصصين في قاعدة البيانات هذه ، وتتزايد الحاجة إليها باستمرار. مؤهلاتنا ليست كافية في بعض الأحيان. في مثل هذه الحالات ، تساعد الدردشة الداخلية لمطوري Tarantool ، حيث يمكنك طلب المساعدة. هذا ليس في أي نظام آخر.

نخطط أيضًا للترقية إلى Tarantool2 و SQL. هناك العديد من خبراء SQL في سوق العمل ، لذلك لن يكون الانتقال صعبًا للغاية.

الموجودات


كانت المشكلة الرئيسية لهذا المشروع لوا. قليل من المطورين يعرفون ذلك ، لكنهم يحبونه أقل. في البداية ، كتبنا باستخدام لغة أخرى ، ولكن نظرًا للعدد الهائل من الطلبات ، عمل النظام ببطء. لذلك ، قمنا بنسخ كل شيء مع Lua لفترة طويلة وألم ، ولكن نتيجة لذلك ، يعمل النظام بشكل واضح وسريع ، مع عدد قليل من التصحيحات والإصدارات. Lua قريبة جدًا من رمز الآلة وهي واحدة من أسرع اللغات من عائلة C. على الرغم من أنها لغة برمجة نصية صغيرة ، إلا أنها تحتوي على جميع المكتبات اللازمة ، وتمكنا من نقل البحث ، والتوجيه ، ومسافة جيب التمام ، وما إلى ذلك الخوارزميات.

تارانتول تتحمل الأخطاء للغاية ويعمل خارج الصندوق. لقد أجرينا العديد من التجارب: إيقاف Tarantool ، ورفعها ، وما إلى ذلك. - كل شيء يعمل بشكل جيد ، ويتم كتابة البيانات الوسيطة على القرص ، لذلك لا نفقد البيانات.

All Articles