NoSQL هو جيل جديد من قواعد البيانات والذي بدأ في الإنتشار مؤخراً ويستخدم من قبل العديد من المواقع الشهيرة عالمياً، لا أدري مامدى إستخدامه عربياً؟
هل هناك مواقع عربية تستخدم قواعد بيانات من نوع NoSQL؟
باعقتادي انه يجب السؤال إلى النحو التالي : هل المواقع العربية بحاجة إلى اعتماد قاعدة بيانات NoSQL ؟
وللإجابة عليه علينا معرفة اهميتها بشكل عام ومن ثم يقرر كل مطور خياراته طبقا لاحتياجات تطبيقه.
من اهم مميزات هذه النوعية الجديدة من قواعد البيانات هو إمكانية احتواءها وتعاملها مع البيانات بشكلين:
رأسي مثل عدد المستخدمين لموقع ما (فيسبوك مثلا فيه مليار مستخدم)
افقي (وهو المحتوى لكل مستخدم من منشورات وتعليقات وصور وعلاقات مع باقي المستخدمين وحتى يتم تسجيل هتامامات وسلوك وتوجهات كل مستخدم)
من المميزات الأخرى القدرة على اعطاء تحليل وقيم وتجميع للبيانات بشكل سريع وبدون بطء للنظام
من المميزات ايضا عدم وجود ربط داخلي للجداول ( - relations- joins) وربط المعلومات يتم اما من خلال تكرار الفيم او من خلال الربط في طبيقة التطبيق - لغة البرمجة (Application layer).
امكانية توزيع قاعدة البيانات على اكثر من سيرفر بسهولة اكبر من قاعدة البيانات الاعتيادية SQL
مثال قيام فيسبوك بالاستغناء عن MySQL واستخدامها في خدمات طرفية والاعتماد على CASSANDRA وهو قاعدة بيانات مفتوحة المصدر ساهم مطورو فيسبوك كثيرا في بناءها .
من اهم امثلة استخدام هذا النوع من قواعد البيانات فيسبوك .. تويتر بعض خدمات جوجل - فورسكوير - بعض خدمات امازن الجديدة
شخصيا استخدمت MongoDB في احدى مواقعي والتجربة أكثر من رائعة ..
نصيحتي اذا كنت تعمل على تطبيق او مواقع ان تعلم انه خلال سنوات سيزيد محتوى وعدد زوار ومستخدمي موقعك ان تبدأ بهذا الخيار لانك لاحقا قد تقوم بالتغيير إليه وقد تكون العملية معقدة
ولهذا النوع من قواعد البيانات عدة انواع بإمكانك التعرف عليها من هذا الرابط
تعليق جميل جدا و اشكرك عليه لكن فقط احب انوه ان فيسبوك لم تستغني عن MySQL و لا تزال تستخدمه كقاعدة بيانات اساسية و تم استخدام Cassandra لمشروع Messages و تم التخلي عنه لنظام رسائل مبنى على HBase قاعدة البيانات الخاصة بمشروع Hadoop
هناك مشكلة عند بعض المبرمجين و هي ملاحقة الجديد دون التفكير في كيفية الاستفادة منه فعليا في هيكله الحالي ( مثل ما عملت تويتر مع FlockDB لم تستغني عن MySQL انما عملت هذا المشروع كجزء خارجي منه لعمل اشياء لا تعملها MySQL بشكل جيد و هي عمليات Graph Theory المعروفة) و ايضا هناك انواع كثيرة جدا من NoSQL Databases مثل Key-value , Graph , Document و انصح المبرمجين عموما بعمل تحليل جيد لأنظمتهم الحالية او المستقبلية لرؤية هل فعلا سيضيف هذا النوع مزايا جيدة لعملك ام لا
بالتوفيق للجميع
التعليقات