PickleDB: قاعدة بيانات خفيفة وسريعة لتخزين البيانات

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

مقدمة

PickleDB هي قاعدة بيانات خفيفة من نوع مفتاح-قيمة، مكتوبة بلغة Python الخالصة ولا تتطلب تثبيت خوادم إضافية أو تبعيات. تمثل هذه المكتبة حلاً بسيطاً لتخزين كميات صغيرة من البيانات بتنسيق JSON، مما يجعلها الخيار الأمثل للنماذج الأولية السريعة، وأدوات سطر الأوامر، وملفات الإعدادات، والمشاريع الصغيرة.

الميزة الرئيسية لـ PickleDB تكمن في سهولة استخدامها مع الحفاظ على وظائف كافية لحل مجموعة واسعة من مهام تخزين البيانات. تدعم المكتبة العمل مع أنواع مختلفة من البيانات: النصوص، الأرقام، القوائم، القواميس، والقيم المنطقية.

ما هي PickleDB وأين تُستخدم

PickleDB هي قاعدة بيانات NoSQL تخزن البيانات على شكل أزواج مفتاح-قيمة في ملف JSON. تم إنشاء المكتبة كبديل للحالات التي يكون فيها استخدام أنظمة إدارة قواعد بيانات كاملة مثل PostgreSQL أو MySQL مبالغاً فيه.

تشمل مجالات الاستخدام الرئيسية لـ PickleDB:

  • تخزين إعدادات المستخدم والتكوينات
  • التخزين المؤقت للنتائج الوسيطة للحسابات
  • حفظ رموز التوثيق ومفاتيح API
  • تسجيل سجلات بسيطة وعدادات
  • إنشاء نماذج أولية سريعة مع استمرارية البيانات
  • تطوير تطبيقات سطر الأوامر مع تخزين محلي

التثبيت والإعداد الأولي

لتثبيت PickleDB، استخدم مدير الحزم القياسي للغة Python:

pip install pickledb

بعد التثبيت، المكتبة جاهزة للاستخدام دون أي تكوين إضافي:

import pickledb

# إنشاء أو الاتصال بقاعدة بيانات
db = pickledb.load('database.db', auto_dump=True)

المعامل auto_dump=True يضمن الحفظ التلقائي لجميع التغييرات في الملف، مما يضمن سلامة البيانات حتى في حالة الإنهاء غير المتوقع للبرنامج.

الهندسة المعمارية ومبادئ العمل

هيكل تخزين البيانات

تستخدم PickleDB تنسيق JSON للتخزين، مما يضمن قابلية قراءة البيانات وإمكانية نقلها بين الأنظمة المختلفة. ملف قاعدة البيانات هو مستند JSON عادي بالهيكل التالي:

{
  "simple_key": "قيمة نصية",
  "numeric_key": 42,
  "boolean_key": true,
  "list_key": ["عنصر1", "عنصر2", "عنصر3"],
  "dict_key": {
    "nested_field": "قيمة متداخلة",
    "nested_number": 100
  }
}

آلية الحفظ

عند العمل مع PickleDB، يتم تحميل جميع البيانات إلى الذاكرة عند تهيئة قاعدة البيانات. يتم تطبيق التغييرات على الكائن في الذاكرة، ثم، اعتماداً على الإعدادات، يتم حفظها في الملف:

  • عند auto_dump=True — يتم الحفظ بعد كل عملية كتابة
  • عند auto_dump=False — يلزم استدعاء يدوي للدالة dump()

دليل كامل لدوال وطرق PickleDB

الطرق الأساسية للتعامل مع البيانات

الطريقة الوصف مثال الاستخدام
set(key, value) يحفظ قيمة تحت مفتاح معين db.set('name', 'أحمد')
get(key) يحصل على القيمة المرتبطة بمفتاح name = db.get('name')
exists(key) يتحقق من وجود المفتاح if db.exists('name'):
rem(key) يحذف المفتاح وقيمته db.rem('name')
getall() يعيد جميع المفاتيح keys = db.getall()
totalkeys() يعيد عدد المفاتيح count = db.totalkeys

توصيات