تارانتول

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

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

تاريخ

بدأت شركة Mail.Ru، إحدى أكبر شركات الإنترنت في روسيا، هذا المشروع عام 2008 كجزء من تطوير شبكة التواصل الاجتماعي "موي مير" (عالمي). وفي عام 2010، عيّنت الشركة رئيسًا للمشروع، وهو قائد تقني سابق من شركة MySQL . وقد كان المساهمون في البرمجيات مفتوحة المصدر نشطين بشكل خاص في مجال موصلات اللغات الخارجية للغات C و Golang و Perl و PHP و Python و Ruby و node.js.

أصبح Tarantool جزءًا من البنية الأساسية لـ Mail.Ru، ويُستخدم للمحتوى الديناميكي مثل جلسات المستخدمين، والرسائل الفورية غير المرسلة، وقوائم انتظار المهام، وطبقة التخزين المؤقت لقواعد البيانات العلائقية التقليدية مثل MySQL أو PostgreSQL. [ 1 ] [ 2 ]

بحلول عام 2014، تم اعتماد Tarantool أيضًا من قبل خدمات الشبكات الاجتماعية Badoo و Odnoklassniki (الأخيرة تابعة لـ Mail.Ru منذ عام 2010). [ 3 ] [ 4 ]

ملكيات

يتم الاحتفاظ بجميع البيانات في الذاكرة (RAM)، مع ضمان استمرارية البيانات من خلال تسجيل الكتابة المسبقة وأخذ اللقطات ، ولهذه الأسباب قارن بعض المراقبين في الصناعة Tarantool بـ Membase . [ 5 ]

النسخ غير متزامن، ويمكن تجاوز الفشل (انتقال خادم Tarantool واحد ليحل محل خادم آخر) إما من خادم النسخ المتماثل أو من خادم "الاحتياط الساخن".

لا توجد أقفال. يستخدم Tarantool إجراءات فرعية على غرار لغة Lua وعمليات إدخال/إخراج غير متزامنة . ونتيجة لذلك، يجب كتابة برامج التطبيقات أو الإجراءات المخزنة مع مراعاة تعدد المهام التعاوني ، بدلاً من تعدد المهام الاستباقي الأكثر شيوعًا.

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

تكون الحقول في المجموعة غير مرتبطة بنوع البيانات أو يمكن أن تحتوي على أنواع بيانات رقمية أو نصية محددة. يمكن للمستخدمين الإضافة أو التحديث أو الحذف أو التحديد إذا مُنحوا الصلاحيات المناسبة. [ 6 ]

في عام 2017، قدمت Tarantool محرك تخزين اختياري على القرص يسمح بقواعد بيانات أكبر من حجم الذاكرة. [ 7 ]

في عام 2019، قدمت Tarantool واجهة SQL اختيارية تتوافق مع معظم الميزات الإلزامية لمعيار SQL الرسمي. [ 8 ]

توزيع

يأتي Tarantool كجزء من التوزيعات الرسمية لبعض توزيعات لينكس مثل ديبيان ، فيدورا ، وأوبونتو . [ 9 ] [ 10 ] [ 11 ] كما توفر مؤسسة Tarantool روابط تحميل لتوزيعات لينكس أخرى، ونظام التشغيل macOS، ونظام FreeBSD. يمكن توسيع Tarantool باستخدام وحدات نمطية مثبتة عبر LuaRocks ، ويتضمن مجموعة مختارة من إضافات LuaRocks. [ 12 ]

مراجع

  1. ^ ألكسندر جورني (11 مايو 2016). "Tarantool 1.6: قاعدة البيانات وخادم التطبيقات NoSQL في إصدار واحد" . مجموعة Mail.Ru.
  2. أوسيبوف، كونستانتين. "قوائم انتظار Tarantool الدائمة في الذاكرة" . أهمية NoSQL.
  3. بوفاروف، أنطون. "Tarantool в Badoo: قصة حب متجددة" . تطوير بادو.
  4. "شركة DST تُكمل عملية شراء موقع Odnoklassniki.ru، وتُنهي حصتها في موقع Nasza-Klasa.pl" . TechCrunch . 31 أغسطس 2010.
  5. بوبيسكو، أليكس؛ باكالو، آنا ماريا. "Tarantool/Silverbox: مخزن قيم مفتاحية آخر في الذاكرة من Mail.Ru" . MyNoSQL.
  6. "دليل مستخدم Tarantool" .
  7. "تخزين البيانات باستخدام الفينيل" . Tarantool.
  8. "دليل المستخدم / SQL" . Tarantool. مؤرشف من الأصل بتاريخ 10-05-2019 . تم الاطلاع عليه بتاريخ 10-05-2019 .
  9. "الحزمة: Tarantool" . دبيان.
  10. "حزمة: tarantool، قاعدة بيانات في الذاكرة مع خادم تطبيقات Lua" . فيدورا. مؤرشفة من الأصل بتاريخ 31 ديسمبر 2016. تم الاطلاع عليها بتاريخ 31 أغسطس 2016 .
  11. "الحزمة: tarantool قاعدة بيانات في الذاكرة مع خادم تطبيقات Lua" . أوبونتو.
  12. "تارانتول روكس" . تارانتول . تم الاطلاع عليه بتاريخ 30 ديسمبر 2016 .