تخزين SQLite
توفر واجهة SQLite محرك تخزين قوياً قائماً على الملفات مع معاملات ACID واستعلامات مفهرسة ودعم مدمج لأعمدة المتجهات. إنها الواجهة الموصى بها للنشر الإنتاجي مع ما يصل إلى 100,000 ذاكرة.
الإعداد
PRX_MEMORY_BACKEND=sqlite
PRX_MEMORY_DB=./data/memory.dbيُنشأ ملف قاعدة البيانات تلقائياً عند أول تشغيل. تُهيئ PRX-Memory جميع الجداول والفهارس وأعمدة المتجهات.
نظرة عامة على المخطط
تخزّن واجهة SQLite الذكريات في مخطط منظم:
| العمود | النوع | الوصف |
|---|---|---|
id | TEXT | معرف ذاكرة فريد |
text | TEXT | محتوى الذاكرة |
scope | TEXT | نطاق الذاكرة (عالمي، مشروع، إلخ) |
tags | TEXT | مصفوفة JSON من الوسوم |
importance | REAL | درجة الأهمية (0.0--1.0) |
created_at | TEXT | طابع زمني ISO 8601 |
updated_at | TEXT | طابع زمني ISO 8601 |
embedding | BLOB | تضمين المتجه (إن كان مفعّلاً) |
metadata | TEXT | بيانات JSON وصفية إضافية |
تخزين المتجهات
عند تفعيل التضمين، تُخزَّن بيانات المتجه كأعمدة BLOB في نفس الجدول كإدخال الذاكرة. هذا التواجد المشترك يبسّط الاستعلامات ويتجنب تكلفة JOIN.
يستخدم بحث التشابه المتجهي حساب تشابه جيب التمام بالقوة الغاشمة على المتجهات المخزّنة. لمجموعات البيانات أقل من 100,000 إدخال، يوفر هذا أوقات استعلام أقل من ثانية (p95 أقل من 123 مللي ثانية بناءً على المعايير).
الصيانة
الضغط
بمرور الوقت، يمكن أن تترك عمليات الحذف والتحديث مساحةً مجزأة. استخدم memory_compact لاسترداد المساحة:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "memory_compact",
"arguments": {}
}
}النسخ الاحتياطي
يمكن نسخ ملف قاعدة بيانات SQLite احتياطياً بمجرد نسخه أثناء إيقاف الخادم:
cp ./data/memory.db ./data/memory.db.backupWARNING
لا تنسخ ملف قاعدة البيانات أثناء تشغيل الخادم. يستخدم SQLite تسجيل الكتابة المسبقة (WAL) وقد ينتج عن نسخ الملف أثناء الكتابة نسخة احتياطية تالفة. أوقف الخادم أولاً أو استخدم أداة memory_export للتصدير الآمن.
الترحيل من JSON
للترحيل من واجهة JSON إلى SQLite:
- صدّر ذكرياتك باستخدام
memory_export. - غيّر إعداد الواجهة إلى SQLite.
- استورد البيانات المصدّرة باستخدام
memory_import.
أو استخدم أداة memory_migrate للترحيل المباشر.
الخطوات التالية
- البحث المتجهي -- كيف يعمل البحث بالتشابه داخلياً
- نظرة عامة على التخزين -- مقارنة جميع الواجهات
- مرجع الإعداد -- جميع متغيرات البيئة