Saud | سعود الانصاري
Saud | سعود الانصاري

@Alansaricodez

22 تغريدة 7 قراءة Mar 21, 2022
❗️ثريدات مهمة لطلبة تقنية المعلومات وعلوم الحاسب❗️
موضوع اليوم:
ما هي قواعد بيانات الوثيقة (Document Databases)؟ وما الفرق بينها وبين قاعدة البيانات العلائقية؟
ثريد🧵👇
- ما هي قاعدة بيانات المستندات؟
قاعدة بيانات المستندات هي نوع من قواعد البيانات غير العلائقية (NoSQL) المصممة لتخزين البيانات والاستعلام عنها كمستندات تشبه JSON
وتسهل على المطورين تخزين البيانات والاستعلام عنها باستخدام تنسيق نموذج المستند المستخدم في كود التطبيق الخاص بهم
♦️مقارنة قواعد بيانات العلاقات والوثائق:
- قواعد البيانات العلائقية:
1. يتكون من مجموعة من الطاولات
2. يتكون كل جدول من مجموعة من الصفوف
3. يحتوي كل صف على نفس مجموعة الحقول
4. يحتوي كل حقل على قيمة واحدة
- مستندات قواعد البيانات:
1. تتكون من مجموعة من المجموعات collections
2. تحتوي كل مجموعة على مجموعة من الوثائق
3. تحتوي كل وثيقة على أزواج (حقول) مفتاح - قيمة
4. داخل المستند ، يجب أن تكون المفاتيح فريدة
الفرق الرئيسي:
يمكن أن تحتوي كل وثيقة في مجموعة على مجموعة مختلفة من المفاتيح
لا يلزم أن تكون القيم في المستند ذرية، فقد يكون لها بنية معقدة
♦️Amazon DocumentDB:
هي خدمة قاعدة بيانات مستندات سريعة وقابلة للتطوير ومتاحة ومدارة بالكامل تدعم أحمال عمل MongoDB
يمكن للمطورين استخدام نفس كود تطبيق MongoDB وبرامج التشغيل والأدوات لتشغيل وإدارة وقياس أعباء العمل على Amazon DocumentDB
♦️PyMongo DB:
هو توزيع Python يحتوي على أدوات للعمل مع MongoDB
- تمثل قاعدة البيانات يمثل مستندًا كإملاء مع عدة مفاتيح: Patient_id، و patient_name ، و doctor_id ...
- العديد من المفاتيح لها قيمة ذرية بسيطة
- بعض المفاتيح لها قيمة معقدة قد تكون قائمة من عدة وثائق فرعية
♦️تتمتع قواعد بيانات المستندات بالعديد من نقاط القوة:
- نموذج المستند موجود في كل مكان وبديهي ويتيح التطوير السريع للبرامج
- يسمح المخطط المرن بتغيير نموذج البيانات مع تغير متطلبات التطبيق
- تحتوي قواعد بيانات المستندات على واجهات برمجة تطبيقات ثرية ولغات استعلام تتيح للمطورين التفاعل بسهولة مع بياناتهم
- يتم توزيع قواعد بيانات المستندات (مما يسمح بالقياس الأفقي وكذلك التوزيع العالمي للبيانات) ومرنة
♦️تداعيات عدم وجود مخطط:
- الصفوف العلائقية لها نفس الأعمدة
- لا تفرض قواعد بيانات المستندات مخططًا ثابتًا على المستندات
- يأتي مخطط البيانات الثابت مع عيوب يتم تقسيمها إلى 3 فئات:
1- التعامل مع تغييرات المجال
2- استخدام NULL
3- فرض القيود
🔺التعامل مع تغييرات المجال:
1. ينشأ من نماذج أولية غير مكتملة أو غير دقيقة للعالم
2. في قاعدة البيانات العلائقية، تكون التغييرات على مخطط الجدول باهظة الثمن
3. في قاعدة بيانات المستند، التغييرات على مخطط الجدول ليست باهظة الثمن
🔺استخدام NULL:
1. في قواعد البيانات العلائقية ، تعني القيمة NULL إما "موجود ولكن غير معروف" أو "غير موجود"
2. في قواعد بيانات المستندات NULL أكثر مرونة، في حالة عدم وجوده، لا يظهر المفتاح ولكن إذا كان "موجودًا ولكنه غير معروف" فاستخدم NULL
🔺فرض القيود:
1- قواعد البيانات العلائقية:
يفرض RDBMS جميع أنواع القيود مثل:
- سلامة الكيان
- النزاهة المرجعية
- لا قيود فارغة
2- قاعدة بيانات (مستند) خالية من المخططات:
أ- التطبيقات هي المسؤولة عن فرض القيود
ب- إذا تغيرت القواعد، فيجب تغيير جميع التطبيقات ذات الصلة أيضًا
♦️ عدم التطابق والأداء في قواعد بيانات المستندات:
مزايا عدم التطابق (denormalization):
1. المرونة في عدم وجود مخطط
2. زيادة الأداء نتيجة إلغاء التطبيع
latency: تأخير في إرسال رسالة وتلقي واستقبال الرد
عرض النطاق الترددي (Bandwidth):
مقدار البيانات التي يمكن تمريرها في وقت معين بمجرد بدء النقل
سلبياته:
1. ارتفاع تكلفة التحديث
2. لن يتم تحديث الكثير من المعلومات
يجد المطورون عادةً أن العمل باستخدام البيانات في المستندات أسهل وأكثر سهولة من العمل مع البيانات في الجداول
ترتبط المستندات بهياكل البيانات في لغات البرمجة الأكثر شيوعًا
لا داعي للقلق من قبل المطورين بشأن تقسيم البيانات ذات الصلة يدويًا عبر جداول متعددة عند تخزينها أو ضمها مرة أخرى معًا عند استردادها
حيث يمكنهم بسهولة العمل مع البيانات مباشرة في تطبيقاتهم
♦️لكن ما هي حالات الاستخدام لقواعد بيانات الوثائق في الواقع؟
قواعد بيانات المستندات هي قواعد بيانات للأغراض العامة تخدم مجموعة متنوعة من حالات الاستخدام لكل من تطبيقات المعاملات والتحليل:
1- عرض واحد أو محور بيانات
2- إدارة بيانات العملاء وإضفاء الطابع الشخصي
3- إنترنت الأشياء (IoT) وبيانات السلاسل الزمنية
4- كتالوجات المنتجات وإدارة المحتوى
5- معالجة الدفع
6- تطبيقات الموبايل
7- تفريغ الحاسوب المركزي
8- التحليلات التشغيلية
9- تحليلات في الوقت الحقيقي
وغيرها
♦️ملخص:
تستخدم قواعد بيانات المستندات نموذج بيانات المستندات المرن البديهي لتخزين البيانات
قواعد بيانات المستندات هي قواعد بيانات للأغراض العامة يمكن استخدامها لمجموعة متنوعة من حالات الاستخدام عبر الصناعات
ابدأ بقواعد بيانات المستندات عن طريق إنشاء قاعدة بيانات في MongoDB Atlas ، قاعدة بيانات MongoDB كخدمة
يحتوي Atlas على طبقة مجانية إلى الأبد يمكنك استخدامها لبدء الإطارات واستكشاف نموذج المستند
هل تعلمت شيء جديد؟ لا تنس اعادة التغريد حتى يستفيد الجميع🙏

جاري تحميل الاقتراحات...