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

لذلك ببساطة، تعد البيانات هي المعلومات المخزنة على نظام الكمبيوتر والتي يمكن استخدامها من قبل التطبيق كلما دعت الحاجة.

تخزين البيانات على موقع الويب ثم قواعد البيانات

عندما يتعلق الأمر بالبيانات التي يتم نقلها عبر الإنترنت، يتم تخزينها على خادم الويب الخاص بالموقع. من الخادم، ثم يتم تخزينها في قاعدة بيانات.

قاعدة البيانات هي مجموعة منظمة من البيانات التي يمكن الوصول إليها وإدارتها وتحديثها بسهولة.

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

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

إذا كنت بصدد إنشاء تطبيق أعمال، فعليك توقع مثل هذه الكميات الكبيرة من البيانات والتعامل معها، فاختيار قاعدة البيانات أمر في غاية الأهمية.

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

ثانياً، إذا قمت بإضافة عناصر معينة إلى سلة التسوق الخاصة بك أو تتصفحها، ستلاحظ خيار “اشترى في كثير من الأحيان جنبا إلى جنب”.

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

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

أنواع قواعد البيانات

قاعدة البيانات هي مجموعة من البيانات التي يمكن الوصول إليها بسهولة وإدارتها وتحديثها وحذفها. هناك العديد من أنواع قواعد البيانات، ومع ذلك، يمكن تصنيف قواعد البيانات على نطاق واسع في الأنواع الأربعة التالية:

  • OODB أو قاعدة بيانات كائنية التوجه
  • RDB أو قاعدة البيانات العلائقية
  • NoSQL (ليس فقط SQL)
  • NewSQL (فئة من RDBMS)

من أجل البساطة من هذه 4، سوف نختار اثنين من نماذج قاعدة البيانات الشعبية بمعنى. قاعدة البيانات العلائقية و NoSQL.

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

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

بعض قواعد البيانات العلائقية الشائعة الاستخدام هي MySQL و Oracle و Microsoft SQL Server و SQLite، إلخ.

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

لماذا يجب عليك التبديل إلى NoSQL

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

وفقًا لـ Domo، فإن النظام الأساسي الذي يسلط الضوء على البيانات من حيث حجمها وسرعتها وتنوعها منذ عام 2013، شهد ارتفاعًا حادًا في نسبة مستخدمي الإنترنت والبيانات التي يتم إنشاؤها كل دقيقة! في تقريرها السابع على التوالي، وصل الإنترنت إلى 56.1٪ من إجمالي سكان العالم، ويمثل الآن 4.3 مليار شخص، وهي زيادة بنسبة 9٪ عن يناير 2018. وبقدر ما يذهب الاتجاه، لن يكون هناك منحنى سلبي في الرسم البياني لفترة طويلة.

يمكن أن تعزى هذه الزيادة إلى زيادة الوصول إلى وسائل التواصل الاجتماعي وخدمات الإنترنت الشهيرة مثل يوتيوب ونيتفليكس وما إلى ذلك وأجهزة استشعار مترابطة – وهي بناء إنترنت الأساسية.

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

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

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

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

  1. للتحجيم للغاية
  2. قادرة على التعامل مع كميات كبيرة من البيانات – الهياكل، وشبه منظم
  3. مخطط أقل
  4. التكرار السريع

أنواع قواعد بيانات NoSQL

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

هناك أربعة أنواع من قواعد بيانات NoSQL بمعنى. مفتاح القيمة، وثيقة، العمود، الرسم البياني.

مفتاح القيمة

في نوع قاعدة البيانات ذات مفتاح القيمة، يتم تخزين البيانات في شكل أزواج للمفتاح / القيمة في جدول تجزئة حيث يتم إنشاء المفتاح تلقائيًا وفريد ​​من نوعه، في حين أن القيمة يمكن أن تكون أي شيء، على سبيل المثال، سلسلة، JSON ،BLOB إلخ. يستخدم هذا النوع من قواعد البيانات عادةً كمعاجم أو مجموعات.

أين يمكنك استخدامها؟ هذا النوع من قواعد البيانات هو الأفضل لمواقع التجارة الإلكترونية أو سلة التسوق.

مثال: Riak و DynamoDB من Amazon هما قواعد بيانات NoSQL ذات القيمة الأساسية الشائعة.

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

أين يمكنك استخدامها؟ يستخدم هذا النوع من قواعد البيانات في الغالب لأنظمة المدونات أو CMS أو تطبيقات التجارة الإلكترونية أو تحليلات الوقت الفعلي، إلخ.

أمثلة: يعد MongoDB و CouchBase من قواعد بيانات NoSQL الشائعة المستندة إلى المستندات.

الأعمدة

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

أين يمكنك استخدامها؟ عادة ما تستخدم قواعد البيانات المستندة إلى الأعمدة لإدارة مستودعات البيانات، ادارة علاقات العملاء، ذكاء الأعمال، إلخ.

أمثلة: Google BigTable و HBase & Cassandra التي كانت مستوحاة من BigTable هي بعض من قواعد بيانات الأعمدة المعروفة على نطاق واسع. تم تطوير Cassandra في الأصل لحل احتياجات مشكلة البحث في علبة الوارد على الفيس بوك.

رسم بياني

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

على سبيل المثال ، بالإشارة إلى هذا المخطط ، يتم تخزين الكائن / البيانات كـ “عقدة” مع “العلاقة” كحواف. تقوم الحافة بتأسيس علاقة بين العقد ، وكل عقدة وحافة لها علاقة

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

أمثلة: Neo4J ، Infinite Graph ، OrientDB هي بعض قواعد البيانات الشائعة المستندة إلى الرسم البياني.

كيف يساعد عملك؟

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

على سبيل المثال، يمكن أن يكون أيضًا مزيجًا من استخدام MySQL (نظام RDBMS) لعملية معينة لأنه الأفضل لهذا واستخدام MongoDB في عملية أخرى.

في النهاية، ما يهم حقًا هو مقدار بياناتك وأفضل طريقة للتفكير هي التعامل معها!