تعتبر SQLite (اس كيو لايت ) نظام إدارة قواعد بيانات علائقية مثل ( MySQL و PostgreSQL) مضمنة في مكتبة مبرمجة بلغة C صغيرة الحجم تقريبا 500 كليوبايت.
وخلافا لأنظمة إدارة قواعد البيانات التي تتبع نظام ( عميل - خادم ) فإن محرك اس كيو لايت غير مستقل عن البرنامج التي يتخاطب ويتواصل معه. وبدلا عن ذلك في مكتبة اس كيو لايت تربط بداخل ذلك البرنامج و هكذا تصبح متكاملة مع البرنامج. ويقوم البرنامج باستدعاء وظائف اس كيو لايت بواسطة باستدعاءات دالية بسيطة مما يقلل الزمن التأخير في الوصول إلى قاعدة البيانات.
قاعدة البيانات اس كيو لايت تحفظ البيانات و التعريفات والجدوال في ملف واحد (قابل للنقل بين أنظمة التشغيل) على الجهاز المستضيف. وهذا التصميم البسيط يسمح بقفل ملف قاعدة البيانات عند بداية عملية نقل البيانات .
اس كيو لايت طورها الدكتو ريتشارد هب ، و يقدم و يبيع دوارت تعلميمة عليها و يقدم عقود الدعم الفني و الإضافات مثل الضغط و التشفير.
ومصدر قاعدة البيانات اس كيو لايت مرخص تحت الترخيص الملكية العامة public domain، بحيث يمكنك من استعمالها بحرية من قبل أي شخض لأي غرض كان.
مميزات SQLite
- دعم معظم مقاييس SQL-92 والتي شملت المناقلات قاعدة البيانات والتي تحوي على ثلاثة مميزات Atomicity وتعي قدرة قاعدة البينات على إنجاز كافة المهام أو عدم انجازها بالكامل مثل القدرة على نقل الوادئع بشكل كامل أو فشلها بالكامل بسبب أي سبب من الأسباب.
الميزة الثانية isolated وهي تعني قدرة التطبيق على جعل المناقلة تظهر منفصلة عن بقية العمليات، وهذا يعني أنه لا توجد عملية خارج المناقلة تستطيع باي شكل من الأشكال رؤية البيانات في وسط المناقلة.
الميزة الثالثة durable وهي تعني ضمان أن المناقلات التي تمت بنجاح تبقى حية باستمرار ولا تلغى بسبب فشل النظام، مثال ذلك إذا أخبر نظام قواعد البيانات لحجز الرحلات بأن مقعد ما حجز بنجاح فإن المقعد سيبقى محجوزا حتى لو انهار النظام.
- صغر حجمها.
- سهولة التركيب.
- سهولة نقل البيانات من مزود إلى آخر.
- لا توجد مشاكل بالترميز لا سيما مع اللغة العربية.
- قاعدة البيانات عبارة عن ملف واحد فقط.
- تدعم حجم قاعدة البيانات إلى 2 تيرابايت (2048 جيجابايت) - ماقبل الإصدارة 2.8 كان الحد الأقصى: 2 جيجابايت.
- شيفرة الاتصال والاستعلام بها سهلة (مشابهة لـ MySQL على نحو أبسط).
- يمكن استخدامها على المواقع التي لا تدعم MySQL.
انتشار عالى
اتاح صغر حجم اس كيو لايت و سهولة تضمينها أن تنتشر انتشارا واسعا وذلك بسبب تضمينها في تطبيقات شهيرة جدا مثل فايروفوكس و الماكنتوش و سكايب و نظام سمبيان و أي فون، وهذه بعض الإحصائيات:
-125 مليون نسخة من موزيلا فايرفوكس
- 20 مليون نسخة من نظام Mac OS X
- 300 مليون نسخة منزلة من سكايب.
- 20 مليون من هواتف سمبيان.
- كل هواتف أي فون.
- بيئة REAL basic
- لغة البرمجة بايثون منذ الاصدارة 2.5
- مكتبة الرسومية QT منذ الإصدارة 4.4
- نظام سولاريز 10
برامج لإدارة اس كيو لايت
توجد عدة برامج لإدارة قاعدة البيانات اس كيو لايت ومن أهمها:
* SQLite Manager,متوفر كملحق لمتصفح فايرفوكس.
* SQLite Database Browser, عميل رسومي للوصول إلى قواعد اس كيو لايت
* SQLPro SQL Client,عميل آخر للعمل على قواعد اس كيو لايت
* SQLiteTool,عميل رسومي مصمم لأس كيو لايت.
حدود اس كيو لايت :
لو نظرنا بواقعية إلى بعض التطبيقات لوجدنا أن بعضها من ناحية الصغر يُستكثر عليه عناء الوقت والجهد المبذول في إنشاء ونقل قاعدة بيانات من ذلك النوع، ولرأينا أنه من الأنسب استخدام ملفات نصية في تخزين تلك البيانات الصغيرة..
إذًا فلنستعض عن ذلك باستخدام بديل أفضل، وهو قاعدة بيانات أقل حجما وأكثر سرعة وسهولة مع قابلية الاستعلام والمعاملات القياسية الأخرى للغة SQL92 القياسية، وهنا سنجد أن SQLite هي الأنسب.
ولكن من ناحية آخرى فإن اس كيو لايت له حدود وهي:
- حجم قاعدة البيانات 2 تيرابيات
- عدد الأعمدة في الجدول الواحد الأقصى هو 2000 عمود ، يمكنك زيادته وقت ترجمة البرنامج
- حجم عبارة SQL محدودة بمليون بايت فقط.
-عدد الأقصى للجداول في عبارة Join هو 64 جدول .
- أداءها ضعيف عند العمل على الشبكات و لا تستطيع خدمة الكثير من المستخدمين في وقت واحد حيث أنها لا تسمح بأكثر من كاتب واحد في نفس الوقت لأنها تقوم بقفل قاعدة البيانات عن الكتابة حال ضغط المستخدم على زر الإرسال أو نحوه، لكن بالمقابل يجب أن نتذكر أن هذا القفل يستغرق جزءا بسيطا من الثانية أي بضعة من المللي-ثانية (Milli-Seconds).
ويقول صاحب كتاب (The Definitive Guide to SQLite) ص 12:
«رأيت أن SQLite تستطيع معالجة ما فوق 500 إجراء في الثانية لـ 100 اتصالات مزامَـنة [أي استعلامات إلحاق] في تطبيقات الوب البسيطة». اهـ
والقاعدة الرئيسة في موضوعنا هي: إن SQLite قد صممت بحيث تكون قاعدة بيانات مُضَـمّـنة ضمن البرامج والأنظمة الصغيرة أو المتوسطة، لذا من الخطأ استبدالها بقواعد البيانات العلائقية الكبرى.