ما هو مثال قاعدة البيانات غير العلائقية؟أين/كيف يتم استخدامها؟

StackOverflow https://stackoverflow.com/questions/202819

  •  03-07-2019
  •  | 
  •  

سؤال

لقد كنت أعمل مع قواعد البيانات العلائقية لبعض الوقت، ولكن خطر لي مؤخرًا أنه لا بد من وجود أنواع أخرى من قواعد البيانات عدم- علائقية.

ما هي بعض الأمثلة على قواعد البيانات غير العلائقية، وأين/كيف يتم استخدامها في العالم الحقيقي؟لماذا تختار استخدام قاعدة بيانات غير علائقية بدلاً من قواعد البيانات العلائقية؟

يحرر:تم ذكر سؤالين آخرين مماثلين في الإجابات:

هل كانت مفيدة؟

المحلول

  • ملف ثابت
    • CSV أو غيرها من البيانات المحددة
    • جداول البيانات
    • /etc/passwd
    • ملفات البريد mbox
  • الهرمية
    • سجل ويندوز
    • التخريب باستخدام نظام الملفات، FSFS، بدلاً من Berkley DB

نصائح أخرى

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

في الأساس، تسمح لك قاعدة البيانات الترابطية بتخزين المعلومات بنفس الطريقة التي تفعلها أدمغتنا:كالأشياء والارتباطات بين تلك الأشياء.يأتي اسم "الجمل" من الطريقة التي يمكن بها تمثيل هذه المعلومات في ملف فاعل فعل مفعول به بناء الجملة:

  • توم هو شقيق ل لورا
  • سان فرانسيسكو يقع في كاليفورنيا
  • مايك لديه حد ائتماني قدره $10,000

يمكن أن تكون الجملة موضوعًا أو مفعولًا به في جملة أخرى:

  • (باص 570 يصل إلى 8:15 صباحًا) على أيام الأحد
  • ماري يقول (الفطيرة تم خبزه بواسطة ويليام)

لذلك، كل شيء يمكن غليه جهات و ذات الصلة.

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

"النموذج النقابي للبيانات" هو كتاب متوفر بصيغة PDF من تأليف سيمون ويليامز، أحد مبدعي كتاب الجمل.

قاعدة البيانات غير العلائقية الموجهة للمستندات التي كنا نبحث عنها هي أباتشي كاوتش دي بي.

Apache CouchDB عبارة عن قاعدة بيانات موجهة نحو المستندات موزعة ومتسامحة مع الأخطاء وخالية من المخططات ويمكن الوصول إليها عبر RESTful HTTP/JSON API.ومن بين الميزات الأخرى، فإنه يوفر نسخًا متماثلًا قويًا ومتزايدًا مع اكتشاف التعارض ثنائي الاتجاه وحله، كما أنه قابل للاستعلام والفهرسة باستخدام محرك عرض موجه نحو الجدول مع JavaScript يعمل كلغة تعريف العرض الافتراضية.

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

أي قاعدة بيانات تدعي أنها "قاعدة بيانات نمط بيركلي" أو قاعدة بيانات "المفتاح/القيمة" ليست علائقية.

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

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

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

إذا كنت بحاجة إلى سحب البيانات من مصدرين، فسيتعين عليك ضم المجموعة الناتجة معًا يدويًا.

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

الملفات المسطحة مملة بطبيعتها، ولكن قاعدة البيانات الهرمية أقل من ذلك بكثير، لا سيما أنه تم تنفيذ DB2 فعليًا فوق التنفيذ الهرمي (أي VSAM) في المقام الأول.أعتقد أن VSAM لا يزال موجودًا في أنظمة الحواسيب المركزية وله أهمية كبيرة.

DB/1 (غامضة للغاية الآن ولا يمكنني حتى العثور على رابط ويكيبيديا) كانت قاعدة بيانات وقت الذروة السابقة لشركة IBM إلى DB2 (ومن هنا الاسم).كان هذا تسلسلًا هرميًا - في الأساس كان لديك ملف يتكون من أي رقم أو سجلات "جذر"، ويمكن الوصول إليها بشكل عام عن طريق مفتاح.يمكن أن يحتوي كل سجل جذر بعد ذلك على أي عدد من السجلات الفرعية خارجه، ويمكن أن يكون لكل منها بدوره سجلات فرعية خاصة به.التأثير الصافي هو ملف فهرس أو سجلات جذر حيث يكون كل جذر أعلى بنية محتملة تشبه الشجرة.قد يكون الوصول إلى سجلات الأطفال أمرًا صعبًا - حيث كانت هناك قيود على الوصول المباشر، لذا عادةً ما ينتهي بك الأمر إلى اجتياز الشجرة بحثًا عن السجل الذي تحتاجه.يمكن أن تحتوي "قاعدة البيانات" على أي عدد من هذه الملفات، وعادة ما تكون مرتبطة بالمفاتيح.

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

مخزن بيانات محرك تطبيقات جوجل :

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

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

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

هناك نوعان آخران من قواعد البيانات لم يتم طرحهما بعد:

  1. مستودعات المحتوى هي قواعد بيانات مصممة للمحتوى (أيالملفات والمستندات والصور وغيرها).عادةً ما تحتوي على بنيات إضافية مثل الطريقة الهرمية لتصفح المحتوى والبحث والتحويل بين التنسيقات المختلفة وإصدار الإصدارات وأشياء أخرى كثيرة.أمثلة - Alfresco وDocumentum وJackRabbit وDay وOpenText والعديد من موردي ECM الآخرين.

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

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

http://en.wikipedia.org/wiki/Dimensional_database

  1. قواعد بيانات XML على سبيل المثال. xindice
  2. قواعد بيانات الكائنات على سبيل المثال. com.db4o

انتبه إلى أن مفهوم قواعد البيانات العلائقية مثير للجدل للغاية.الأصوليون مثل ج.ج.تاريخ قد يجادل بأن العديد من قواعد البيانات شائعة الاستخدام (مثل Oracle وSQL Server) لا تتوافق بشكل كافٍ مع النموذج العلائقي ليتم تسميته "علائقية".

قواعد البيانات غير العلائقية لا تلبي متطلبات Codd.تعمل Intersystems Caché على إعادة كتابة/إعادة تصميم كاملة لقاعدة بيانات نظام التشغيل Pick القديم.من القليل الذي قرأته عن ذاكرة التخزين المؤقت، يبدو أنها إعادة تصميم جيدة.فهو يسمح لبرامج .net بالوصول إلى قاعدة البيانات تمامًا كما تفعل مع SQL.يقوم Caché بتشغيل برامج Pick OS دون الحاجة إلى أي تغييرات.من خلال استيراد ملفات Pick إلى Caché، لا يزال بإمكانك تشغيل تطبيقات الشاشة الخضراء القديمة بها، ولكن يمكنك أيضًا كتابة برامج جديدة باستخدام .net حتى تتمكن من الانتقال إلى تطبيقات Windows دون التخلي عن سنوات تصميم البيانات التي استثمرت فيها بالفعل.فيما يلي بعض المعلومات الأساسية عن نموذج Pick DB.تستخدم قاعدة بيانات Pick سجلات وحقول متغيرة الطول تمامًا.يتم ربط كافة الجداول بمفتاح واحد فريد ويمكن الوصول إليها دون قراءة فهرس.صمم Pick النظام لاستخدام خوارزمية التجزئة التي تقرأ العنصر من القرص بشكل عام في القراءة الفعلية الأولى (بافتراض إجراء صيانة النظام بشكل صحيح).الحقول في الانتقاء غير مكتوبة.يتم تخزين جميع البيانات كسلسلة ويكون الإرسال متروكًا للمبرمج.يتم تخزين القيم الخالية كسلسلة فارغة، وبالتالي لا تشغل القيمة الخالية مساحة القرص كما هو الحال في SQL.ليست هناك حاجة للمفاتيح الخارجية.في "العالم العلائقي"، يتعين على مسؤول قواعد البيانات إنشاء جدول رأس الطلب وجدول عناصر سطر الطلب.يوجد في "اختيار النموذج" جدول واحد.على سبيل المثال، "تاريخ الطلب" هو حقل يخزن عددًا من الأيام منذ "13 ديسمبر 1967" (تم تشغيل نظام تشغيل اختيار البيانات لأول مرة).لم يكن اختيار المبرمجين لديهم مشاكل Y2K.سيكون العمود الثاني هو رقم العميل.الفرق الكبير هو أنه عندما تصل إلى عمود رقم المنتج، سيكون "متعدد القيم" (Codd Non-Conformance).بمعنى آخر، يمكن لقاعدة البيانات التعامل مع 1-32000 منتج # في هذا العمود.قد تكون الأعمدة الأخرى مثل الكمية المطلوبة في علاقة تحكم/تبعية مع رقم المنتج وستكون أيضًا متعددة القيم.عندما تصل إلى الكمية التي تم شحنها، سينتقل الانتقاء إلى البعد الثالث ويحتوي على حقل متعدد القيم.سيكون لديك عمود رقم الشحنة، وسيكون متعدد القيم حسب البند ومتعدد القيم الفرعية ويحتوي على كمية الشحنة لهذا السطر لرقم الشحنة هذا.ليست هناك حاجة إلى الصلات الداخلية.يتم تخزين جميع البيانات الخاصة بهذا الطلب في جدول واحد وفي سجل واحد.لا توجد صفوف يتيمة على الإطلاق!ثانيا تعريف البيانات مختلف قليلا.يمكن أن تحتوي قواميسنا على تعريفات للبيانات غير الموجودة في هذا الجدول أو التي يتم معالجتها.ومن الأمثلة على ذلك اسم العميل.سيتم تعريفه على أنه "استخدم عمود رقم العميل وأرجع حقل الاسم من جدول العملاء".مثال آخر هو أنه سيتم تعريف ملحق البند على أنه حساب الكمية*السعر/السعر لكل سعر.أعتقد أنني قرأت في مكان ما أن Caché تدعي أن لديها أكثر من 100000 عملية تثبيت.

أعتقد أن قاعدة بيانات الملفات الثابتة في Excel غير علائقية ويستخدمها عدد لا بأس به من الأشخاص.

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

تعد قواعد البيانات الموجهة للكائنات أحد الأنواع المثيرة للاهتمام من قواعد البيانات غير العلائقية.

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

موجود-db هي قاعدة بيانات XML موجودة منذ فترة طويلة.إنه مفيد بشكل خاص ل com.xquery أكثر من طن من وثائق XML.

أي ملف أو مجموعة ملفات تحتوي على بيانات ولكنها لا تعبر عن العلاقات داخل تلك البيانات هي قاعدة بيانات غير علائقية.

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

يُستخدم RRDtool بشكل شائع كواجهة خلفية لأدوات مثل كريكيت و MRTG لتتبع بيانات الشبكة والبيئة لأشهر وسنوات على التوالي.

بالنسبة لنظام إدارة قواعد البيانات القائم على الرسم البياني، لديك neo4j

بالنسبة لنظام إدارة قواعد البيانات الهرمي، لديك أي نظام ملفات قياسي أو يدعم "المخطط" أي تطبيق LDAP.

هناك العديد من الإجابات ولكن جميعها تنتهي في إحدى فئتين رئيسيتين:

  1. ملاحية.يتضمن قواعد بيانات الشجرة/التسلسل الهرمي وقواعد بيانات الرسم البياني.

  2. قواعد البيانات التي تكسر النموذج العادي الأول (قيم متعددة).يتضمن اختيار قواعد البيانات وLotus Notes وذريتها مثل CouchDB.

يحرر:وبالطبع فإن مخازن المفاتيح/القيمة مثل BDB ليست علائقية، ولكن هذا أمر بديهي، أليس كذلك؟أعني أنها مجرد مخازن رئيسية/قيمة.

dBase.وعلى الرغم من أنه تم تسويقه على هذا النحو، إلا أنه لا يفي بالمتطلبات.

باعتبارها قاعدة بيانات OO، تتبادر إلى ذهنك Intersystems Caché.بعض الأنظمة الطبية والمكتبية مبنية على هذا.

  1. في شركتي www.smartsgroup.com، لدينا محرك قاعدة بيانات خاص نطلق عليه "قاعدة بيانات سجل المعاملات".إنه مبني على ملفات مسطحة، يحتوي كل ملف على سلسلة من "الأحداث" أو "الرسائل"، بتنسيق ثنائي، بالإضافة إلى فهارس مختلفة حول هذه البيانات والخوارزميات لإعادة إنتاج حالة دفتر أوامر البورصة.تم تحسينه بدرجة كبيرة للتحديثات المتسلسلة والوصول المتسلسل.

  2. في التطبيقات العلمية، من الشائع أيضًا استخدام محركات قواعد البيانات الخاصة بدلاً من RDBMS.لقد عملت أيضًا في شركة تمتلك أكبر قاعدة بيانات في العالم لتسجيلات الدماغ في مخطط كهربية الدماغ:www.brainresource.com.هناك نستخدم قاعدة بيانات ملفات ثابتة، وقد عملت بشكل جيد بالنسبة لنا.

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

يبدو أن صفحة Wiki الخاصة بقواعد البيانات الأبعاد المرتبطة بالأعلى قد اختفت.

بعض OLAP الأنظمة مدعومة بقواعد بيانات متعددة الأبعاد (MOLAP) تُستخدم غالبًا في التحليل المالي.إنهم يوفرون عملاء تفاعليين يسمحون للشخص بالتنقل عبر البيانات على مستويات مختلفة من التجميع.

في جامعتي هناك مجموعة تقوم بالبحث قواعد البيانات الاستنتاجية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top