ما الذي يميز قواعد بيانات عن الاخرى؟

لماذا يوجد أكثر من نوع من نظام إدارة قواعد البيانات؟

MySQL - SqlServer - Oracle - etc..

ببساطة ما الفرق بينهم، وكيف يمكنني معرفة ماهو المتطلب المناسب لمشروعي؟

وشكراً :)

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

الفروقات كثيرة عادة ما تبدأ من هدف معين ويتم تطبيقه برمجيا

قواعد البيانات التي ذكرتها هي من RDBMS وغالبا يتم برمجتها باستخدام أحد أنواع B-tree وكأي treeيتم استخدام خوارزمية لفحص الشجرة للبحث عن البيان المطلوب تظهر الاختلافات عندما

  • يقرر مبرمج قواعد البيانات ان يولي اهمية لخاصية معينة من خصائص قواعد البياناتACID

  • يقرر مبرمج قوعد البيانات مراعاة معايير ansi sql بشكل كلي أو جزئي واضافة بعض الزيادات للتسهيل علي المستخدم

  • يقرر مبرمج قواعد البيانات التعامل مع البيانات في الذاكرة وكتابه النتائج في الهارد بعد فترة أم الكتابة لحظة بلحظة

  • يقرر مبرمج قواعد البيانات استخدام احجام معينة للداتا بحيث يتم يتخزينها على قطاع واحد من الهارد ديسك وبذلك يصبح يتم قرائتها مرة وحدة

  • متي يتم انشاء inverted index -index

  • إلخ إلخ

قواعد بيانات RDBMS مناسبة للبيانات التي يجب حفظها بدون خطأ ولهذا تكون بطيئة من حيث الوصول للبيانات في ظروف معينة ولهذا ظهرت أنواع اخري تستخدم hashing للوصول للبيانات تكون الكتابة بها سريعة جدا

وهناك العديد من التفاصيل الأخري والأنواع الأخري

أما بالبنسبة لكيفية معرفة النوع المناسب لمشروعك ففي الغالب يكفيك أي نوع RDBMS والأشهر هو MYSQL أو Postgresql أو sql server إذا كنت تبرمج لبيئة وندوز

وفي حالات معينة عندما يكون المشروع ضخم جدا يتم استخدام اكثر من نوع بحيث يكون لكل نوع استخدام معين فمثلا المعاملات المادية يتم حفظها في RDBMS لأنها تتطلب دقة وصحة في الحفظ بينما يتم حفظ معلومات الاحصائيات كعدد الزيارات في نوع columner database مثل cassandra أو يمكن استخدام Hadoop أو Hbase مع حساب الاحصائيات باستخدام أى data processing مثل apache spark ويمكن استخدام apache storm او apache kafka

ولان غالب البيانات لاتتغير بصورة متواصلة باستمرار فبدلا من جلب البيانات كل مرة من RDBMS يتم جلبها من قاعدة بيانات بسيطة موجودة بالميموري in-memory database مثل redis أو memcached

وللإستزادة عن استخدام انواع مختلفة يمكنك البحث عن lambda architecture

كل واحدة لها مزاياها وكل واحدة أنجزت بيد فريق متخصص خاص بها ليس مهتما بالآخر إلا في التحسين والمنافسة،

مثلا خذ هذا المقال يتكلم عن اوراكل

وهذه عن sql

وأتذكر ان لايت اس كيو إل هي الأنسب للجوالات المحمولة و ماي اس كيو إل هي الأفضل لسطح المكتب.

وأعتقد أن هذه هي الأفضل على الإطلاق

هل هنالك مقال كامل يشرح الفرق بين الثلاثة أنظمة (MySQL - SqlServer - Oracle) بالتحديد ويوضح الفروقات بطريقة حيادية وعلمية في نفس الوقت، سأكون شاكر لك لو ساعدتني.

وشكراً.

لم أبحث عن ذلك ولست متفرغ لذلك هذه الأيام، ولكن أعتقد أن الأمر سهل، اقرأ عن كل منهم على حدة او بلغة عالمية كالانجليزية او الفرنسية وبعدها اعمل مقال ملخص وتستفيد وتفيد غيرك ^_^

شكراً لك، سأبحث عن الأمر وربما أكتب مقال له.

شكراً مرة أخرى على زمنك.

بالمناسبة أتمنى منك عند كتابة المقال المنتظر ألا تقيده بقيود الملكية او النشر، واتركه حر أو مشاع لينتشر في كل مكان بدون قيود عقيمة ^_^

-2

يوجد المئات من قواعد البيانات

اذا اردت دراستهم ومعرفة الفروق بينهم فلن تنجز مشروعك ابدا