لمحة سريعة عن عالم قواعد البيانات

رجال أعمال في مكتب

نظرة متعمقة على عالم قواعد البيانات من خلال التراخيص ونمذجة البيانات.

إذا كنت بدأت للتو في استكشاف عالم قواعد البيانات، فمن المحتمل أنك تعرف شيئين بالفعل - أن استخدام البيانات بفاعلية يُعَد أمرًا مُجزيًا، وأن اختيار قاعدة البيانات المناسبة لإدارة تلك البيانات قد يكون أمرًا مربكًا. 

لا شك أن قدرة البيانات على زيادة الإيرادات الإجمالية في ارتفاع مستمر. إذ يمكنها تحسين تجارب المستخدمين ودعم التعلم الآلي. لكن هذا يعني وجود مئات من المزوِّدين يتنافسون لتخزين البيانات وتحليلها نيابةً عنك. ما الطريقة المُثلى للاختيار؟ حسنًا، كما هو الحال في معظم أمور الحياة، المعرفة هي القوة.

اطَّلِع على هذه النظرة العامة حول عالم قواعد البيانات، مع التركيز على كيفية وضعها في سياق الأعمال. سنبدأ ببحث متعمق في الترخيص ونمذجة البيانات.

 

كل ما تحتاج معرفته عن تراخيص البرمجيات - بشكل مبسَّط

تراخيص البرمجيات، باختصار، معقدة للغاية. ليست فقط حقوق الملكية الفكرية (ولذلك أقترح مراجعة كتاب Besen وRaskind: ‏"An Introduction to the Law and Economics of Intellectual Property" وكتاب Rosen "Open Source Licensing: Software Freedom and Intellectual Property Law")، بل بشكل خاص السبب وراء أهمية الترخيص بالنسبة لك، والتوجهات في بيئة قواعد البيانات مفتوحة المصدر التي قد تؤثِّر في عملك.

هل أنت مستعد؟

أولًا، دعنا نتحدث عن التراخيص

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

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

دعنا نستكشف مساحة المشكلة هذه أكثر قليلًا

أولئك الذين يرتادون Hacker News أو TechCrunch لن يكونوا غرباء عن النقاشات المتعلقة بالبرمجيات مفتوحة المصدر وبرمجيات قواعد البيانات التجارية. خلاصة الأمر: خلال السنوات الثلاث الماضية، اندلع جدل نتيجة تلاقي عدة عوامل، مثل نمو كبار مزوِّدي السحابة العامة ونجاح أو فشل مقدِّمي قواعد البيانات الذين يركِّزون على المصادر المفتوحة في السوق.

ومع ذلك، العلاقة بين البرمجيات المجانية والبرمجيات الخاصة ليست علاقة ثنائية؛ فهي، بكل تأكيد، تمثِّل طيفًا واسعًا:

ملاحظة: المسافة الموضّحة ليست علمية، ما يهم هو النسبية.

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

  • دعم على مستوى الكود

  • منظومة متكاملة وقوية من الأدوات

  • خدمات واستشارات احترافية

  • الرؤية والتأثير في خارطة الطريق لقاعدة البيانات هذه

على الجهة اليمنى، توجد البرمجيات المتاحة في الملكية العامة. هذه البرمجيات غير محمية بأي حقوق نشر، ما يعني أنه يمكن تعديلها أو توزيعها أو بيعها دون أي قيود. المشروعات القريبة من الطرف الأيمن من الطيف غالبًا ما تُدار وفق معايير طرف ثالث محايد وموضوعي، مثل Apache Software Foundation أو Linux Foundation.

تحتفظ مبادرة المصدر المفتوح (OSI) بقائمة معتمدة عمومًا تحدِّد ما هو ترخيص مفتوح المصدر وما ليس بذلك. بشكل عام، تُعرَف البرمجيات مفتوحة المصدر بقدرتها على "تفرّع الكود". وهذا يعني أنه إذا كان اتجاه المشروع (البرمجيات) لا يتوافق مع احتياجاتك أو رغباتك، يمكنك تعديل الكود كما تراه مناسبًا.

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

عند متابعة المسار على الرسم البياني أعلاه من اليسار إلى اليمين، نجد مستويات متفاوتة من السماح في التراخيص مثل Apache 2.0 وMPL وGPL 3.0.

أمثلة على قواعد البيانات المرتبطة بالتراخيص

لمحة تاريخية للسياق

في أواخر العقد الأول من القرن الحالي، كان معظم مزوِّدي قواعد البيانات الناشئين يتجهون إلى السوق مع اعتماد استراتيجية "المصدر المفتوح" للحصول على اعتماد سريع وحصة من اهتمام المطورين. ربما تعرف بعض الشركات في هذا المجال، مثل Mongo Inc.‎ وRedis Labs وElastic. تمكَّنت هذه الشركات من تطوير مشروعات مجتمعية مثل MongoDB وRedis وElasticsearch، لكنها سَعت إلى تحقيق عائد من هذا الاستثمار من خلال نسخ Enterprise License أو تطبيقات سحابية مُدارة أو خدمات احترافية.

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

في السنوات الأخيرة، أعادت الشركات تقييم استراتيجية الوصول إلى السوق. والآن، نرى الشركات تعتمد نماذج تراخيص تحمي استثماراتها في التطوير. على سبيل المثال، غيَّرت كلٌّ من MongoDB وRedis Labs وConfluent، بدرجات متفاوتة من الصرامة، تراخيص أجزاء من الكود لمنع الشركات الأخرى من تقديمها كخدمة دون تعويض.

"إذن، جوش، ما نصيحتك؟" سؤال رائع.

لنكن صرحاء، هناك أسباب وجيهة لاستخدام قواعد البيانات التجارية و/أو مفتوحة المصدر. الأهم هو أن تكون على دراية بما تدخل فيه أنت وشركتك. راجِع الترخيص قبل بناء التطبيق لضمان امتثال مشروعك، وإذا كنت تبحث عن اختيار ترخيص لمشروع مفتوح المصدر، اطَّلِع على صفحة GitHub "Choose a License".
لذلك، أحد الاعتبارات المهمة هو التراخيص، فليس هناك من يريد التعرّض لدعاوى قانونية. الجانب الآخر يتعلق بعائلات نماذج البيانات، لكن لسبب مختلف. عند بناء تطبيق، فإن معرفتك بأنواع نماذج البيانات ستساعدك على اختيار الأداة المناسبة للمهمة.

عائلات نماذج البيانات: الخمسة المميزون

بعد أن أصبحت مُلمًا بالتراخيص، لننتقل للحديث عن اعتبار حاسم آخر عند اختيار قاعدة البيانات: نماذج البيانات.

عندما بدأت عملي في IBM، كان عليّ الاطِّلاع بسرعة، لذا لجأت إلى كتاب NoSQL Distilled من تأليف Martin Fowler.

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

1. القائمة على المستندات

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

حالات استخدام الأعمال:

  • تطبيقات الأجهزة المحمولة التي تتطلب تكرارات سريعة.

  • تسجيل الأحداث والتسوق عبر الإنترنت وإدارة المحتوى والمعالجة التحليلية المتعمقة.

  • كتالوجات البيع بالتجزئة مع سمات المنتجات.

أمثلة على ذلك:

2. القيمة والمفتاح 

يمثِّل هذا النوع من النماذج أبسط أنواع قواعد البيانات غير العلائقية، حيث يتم تخزين كل عنصر في قاعدة البيانات كاسم سمة (يطلق عليه مفتاح) مع القيمة المقابلة له.

حالات استخدام الأعمال:

  • مخازن تفضيلات المستخدم وملفاته الشخصية

  • توصيات المنتج بناءً على بيانات التصفح

  • عربات التسوق

أمثلة على ذلك:

  • DynamoDB

  • Redis

  • etcd

3. الرسم البياني

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

حالات استخدام الأعمال:

  • الكشف عن الغش

  • محركات التوصية في الوقت الفعلي

  • إدارة البيانات الرئيسية

  • عمليات الشبكات وتكنولوجيا المعلومات

  • إدارة الهوية والوصول

أمثلة على ذلك:

4. العلائقية 

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

حالات استخدام الأعمال:

  • التجارة الإلكترونية

  • تخطيط الموارد في المؤسسة

  • إدارة علاقات العملاء

أمثلة على ذلك:

5. عمودية واسعة

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

حالات استخدام الأعمال:

  • تحليلات الأمن وسوق الأسهم

  • تحليلات تدفق النقرات

  • إنترنت الأشياء (IOT) والقياس عن بُعد

أمثلة على ذلك:

  • Apache Cassandra

  • DataStax Enterprise

  • Google Cloud BigTable

الخلاصة هي أن لكل نموذج بيانات رئيسي مزايا وعيوبًا (ولم نتناول سوى القليل من التفاصيل هنا). لكن في حال وجود شك، اختَر قاعدة بيانات مجرّبة وشائعة مثل PostgreSQL. لمعرفة المزيد عن نماذج البيانات وفئاتها، اطَّلِع على كتاب Martin Fowler NoSQL Distilled، خاصةً الفصول من 8 إلى 11.

هل أنت مستعد لمعرفة المزيد عن قواعد البيانات؟

لحظة! لقد غطيت جزءًا من الموضوع هنا، ولكن إذا كنت متحمسًا لمعرفة المزيد، فإليك بعض الاقتراحات حسب مدة الاستثمار الزمني:

هل تتطلع إلى البناء؟ توفِّر IBM Cloud مجموعة واسعة من خدمات قواعد البيانات المُدارة لمساعدة فريقك على الانطلاق بسرعة.

مؤلف

Josh Mintz

Program Director