Skip to main content

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

ما هي قواعد بيانات NOSQL ؟ (سنابشات) (أبريل 2024)

ما هي قواعد بيانات NOSQL ؟ (سنابشات) (أبريل 2024)
Anonim

وقد صاغ اختصار 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. والفكرة الرئيسية هي وجود جدول تجزئة حيث يوجد مفتاح فريد ومؤشر إلى عنصر معين من البيانات. عادة ما تكون هذه التعيينات مصحوبة بآليات ذاكرة التخزين المؤقت لتحقيق أقصى قدر من الأداء.
    1. مخازن الأسرة العمود تم إنشاء لتخزين ومعالجة كميات كبيرة جدًا من البيانات الموزعة على العديد من الأجهزة. لا تزال هناك مفاتيح لكنها تشير إلى أعمدة متعددة. في حالة BigTable (نموذج ColN Family NoSQL من Google) ، يتم تحديد الصفوف بواسطة مفتاح صف مع البيانات التي تم فرزها وتخزينها بواسطة هذا المفتاح. يتم ترتيب الأعمدة حسب عائلة الأعمدة.
  2. قاعدة بيانات الوثائقs مستوحاة من Lotus Notes وهي تشبه مخازن القيمة الرئيسية. النموذج عبارة عن وثائق ذات إصدارات أساسية ، وهي مجموعات من مجموعات أخرى ذات قيمة رئيسية. يتم تخزين المستندات شبه المنظمة بتنسيقات مثل JSON.
  3. قاعدة بيانات الرسم البيانيبنيت مع العقد ، والعلاقات بين الملاحظات وخصائص العقد. بدلاً من جداول الصفوف والأعمدة والبنية الصلبة لـ SQL ، يتم استخدام نموذج الرسم البياني المرن الذي يمكن أن يتوسع عبر العديد من الأجهزة.

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

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

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

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

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

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

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

مستقبل NoSQL

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