طاولة كبيرة
| المطور(ون) | جوجل |
|---|---|
| الإصدار الأولي | فبراير 2005 |
| مكتوب في | |
| منصة | منصة جوجل السحابية |
| يكتب | التخزين السحابي |
| رخصة | الملكية |
| موقع إلكتروني | cloud.google.com/bigtable/ |
Bigtable عبارة عن خدمة قاعدة بيانات NoSQL ذات أعمدة عريضة وقيمة رئيسية ومدارة بالكامل للأحمال التحليلية والتشغيلية الكبيرة كجزء من مجموعة Google Cloud .
تاريخ
بدأ تطوير Bigtable في عام 2004. [1] ويستخدمه الآن عدد من تطبيقات Google، مثل Google Analytics ، [2] وفهرسة الويب، [3] وMapReduce ، والذي يستخدم غالبًا لإنشاء وتعديل البيانات المخزنة في Bigtable، [4] وخرائط Google ، [5] والبحث في كتب Google ، و"سجل بحثي"، و Google Earth ، وBlogger.com ، واستضافة Google Code ، و YouTube ، [6] و Gmail . [7] وتشمل أسباب تطوير Google لقاعدة البيانات الخاصة بها قابلية التوسع والتحكم بشكل أفضل في خصائص الأداء. [8]
تم إنشاء Google F1 باستخدام Spanner ليحل محل التنفيذ القائم على MySQL . [9]
يعد Apache HBase و Cassandra من بين أفضل المشاريع مفتوحة المصدر المعروفة والتي تم تصميمها على غرار Bigtable.
في 6 مايو 2015، تم طرح إصدار عام من Bigtable كجزء من Google Cloud تحت اسم Cloud Bigtable. [2]
اعتبارًا من يناير 2022، تدير Bigtable أكثر من 10 إكسابايت من البيانات وتخدم أكثر من 5 مليارات طلب في الثانية. [10] في 27 يناير 2022، أعلنت Google عن عدد من التحديثات على Bigtable، بما في ذلك قابلية التوسع التلقائية. [11]
تصميم
يُعد Bigtable أحد الأمثلة النموذجية لمخزن الأعمدة العريضة . فهو يرسم قيمتين عشوائيتين للسلسلة (مفتاح الصف ومفتاح العمود) وطابع زمني (ومن ثم رسم ثلاثي الأبعاد) في مصفوفة بايت عشوائية مرتبطة. إنه ليس قاعدة بيانات علائقية ويمكن تعريفه بشكل أفضل على أنه خريطة مرتبة متعددة الأبعاد ومتفرقة وموزعة. [3] : 1 تم بناؤه على Colossus ( نظام ملفات Google )، وخدمة Chubby Lock ، وSSTable (تخزين منظم بالسجلات مثل LevelDB ) وعدد قليل من تقنيات Google الأخرى . تم تصميم Bigtable للتوسع في نطاق البيتابايت عبر "مئات أو آلاف الأجهزة، ولتسهيل إضافة المزيد من الأجهزة [إلى] النظام والبدء تلقائيًا في الاستفادة من هذه الموارد دون أي إعادة تكوين". [12] على سبيل المثال، يمكن تخزين نسخة Google من الويب في جدول كبير حيث يكون مفتاح الصف هو عنوان URL معكوس المجال ، وتصف الأعمدة خصائص مختلفة لصفحة الويب، مع احتواء عمود معين على الصفحة نفسها. يمكن أن يحتوي عمود الصفحة على عدة إصدارات تحمل ختمًا زمنيًا تصف نسخًا مختلفة من صفحة الويب التي تحمل ختمًا زمنيًا حسب وقت جلبها. يمكن أن تحتوي كل خلية من جدول البيانات الكبير على صفر أو أكثر من إصدارات البيانات التي تحمل ختمًا زمنيًا. تتمثل وظيفة أخرى للختم الزمني في السماح بإصدارات وجمع البيانات منتهية الصلاحية .
يتم تقسيم الجداول إلى أجهزة لوحية متعددة - يتم تقسيم أجزاء الجدول عند مفاتيح صف معينة بحيث يبلغ حجم كل جهاز لوحي بضع مئات من الميجابايت أو بضعة غيغابايت. يشبه الجدول الكبير إلى حد ما مجموعة عمال Mapreduce حيث يمكن تقديم آلاف إلى مئات الآلاف من شظايا الأجهزة اللوحية بواسطة مئات إلى آلاف خوادم الجدول الكبير. عندما يهدد حجم الجدول بالنمو إلى ما هو أبعد من حد معين، يمكن ضغط الأجهزة اللوحية باستخدام خوارزمية BMDiff [13] [14] وخوارزمية ضغط Zippy [15] المعروفة علنًا والمفتوحة المصدر باسم Snappy ، [16] وهي نسخة أقل مثالية للمساحة من LZ77 ولكنها أكثر كفاءة من حيث وقت الحوسبة. يتم تسجيل المواقع في GFS للأجهزة اللوحية كإدخالات قاعدة بيانات في أجهزة لوحية خاصة متعددة، والتي تسمى أجهزة لوحية "META1". يتم العثور على أقراص META1 من خلال الاستعلام عن قرص "META0" الوحيد، والذي يوجد عادةً على خادم خاص به نظرًا لأنه غالبًا ما يتم الاستعلام عنه من قبل العملاء فيما يتعلق بموقع قرص "META1" الذي يحتوي في حد ذاته على إجابة لسؤال مكان وجود البيانات الفعلية. ومثل خادم GFS الرئيسي، لا يشكل خادم META0 عمومًا عنق زجاجة نظرًا لأن وقت المعالج وعرض النطاق الترددي اللازمين لاكتشاف مواقع META1 ونقلها ضئيلان ويقوم العملاء بتخزين المواقع بشكل مكثف لتقليل الاستعلامات.
مراجع
- ^ هيتشكوك، أندرو، Google's Bigtable ، تم استرجاعه في 29 يوليو 2007 ،
أولًا نظرة عامة. كان Bigtable قيد التطوير منذ أوائل عام 2004 وكان قيد الاستخدام النشط لمدة ثمانية أشهر تقريبًا (حوالي فبراير 2005).
. - ^ "الإعلان عن Google Cloud Bigtable: قاعدة البيانات نفسها التي تدعم Google Search وGmail وAnalytics متاحة الآن على Google Cloud Platform". مدونة Google . 6 مايو 2015. تم الاسترجاع في 21 سبتمبر 2016 .
- ^ ab Chang et al. 2006.
- ^ Chang et al. 2006, p. 3: "يمكن استخدام Bigtable مع MapReduce، وهو إطار عمل لتشغيل العمليات الحسابية المتوازية واسعة النطاق التي تم تطويرها في Google. لقد كتبنا مجموعة من الأغلفة التي تسمح باستخدام Bigtable كمصدر إدخال وكهدف إخراج لمهام MapReduce"
- ^ هيتشكوك، أندرو، جدول جوجل الكبير ، تم استرجاعه في 29 يوليو 2007 ،
يوجد حاليًا حوالي 100 خلية لخدمات مثل الطباعة وسجل البحث والخرائط وأوركوت
. - ^ كورديس، كايل (12 يوليو 2007)، قابلية التوسع في YouTube (نقاش) ،
الحل الجديد الذي توصلوا إليه للصور المصغرة هو استخدام Bigtable من Google، والذي يوفر أداءً عاليًا لعدد كبير من الصفوف، والتسامح مع الأخطاء، والتخزين المؤقت، وما إلى ذلك. هذا مثال لطيف (ونادر؟) للتآزر الفعلي في عملية الاستحواذ.
. - ^ "كيفية تخزين الكيانات والفهرس"، Google App Engine، Google Code، تم أرشفة من الأصل في 7 يناير 2012 ، تم استرجاعه في 17 أبريل 2014.
- ^ تشانج وآخرون. 2006، الاستنتاج: "لقد وصفنا Bigtable، وهو نظام موزع لتخزين البيانات المنظمة في Google... يحب مستخدمونا الأداء والتوافر العالي الذي يوفره تنفيذ Bigtable، وأنهم يستطيعون زيادة سعة مجموعاتهم ببساطة عن طريق إضافة المزيد من الأجهزة إلى النظام مع تغير متطلبات الموارد بمرور الوقت... أخيرًا، وجدنا أن هناك مزايا كبيرة لبناء حل تخزين خاص بنا في Google. لقد حصلنا على قدر كبير من المرونة من تصميم نموذج البيانات الخاص بنا لـ Bigtable."
- ^ Shute, Jeffrey 'Jeff'; Oancea, Mircea; Ellner, Stephan; Handy, Benjamin 'Ben'; Rollins, Eric; Samwel, Bart; Vingralek, Radek; Whipkey, Chad; Chen, Xin; Jegerlehner, Beat; Littlefield, Kyle; Tong, Phoenix (2012), "Summary; F1 — the Fault-Tolerant Distributed RDBMS Supporting Google's Ad Business", Research (presentation) , Sigmod, p. 19,
لقد نقلنا مجموعة تطبيقات كبيرة وحاسمة من MySQL إلى F1
{{citation}}:CS1 maint: موقع الناشر المفقود ( الرابط ). - ^ "أصبحت الآن Cloud Bigtable أسهل في الإدارة بفضل التوسع التلقائي".
- ^ Kerner, Sean Michael (27 يناير 2022). "Google scales up Cloud Bigtable NoSQL database". TechTarget . تم الاسترجاع في 10 أكتوبر 2022 .
- ^ "نظام ملفات جوجل وBigtable"، رادار ( سجل الويب العالمي ) ، قصص حرب قواعد البيانات، أوريلي، مايو 2006.
- ^ "Google Bigtable, Compression, Zippy and BMDiff". 12 أكتوبر 2008. مؤرشف من الأصل في 1 مايو 2013. استرجاع 14 أبريل 2015 ..
- ^ Bentley, Jon; McIlroy, Douglas (1999). ضغط البيانات باستخدام سلاسل مشتركة طويلة . DCC '99: وقائع مؤتمر ضغط البيانات. جمعية الحاسبات IEEE. CiteSeerX 10.1.1.11.8470 . doi :10.1109/DCC.1999.755678.
- ^ "Google's Bigtable"، Outer court (Weblog) ، 23 أكتوبر 2005.
- ^ سنابي (مشروع).
فهرس
- تشانج، فاي؛ دين، جيفري؛ غيماوات، سانجاي؛ هسيه، ويلسون سي؛ والاش، ديبوراه أيه؛ بوروز، مايك؛ شاندرا، توشار؛ فيكس، أندرو؛ جروبر، روبرت إي. (2006). Bigtable: نظام تخزين موزع للبيانات المنظمة (PDF) . ندوة USENIX السابعة حول تصميم وتنفيذ أنظمة التشغيل (OSDI'06). سياتل، واشنطن.
روابط خارجية
- Bigtable: نظام تخزين منظم وموزع، واشنطن. فيديو، محفوظ من الأصل في 18 أبريل 2011 ، تم استرجاعه في 11 يوليو 2006.
- UWTV، أرشيف من الأصل (فيديو) في 15 يونيو 2006.
- هيتشكوك، أندرو، جدول جوجل الكبير (ملاحظات حول العرض الرسمي) ، تم استرجاعه في 29 يوليو 2007.
- كار، ديفيد ف (6 يوليو 2006)، "كيف تعمل جوجل"، خط الأساس.
- "هل قواعد البيانات العلائقية محكوم عليها بالزوال؟"، قراءة وكتابة على شبكة الإنترنت، 12 فبراير 2009.
