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

جدول المحتويات:

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

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

Image
Image

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

تخزين البيانات:يتم قياس البيانات الرقمية المخزنة في العالم بالإكسابايت.يساوي إكسابايت مليار جيجا بايت من البيانات. وفقًا لموقع 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. متاجر القيم الأساسيةتعتمد بشكل أساسي على ورق Dynamo Paper الخاص بأمازون والذي تمت كتابته في عام 2007.الفكرة الرئيسية هي وجود جدول تجزئة حيث يوجد مفتاح فريد ومؤشر لعنصر معين من البيانات. عادة ما تكون هذه التعيينات مصحوبة بآليات ذاكرة التخزين المؤقت لزيادة الأداء.
  2. تم إنشاء Column Family Storesلتخزين ومعالجة كميات كبيرة جدًا من البيانات الموزعة على العديد من الأجهزة. لا تزال هناك مفاتيح لكنها تشير إلى عدة أعمدة. في حالة BigTable (نموذج Google Column Family NoSQL) ، يتم تحديد الصفوف بواسطة مفتاح صف مع فرز البيانات وتخزينها بواسطة هذا المفتاح. الأعمدة مرتبة حسب عائلة الأعمدة.

  3. قواعد بيانات المستنداتمستوحاة من Lotus Notes وهي تشبه مخازن القيمة الرئيسية. النموذج عبارة عن مستندات ذات إصدار أساسي وهي عبارة عن مجموعات من مجموعات القيمة الرئيسية الأخرى. يتم تخزين المستندات شبه المهيكلة بتنسيقات مثل JSON.
  4. قاعدة بيانات الرسم البيانيs مبنية على العقد والعلاقات بين الملاحظات وخصائص العقد. بدلاً من جداول الصفوف والأعمدة والهيكل الجامد لـ SQL ، يتم استخدام نموذج رسم بياني مرن يمكن توسيعه عبر العديد من الأجهزة.

كبار لاعبي NoSQL

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

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

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

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

SELECT؟ url

FROM

WHERE {

؟ Contributor foaf: name "Jon Foobar".

؟ Contributor foaf: weblog؟ url.

}

مستقبل NoSQL

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

موصى به: