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

نشرت: 2022-12-14

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

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

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

ما هي العمارة التي يتبعها Nosql؟

ما هي العمارة التي يتبعها Nosql؟
مصدر الصورة - slidesharecdn

الخاصية هي إحدى الميزات العديدة لقواعد بيانات NoSQL. على عكس ACID ، وهي مجموعة من الخصائص ، فهذه مجموعة من القواعد والإرشادات. يعد التوافر الأساسي لمكتبة الإسكندرية وحالة S-soft واتساق E-even كلها مؤشرات على تناسق E-even. على عكس قاعدة البيانات المهيكلة ، التي تخزن البيانات بتنسيق معين ، يتم تخزين البيانات في قاعدة بيانات NoSQL بتنسيق Key-value.

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

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

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


ما هي بنية قاعدة بيانات Nosql؟

ما هي بنية قاعدة بيانات Nosql؟
مصدر الصورة - slidesharecdn

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

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

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

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

يمكن أن يكون حل التعارض المستند إلى حل تعارض نمط التحكم في التوافق متعدد الإصدارات (MVCC) ، مثل ذلك الموجود في CouchDB ، ساذجًا. يمكن استخدام Persevere 2.0 لتحديد نموذج بيانات وربط المنتجات بمصنعيها. لقد قمنا بتنفيذ نموذج MVC بالكامل. نتيجة لذلك ، أعتقد أنه يجب إعادة رسملة هذا النوع من طبقة واجهة المستخدم كـ mVC ، والذي ينقل التركيز على مخاوف نمذجة البيانات في منطق واجهة المستخدم.

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

ما هي Schemaless لماذا تتبع Nosql هندسة Schemaless؟

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

انتشر مصطلح قواعد بيانات "مخطط أقل" مؤخرًا في صناعة تكنولوجيا المعلومات. بدلاً من وضع قواعد البيانات غير المخططة في أيدي المطورين ، فقد حان الوقت لنقلهم إلى السوق المفتوحة. عندما يتم تخزين البيانات في قاعدة بيانات غير مخطط لها ، يتم تخزينها كزوج مفتاح / قيمة (يُعرف أيضًا باسم KV) أو مستند JSON. يمكن أن يكون لقاعدة البيانات المخطط لها ، على عكس الصف الموجود في قاعدة البيانات العلائقية ، القدرة على تغيير حالة صف الحساب تمامًا. كل ما هو مطلوب لتحديد كيفية تجميع الكيانات هو سمة واحدة للكيان. يتم حذف غالبية هذا النشاط تمامًا من قواعد البيانات التي لا تحتوي على مخططات. هذه ضربة خطيرة لمؤسسة يعتمد بقاؤها بشدة على بياناتها.

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

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

أي مما يلي هو أبسط هندسة نصية؟

هناك العديد من أنواع بنى NoSQL المختلفة ، ولكل منها مزاياها وعيوبها. أبسط بنية NoSQL هي مخزن القيمة الرئيسية ، وهو نوع أساسي جدًا من قاعدة بيانات NoSQL. مخازن القيمة الرئيسية سريعة جدًا وقابلة للتطوير ، لكنها ليست مرنة جدًا ولا تدعم الاستعلامات المعقدة.

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

لم يتم تعريف نمذجة البيانات في NoSQL بالمعنى التقليدي. يتم تخزين البيانات بتنسيق JSON كجزء من قاعدة بيانات موجهة للمستندات. لم تعد أطر عمل إدارة الموارد البشرية ضرورية ، وتم تبسيط عملية التطوير. تم تقديم N1QL (تُنطق بالنيكل) ، وهي لغة استعلام قوية توسع SQL إلى JSON ، في Couchbase Server 4.0. كما أنه يدعم المصفوفة (GROUP BY) والفرز (SORT BY) والصلات (LEFT OUTER / INNER) وغير ذلك من عبارات SELECT / FROM / WHERE. تتعدد فوائد قواعد بيانات NoSQL الموزعة ، بما في ذلك استخدام بنية قابلة للتوسيع وعدم وجود نقطة فشل واحدة. أصبحت القدرة على تقديم خدمة سريعة وفعالة ذات أهمية متزايدة حيث يتم التعامل مع المزيد من تفاعلات العملاء عبر الإنترنت عبر تطبيقات الجوال والويب.

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

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

Nosql مقدمة

Nosql هي قاعدة بيانات تخزن البيانات بتنسيق غير التنسيق العلائقي التقليدي . بينما يمكن أن تتخذ قواعد بيانات nosql العديد من الأشكال المختلفة ، إلا أنها تشترك جميعًا في خاصية مشتركة تتمثل في كونها قابلة للتطوير وسهلة الاستخدام.

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

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