عن المشروع
TiKV هي قاعدة بيانات مفتاحية-قيمية مفتوحة المصدر وموزعة ومعاملاتية مكتوبة بلغة Rust. أنشأتها PingCAP كمحرك تخزين لـ TiDB، وهي قاعدة بيانات HTAP موزعة متوافقة مع بروتوكول MySQL، رغم أنها يمكن أن تعمل أيضاً بشكل مستقل.
يعتمد النظام على خوارزمية إجماع Raft، مع تخزين حالة الإجماع في RocksDB، مما يضمن اتساق البيانات عبر النسخ المتماثلة. وهو يستلهم معمارياً من أنظمة Google's BigTable وSpanner وPercolator. TiKV مشروع متخرج من مؤسسة الحوسبة السحابية الأصلية (CNCF).
تشمل القدرات الرئيسية:
- **معاملات موزعة متوافقة مع ACID** مع دعم القراءات والكتابات المتسقة خارجياً، وعزل اللقطات، ودلالات القفل (`SELECT ... FOR UPDATE`).
- **قابلية توسع أفقية** إلى أكثر من 100 تيرابايت من البيانات عبر التقسيم التلقائي الذي يديره Placement Driver (PD).
- **نسخ جغرافي** يستفيد من مجموعات Raft وPD لتوزيع البيانات عبر المناطق.
- **إطار Coprocessor** للحوسبة الموزعة، مشابه لـ HBase.
- **ترحيل تلقائي للبيانات** وموازنة الأحمال عبر PD، الذي يعمل كمدير للعنقود.
تتكون البنية من ثلاثة مكونات رئيسية: Placement Driver (PD) لتنسيق العنقود والجدولة، وعقد TiKV التي تخزن البيانات في نسخ RocksDB لكل عقدة، وRegions كوحدة أساسية لنقل البيانات، حيث يتم نسخ كل منها عبر عقد متعددة في مجموعة Raft.
تتوفر برامج تشغيل العملاء لـ Go وJava وRust وC. يمكن نشر TiKV عبر ملف ثنائي، أو Docker Compose (3 PD + 3 عقد TiKV)، أو TiUP لعناقيد شبيهة بالإنتاج. المشروع مرخص تحت Apache 2.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.