السلام عليكم
لدي استفسار عن قاعدة البيانات ، هل هنالك فرق بين تخزين معلومات جدول بشكل أعمدة أم أفقي (اسطر)
أيهما اسرع في الأداء
من الأفضل أن تقوم بتخزين البيانات بشكل صفوف، وذلك لأن عدد البيانات قد يزيد مع الوقت، مما يؤدي إلى بطيء في عملية جلب البيانات إن كانت بشكل أعمدة (إلا في حالات معينة).
وليتضح الأمر أكثر، لنفترض أننا نحاول أن نقوم بعمل قاعدة بيانات لمدونة، سنحتاج إلى عمل جدول posts لتخزين المنشورات، وستكون بنيته، كالتالي مثلًا:
posts: - id - title - content - publish_date
ما سبق هو أسماء الحقول (الأعمدة) في الجدول، ويتم تخزين البيانات بشكل صفوف، كالتالي:
id | title | content | publish_date 1 | my first post | this is my first post ... | 2021-9-2 2 | my second post | this is my second post ... | 2021-9-3 3 | my third post | this is my second post ... | 2021-9-4
لاحظ كيف يمكننا أن نقوم بإضافة عدد غير محدود من الصفوف أسفل بعضها البعض، في حين إن إستخدمنا الأعمدة سيكون الأمر غاية في التعقيد وفي النهاية لن نتمكن من حفظ البيانات بشكل عملي.
كما أن حفظ البيانات في شكل صفوف يعطينا مميزات أخرى مثل عمل indexes لتسريع عملية البحث.
إن الأعمدة في جدول قواعد البيانات هي هيكلية شبه ثابتة، حيث أن كل عمود له اسم فريد، ونوع بيانات محدد مرتبط بالفائدة المرجوة منه إن كان تخزين الأسماء (سلاسل نصية) أو تخزرين أرقام أو تواريخ.
وإن عملية تعديل هيكلية (بنية) الجدول هي عملية مكلفة لأن هذا التعديل سيمرعلى جميع الأسطر (الحقول) التي تحوي البيانات والتي تتكون عادة من سجلات برمجية تخزن بيانات بتنسيق معين ويؤدي لتعديلها..
بالمختصر، قواعد البيانات الحالية MySQL تعتمد على هيكلية موحدة لجميع سطور الجدول وتخزن البيانات بشكل أسطر.
أما في قواعد البيانات Mongo DB = NoSQL لايكون هنالك قيود على هيكلية الوثيقة (الجدول يدعى وثيقة document)
وتكون حقوله حرة.
عليك البحث أكثر عن نمط هيكلة قواعد البيانات المناسب لمشروعك هل يحتاج SQL أم لا
التعليقات