نظرة عامة على قواعد بيانات NoSQL

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

دعونا نفكك NoSQL حتى تتمكن من شرحها إلى CIO الخاص بك أو حتى زملائك في العمل.

NoSQL الناشئة من الحاجة

تخزين البيانات: يتم قياس البيانات الرقمية المخزنة في العالم بالميكا بايت. يساوي exabyte مليار بايت من البيانات (GB). وفقًا لموقع Internet.com ، كانت كمية البيانات المخزنة التي تمت إضافتها عام 2006 هي 161 غيغا بايت. بعد 4 سنوات فقط في عام 2010 ، سيكون حجم البيانات المخزنة حوالي 1000 ExaBytes وهو ما يزيد عن 500 ٪. بعبارة أخرى ، هناك الكثير من البيانات التي يتم تخزينها في العالم وستستمر فقط في النمو.

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

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

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

ما هو NoSQL؟

أعتقد أن إحدى الطرق لتعريف NoSQL هي اعتبار ما ليس كذلك.

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

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

NoSQL فئات

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

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

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

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

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

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

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

PREFIX foaf:
SELECT؟ url
من
أين {
المساهم foaf: الاسم "Jon Foobar".
؟ مساهم foaf: weblog؟ url.
}

مستقبل NoSQL

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