سؤال

هو Oracle أو MySQL أو شيء بنوا أنفسهم ؟

هل كانت مفيدة؟

المحلول

Bigtable

نظام تخزين وزعت على البيانات المهيكلة

Bigtable هو التخزين الموزعة نظام (بنيت من قبل جوجل) لإدارة البيانات المهيكلة التي تم تصميمها على نطاق واسع جدا كبيرة الحجم:بيتابايت من البيانات عبر الآلاف من السلع الخوادم.

العديد من المشاريع في متجر جوجل البيانات في Bigtable ، بما في ذلك على شبكة الإنترنت الفهرسة ، Google Earth, Google المالية.هذه التطبيقات المكان جدا مطالب مختلفة على Bigtable ، سواء في من حيث حجم البيانات (من عناوين المواقع على شبكة الإنترنت الصفحات إلى صور الأقمار الصناعية) ، الكمون متطلبات (من الخلفية معالجة المواد السائبة إلى البيانات في الوقت الحقيقي التقديم).

وعلى الرغم من هذه متنوع مطالب Bigtable بنجاح قدمت مرونة عالية الأداء الحل لجميع هذه Google والمنتجات.

بعض الميزات

  • سريع للغاية على نطاق واسع DBMS
  • متفرق, توزيع متعدد الأبعاد فرز خريطة تقاسم خصائص كل صف المنحى عمود المنحى قواعد البيانات.
  • مصممة على نطاق واسع في مجموعة بيتابايت
  • يعمل عبر مئات أو آلاف من آلات
  • فمن السهل لإضافة المزيد من الأجهزة إلى النظام تلقائيا تبدأ الاستفادة من تلك الموارد دون أي تغيير
  • كل جدول يحتوي على عدة أبعاد (واحد الذي هو حقل الوقت ، مما يسمح الإصدار)
  • الجداول هي الأمثل GFS (جوجل نظام الملفات) التي يجري تقسيمها إلى عدة أقراص - شرائح من الجدول سبليت على طول صف اختياره مثل أن الجهاز اللوحي سيكون ~200 ميغا بايت في الحجم.

العمارة

BigTable ليست قاعدة البيانات العلائقية.فإنه لا ينضم ولا دعم الغنية مثل SQL الاستعلامات.كل جدول متعدد الأبعاد متفرق الخريطة.الجداول تتكون من صفوف و أعمدة و كل خلية لديها طابع زمني.يمكن أن يكون هناك إصدارات متعددة من زنزانة مع مختلف الطوابع الزمنية.ختم الوقت يسمح لعمليات مثل "select 'n' إصدارات هذه صفحة ويب" أو "حذف الخلايا التي هي أقدم من معين التاريخ/الوقت."

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

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

مواقع Bigtable أقراص يتم تخزينها في الخلايا.البحث من أي قرص يتم التعامل معها من قبل النظام ثلاثة مستويات.العملاء الحصول على نقطة إلى META0 الجدول ، هناك واحد فقط.على META0 الجدول بتتبع العديد من META1 اللوحية التي تحتوي على مواقع أقراص يجري النظر.كل META0 و META1 يجعل الاستخدام المكثف من قبل و جلب التخزين المؤقت للحد من الاختناقات في النظام.

تنفيذ

BigTable بنيت على جوجل نظام الملفات (GFS) ، والذي يستخدم في دعم متجر سجل وملفات البيانات.GFS يوفر موثوق بها تخزين SSTables, جوجل الملكية تنسيق ملف يستخدم تستمر بيانات الجدول.

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

هناك ثلاثة الابتدائي خادم أنواع الفائدة في Bigtable النظام:

  1. الرئيسية خوادم:تعيين أقراص قرص خوادم بتتبع حيث أقراص تقع توزيع المهام حسب الحاجة.
  2. قرص خوادم:التعامل مع قراءة/كتابة طلبات أقراص تقسيم أقراص عندما تتجاوز حدود الحجم (عادة 100MB - 200MB).إذا كان قرص فشل الخادم ، ثم 100 قرص خوادم كل صغيرة 1 اللوحي الجديد ونظام يتعافى.
  3. قفل السيرفرات:حالات من السمين قفل توزيع الخدمة.الكثير من الإجراءات داخل BigTable تتطلب اقتناء أقفال بما في ذلك فتح أقراص الكتابة ، ضمان أنه لا يوجد أكثر من واحد النشط الرئيسي في التحكم في الوصول التحقق.

على سبيل المثال من Google بحث:

alt text

شريحة من مثال على الجدول بتخزين صفحات ويب.الصف الاسم هو عكس URL.محتويات العمود الأسرة يحتوي على محتويات الصفحة, ، مرساة الأسرة العمود يحتوي على النص من أي المراسي التي تشير الصفحة.CNN الصفحة الرئيسية المشار إليه من قبل كل الرياضة المصورة ، بلدي-انظر الصفحات الرئيسية ، لذا الصف يحتوي على أعمدة اسمه anchor:cnnsi.com و anchor:my.look.ca.كل مرساة الخليوي وقد نسخة واحدة;محتويات العمود وقد ثلاثة إصدارات, في الطوابع t3, t5, ، t6.

API

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


هنا رابط PDF البحث.

و هنا يمكنك أن تجد فيديو يظهر جوجل جيف دين في محاضرة في جامعة واشنطن, مناقشة Bigtable محتوى نظام التخزين المستخدمة في جوجل الخلفية.

نصائح أخرى

وهذا شيء ولقد بنيت أنفسهم - انها يسمى BigTable

http://en.wikipedia.org/wiki/BigTable

وهناك ورقة من قبل جوجل على قاعدة البيانات:

http://research.google.com/archive/bigtable.html

المفك عبارة موزعة عالميا نظام إدارة قواعد البيانات العلائقية جوجل (RDBMS)، و خلفا ل جداول كبيرة. جوجل يدعي أنها ليست نظام العلائقية النقي لأنه يجب أن يكون لكل جدول مفتاح أساسي.

هنا وصلة من ورقة.

<اقتباس فقرة>   

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

وقاعدة بيانات أخرى اخترعها غوغل ميغاستور . هنا هو ملخص:

<اقتباس فقرة>   

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

وكما ذكر آخرون، تستخدم Google حل محلية يسمى BigTable وأنها قد أصدرت عدة أوراق واصفا إياه للخروج الى العالم الحقيقي.

واهل أباتشي لها تنفيذ الأفكار التي طرحت في هذه الأوراق دعا HBase . HBase هو جزء من مشروع أكبر Hadoop التي وفقا لموقعهم <م> "هي عبارة عن منصة البرمجيات التي تسمح واحد بسهولة كتابة وتشغيل التطبيقات التي معالجة كميات هائلة من البيانات." بعض المعايير هي رائعا للغاية. موقعهم هو في http://hadoop.apache.org .

وعلى الرغم من أن جوجل تستخدم جداول كبيرة لجميع طلباتهم الرئيسية، فإنها أيضا استخدام الخلية للتطبيقات (ربما صغيرة) الأخرى.

وانها ربما أيضا مفيد أن نعرف أن جداول كبيرة ليس قاعدة بيانات علائقية (مثل الخلية) ولكن ضخمة (توزيع) <وأ href = "http://en.wikipedia.org/wiki/Hash_table" يختلط = "noreferrer "> جدول التجزئة التي لها خصائص مختلفة جدا. يمكنك لعب مع حولها (نسخة محدودة) من جداول كبيرة نفسك على منصة جوجل إلى AppEngine .

وبجانب Hadoop المذكورة أعلاه أن هناك العديد من تطبيقات أخرى محاولة حل المشاكل نفسها التي جداول كبيرة (التدرجية، وتوافر). رأيت بلوق وظيفة لطيفة أمس إدراج معظمهم <لأ href = "http://www.metabrew.com/article/anti-rdbms-a-list-of-distributed-key-value-stores/" يختلط = " noreferrer "> هنا .

وجوجل يستخدم في المقام الأول جداول كبيرة.

وجداول كبيرة هو نظام تخزين وزعت لإدارة البيانات المهيكلة التي تم تصميمها لتوسيع نطاق إلى حجم كبير جدا.

لمزيد من المعلومات، تحميل المستند من هنا .

وتستخدم Google أيضا قواعد بيانات أوراكل و MySQL لبعض تطبيقاتها.

وأي مزيد من المعلومات يمكنك إضافة هو محل تقدير كبير.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top