LevelDB
LevelDB هو مخزن بيانات مفتوح المصدر يعمل على القرص، ويعتمد على نظام المفتاح والقيمة، وقد طوّره زميلا جوجل جيفري دين وسانجاي غيماوات . [ 2 ] [ 3 ] مستوحى من Bigtable ، [ 4 ] يُستضاف كود LevelDB المصدري على GitHub بموجب ترخيص BSD الجديد ، وقد تم نقله إلى مجموعة متنوعة من الأنظمة القائمة على Unix ، و macOS ، و Windows ، و Android . [ 5 ]
سمات
يخزن LevelDB المفاتيح والقيم في مصفوفات بايت عشوائية، ويتم فرز البيانات حسب المفتاح. وهو يدعم عمليات الكتابة المجمعة، والتكرار الأمامي والخلفي، وضغط البيانات باستخدام مكتبة Snappy للضغط من Google.
LevelDB ليس قاعدة بيانات SQL . ومثل قواعد بيانات NoSQL و dbm الأخرى ، لا يمتلك نموذج بيانات علائقي ولا يدعم استعلامات SQL. كما أنه لا يدعم الفهارس . تستخدم التطبيقات LevelDB كمكتبة، حيث لا يوفر واجهة خادم أو واجهة سطر أوامر.
يأتي MariaDB 10.0 مزودًا بمحرك تخزين يسمح للمستخدمين بالاستعلام عن جداول LevelDB من MariaDB. [ 6 ]
تاريخ
يعتمد LevelDB على مفاهيم من نظام قاعدة بيانات Bigtable من جوجل . بدأ تطوير تطبيق الجداول لنظام Bigtable في عام 2004 تقريبًا، وهو مبني على قاعدة بيانات داخلية مختلفة من جوجل عن قاعدة بيانات LevelDB. تعتمد قاعدة البيانات هذه على عدد من مكتبات جوجل البرمجية غير مفتوحة المصدر، لذا كان من الصعب جعلها مفتوحة المصدر مباشرةً. أراد جيف دين وسانجاي غيماوات إنشاء نظام يُشبه حزمة جداول Bigtable، مع الحد الأدنى من التبعيات، ويكون مناسبًا للنشر كمصدر مفتوح، ومناسبًا أيضًا للاستخدام في متصفح Chrome لتطبيق IndexedDB . كتبا LevelDB بدءًا من أوائل عام 2011، بنفس التصميم العام لحزمة جداول Bigtable، ولكن دون مشاركة أي جزء من الكود. [ 7 ]
الاستخدام
تُستخدم قاعدة بيانات LevelDB كقاعدة بيانات خلفية لـ IndexedDB في متصفح جوجل كروم ، وهي إحدى قواعد البيانات الخلفية المدعومة لـ Riak . [ 8 ] بالإضافة إلى ذلك، يخزن كل من Bitcoin Core وgo-ethereum بيانات تعريف سلسلة الكتل باستخدام قاعدة بيانات LevelDB. [ 9 ] وتستخدم لعبة Minecraft Bedrock Edition نسخةً مُعدّلةً منها لتخزين بيانات الأجزاء والكيانات. [ 10 ] كما يستخدم برنامج Autodesk AutoCAD 2016 قاعدة بيانات LevelDB.
أداء
قدمت جوجل معايير أداء تقارن أداء LevelDB مع SQLite و Kyoto Cabinet في سيناريوهات مختلفة. [ 11 ] يتفوق LevelDB على كل من SQLite وKyoto Cabinet في عمليات الكتابة وعمليات القراءة المتسلسلة. كما يتفوق LevelDB في عمليات الكتابة المجمعة، ولكنه أبطأ من SQLite عند التعامل مع القيم الكبيرة. تم تحديث معايير الأداء المنشورة حاليًا بعد ملاحظة أخطاء في تكوين SQLite في إصدار سابق من النتائج. [ 12 ] تُظهر معايير الأداء المُحدثة [ 13 ] أن LevelDB يتفوق أيضًا على Berkeley DB ، ولكن تُظهر هذه الاختبارات أيضًا أن OpenLDAP LightningDB أسرع بكثير (حوالي 10 أضعاف في بعض السيناريوهات) في عمليات القراءة وبعض أنواع الكتابة (مثل الكتابة المجمعة والمتزامنة، انظر الرابط أعلاه)، ويكاد يكون مساويًا لـ LevelDB في بقية الاختبار.
جميع المعايير المذكورة أعلاه تعود إلى الفترة من 2011 إلى 2014، وقد تكون ذات أهمية تاريخية فقط، حيث أصبح SQLite، على سبيل المثال، أكثر كفاءة بشكل ملحوظ. [ 14 ]
العيوب والموثوقية
يُعرف LevelDB بوجود أخطاء برمجية تُؤدي إلى تلف قواعد البيانات. [ 15 ] [ 16 ] [ 17 ] [ 18 ] [ 19 ] [ 20 ] وقد وجدت دراسة أجريت عام 2014 أنه في أنظمة الملفات غير المُفعّلة بتقنية التحقق من المجموع الاختباري، قد تتعرض قاعدة البيانات للتلف بعد تعطل النظام أو انقطاع التيار الكهربائي. [ 21 ]
انظر أيضاً
مراجع
- ↑ "الإصدار 1.23" . 23 فبراير 2021. تم الاطلاع عليه في 13 مارس 2021 .
- ↑ "علماء ومهندسو أبحاث جوجل: جيفري دين" . جوجل، شركة. مؤرشف من الأصل بتاريخ 19 نوفمبر 2016. تم الاطلاع عليه بتاريخ 27 يوليو 2011 .
- ↑ "باحثون ومهندسون: سانجاي غيماوات" . جوجل، المحدودة. مؤرشف من الأصل بتاريخ 19 نوفمبر 2016. تم الاطلاع عليه بتاريخ 27 يوليو 2011 .
- ↑ "جوجل تُطلق قاعدة بيانات NoSQL مفتوحة المصدر تُسمى LevelDB" . ReadWriteWeb . 30 يوليو 2011. مؤرشف من الأصل في 16 أغسطس 2011. تم الاطلاع عليه في 30 يوليو 2011 .
- ↑ "مدونة جوجل مفتوحة المصدر: LevelDB: مخزن سريع ودائم للقيم المفتاحية" . جوجل، المحدودة.
- ↑ محرك تخزين LevelDB
- ↑ جيف دين. "قائمة بريد LevelDB: "الوضع الحالي لـ LevelDB"" .
- ↑ LevelDB . Docs.basho.com. تم الاطلاع عليه بتاريخ 18-09-2013.
- ↑ أندرياس م. أنتونوبولوس. "الفصل 7. سلسلة الكتل" . تم الاطلاع عليه بتاريخ 8 يناير 2015 .
- ↑ "تنسيق مستوى إصدار Bedrock" . ويكي ماينكرافت . تم الاطلاع عليه بتاريخ 24 سبتمبر 2023 .
- ↑ "معايير LevelDB" . شركة جوجل. مؤرشف من الأصل بتاريخ 20-08-2011.
- ↑ "مناقشة معيار LevelDB" . مؤرشف من الأصل بتاريخ 24-02-2020 . تم الاطلاع عليه بتاريخ 11-08-2014 .
- ↑ معايير الأداء الدقيقة لقواعد البيانات، مؤرشفة بتاريخ 9 أغسطس 2014 في أرشيف الإنترنت (Wayback Machine )، شركة Symas، سبتمبر 2012. تم الاطلاع عليها بتاريخ 22 أكتوبر 2016.
- ↑ "قياس وتقليل استخدام وحدة المعالجة المركزية في SQLite" .
- ↑ "إصلاح LevelDB" . مؤرشف من الأصل بتاريخ 2016-04-06 . تم الاطلاع عليه بتاريخ 2016-04-06 .
- ↑ المشاكل · google/leveldb · GitHub
- ↑ فساد غير قابل للإصلاح في كروميوم
- ↑ فساد في برنامج Syncthing
- ↑ الفساد بعد فقدان السلطة
- ↑ الفساد في إيثيريوم
- ↑ ليست جميع أنظمة الملفات متساوية: حول تعقيد تصميم تطبيقات متسقة مع الأعطال . 2014. الصفحات 433-448 . ISBN 9781931971164.
روابط خارجية
- برنامج 2011
- تطبيقات Bigtable
- مكتبات C++
- برنامج جوجل
- قواعد بيانات المفتاح والقيمة
- متجر القيم الرئيسية المطلوب
- NoSQL
- محركات قواعد البيانات
- قواعد البيانات المضمنة
- البرامج التي تستخدم ترخيص BSD
