نظرة عامة على NoSQL

click fraud protection

تمت صياغة اختصار NoSQL في عام 1998. يعتقد الكثير من الناس أن NoSQL هو مصطلح ازدرائي تم إنشاؤه لكز SQL. في الواقع ، المصطلح لا يعني فقط SQL. الفكرة هي أن كلا التقنيتين يمكن أن يتعايشا ولكل منهما مكانه. كانت حركة NoSQL في الأخبار في السنوات القليلة الماضية حيث اعتمد العديد من قادة Web 2.0 تقنية NoSQL. تستخدم شركات مثل Facebook و Twitter و Digg و Amazon و LinkedIn و Google NoSQL بطريقة أو بأخرى. دعنا نقسم NoSQL حتى تتمكن من شرحها لرئيس قسم المعلومات أو حتى زملائك في العمل.

قاعدة بيانات MYSQL.

انبثقت NoSQL من الحاجة

مخزن البيانات: يتم قياس البيانات الرقمية المخزنة في العالم بوحدة إكسابايت. يساوي إكسابايت مليار جيجا بايت من البيانات. وفق Internet.com، بلغ حجم البيانات المخزنة المضافة في عام 2006 161 إكسابايت. بعد 4 سنوات فقط في عام 2010 ، سيكون مقدار البيانات المخزنة ما يقرب من 1،000 ExaBytes وهو ما يمثل زيادة تزيد عن 500٪. بمعنى آخر ، هناك الكثير من البيانات المخزنة في العالم وستستمر في النمو.

البيانات المترابطة: تستمر البيانات في أن تصبح أكثر ارتباطًا. يتم تعزيز إنشاء الويب في الارتباطات التشعبية ، وتحتوي المدونات على pingbacks وكل نظام شبكة اجتماعية رئيسي يحتوي على علامات تربط الأشياء معًا. الأنظمة الرئيسية مبنية لتكون مترابطة.

بنية البيانات المعقدة: يمكن لـ NoSQL التعامل مع هياكل البيانات المتداخلة الهرمية بسهولة. لإنجاز نفس الشيء في SQL ، ستحتاج إلى جداول علائقية متعددة بكل أنواع المفاتيح. بالإضافة إلى ذلك ، هناك علاقة بين الأداء وتعقيد البيانات. يمكن أن يتدهور الأداء في أنظمة RDBMS التقليدية حيث نقوم بتخزين كميات هائلة من البيانات المطلوبة في تطبيقات الشبكات الاجتماعية و الويب الدلالي.

ما هو NoSQL؟

أعتقد أن إحدى الطرق لتعريف NoSQL هي النظر إلى ما هو ليس كذلك. إنها ليست SQL وليست علائقية. كما يوحي الاسم ، فهو ليس بديلاً عن RDBMS ولكنه يكمله. تم تصميم NoSQL لمخازن البيانات الموزعة لتلبية احتياجات البيانات على نطاق واسع جدًا. فكر في Facebook مع 500 مليون مستخدم أو Twitter الذي يجمع تيرابت من البيانات كل يوم.

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

فئات NoSQL

عالم NoSQL الحالي يناسب 4 فئات أساسية.

  1. متاجر القيم الأساسية تستند في المقام الأول على ورق دينامو أمازون الذي كتب في عام 2007. الفكرة الرئيسية هي وجود جدول تجزئة حيث يوجد مفتاح فريد ومؤشر لعنصر معين من البيانات. عادة ما تكون هذه التعيينات مصحوبة بآليات ذاكرة التخزين المؤقت لزيادة الأداء.
    1. عمود فاميلي ستورز تم إنشاؤها لتخزين ومعالجة كميات كبيرة جدًا من البيانات الموزعة على العديد من الأجهزة. لا تزال هناك مفاتيح لكنها تشير إلى عدة أعمدة. في حالة BigTable (نموذج Google Column Family NoSQL) ، يتم تحديد الصفوف بواسطة مفتاح صف مع فرز البيانات وتخزينها بواسطة هذا المفتاح. الأعمدة مرتبة حسب عائلة الأعمدة.
  2. قواعد بيانات الوثيقة مستوحاة من ملاحظات لوتس وتشبه متاجر القيمة الرئيسية. النموذج عبارة عن مستندات ذات إصدار أساسي وهي عبارة عن مجموعات من مجموعات القيمة الرئيسية الأخرى. يتم تخزين المستندات شبه المهيكلة بتنسيقات مثل JSON.
  3. قاعدة بيانات الرسم البيانيs مبنية مع العقد والعلاقات بين الملاحظات وخصائص العقد. بدلاً من جداول الصفوف والأعمدة والهيكل الصلب لـ SQL ، يتم استخدام نموذج رسم بياني مرن يمكن توسيعه عبر العديد من الأجهزة.

لاعبي NoSQL الرئيسيين

ظهر اللاعبون الرئيسيون في NoSQL بشكل أساسي بسبب المنظمات التي تبنتها. تتضمن بعض أكبر تقنيات NoSQL ما يلي:

  • دينامو: تم إنشاء Dynamo بواسطة Amazon.com وهو أبرز قاعدة بيانات NoSQL ذات قيمة رئيسية. كانت أمازون في حاجة إلى منصة موزعة قابلة للتطوير بدرجة كبيرة لأعمال التجارة الإلكترونية الخاصة بها ، لذا قاموا بتطوير Dynamo. تستخدم Amazon S3 Dynamo كآلية تخزين.
  • كاساندرا:كاساندرا تم فتحه بواسطة Facebook وهي قاعدة بيانات NoSQL موجهة نحو الأعمدة.
  • طاولة كبيرة: BigTable هي قاعدة بيانات موجهة نحو العمود مملوكة لشركة Google. تسمح Google باستخدام BigTable ولكن فقط لمحرك تطبيقات Google.
  • SimpleDB: SimpleDB هي قاعدة بيانات أمازون أخرى. تُستخدم في Amazon EC2 و S3 ، وهي جزء من Amazon Web Services التي تفرض رسومًا حسب الاستخدام.
  • CouchDB:CouchDB جنبا إلى جنب مع MongoDB قواعد بيانات NoSQL مفتوحة المصدر موجهة نحو المستندات.
  • Neo4J:Neo4j هي قاعدة بيانات الرسم البياني مفتوحة المصدر.

الاستعلام عن NoSQL

إن السؤال عن كيفية الاستعلام عن قاعدة بيانات NoSQL هو ما يهتم به معظم المطورين. بعد كل شيء ، البيانات المخزنة في قاعدة بيانات ضخمة لا تفيد أي شخص إذا لم تتمكن من استردادها وإظهارها للمستخدمين النهائيين أو خدمات الويب. لا توفر قواعد بيانات NoSQL لغة استعلام تعريفية عالية المستوى مثل SQL. بدلاً من ذلك ، يكون الاستعلام عن قواعد البيانات هذه خاصًا بنموذج البيانات.

تسمح العديد من أنظمة NoSQL لواجهات RESTful للبيانات. واجهات برمجة تطبيقات أخرى لاستعلام العرض. هناك عدد من أدوات الاستعلام التي تم تطويرها والتي تحاول الاستعلام عن عدة قواعد بيانات NoSQL. تعمل هذه الأدوات عادةً عبر فئة NoSQL واحدة. أحد الأمثلة على ذلك هو سباركل. سباركل هي مواصفة استعلام تعريفية مصممة لقواعد بيانات الرسم البياني. فيما يلي مثال على استعلام سباركل الذي يسترد عنوان URL لمدون معين (من باب المجاملة آي بي إم):

الرغوة الجاهزة: 
حدد؟ url
من عند
أين {
؟ مساهم foaf: اسم "جون فوبار".
؟ مساهم foaf: مدونة؟ url.
}

مستقبل NoSQL

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