سؤال

أقوم ببعض الاستعلامات في بيثون على قاعدة بيانات كبيرة لإخراج بعض الإحصائيات من قاعدة البيانات. أريد أن تكون هذه الإحصائيات في الذاكرة حتى تتمكن البرامج الأخرى من استخدامها دون الذهاب إلى قاعدة بيانات.

كنت أفكر في كيفية تنظيمها ، وبعد محاولة إنشاء بعض القواميس المتداخلة المعقدة ، أدركت أن التمثيل الجيد سيكون جدول SQL. لا أريد تخزين البيانات مرة أخرى في قاعدة البيانات المستمرة. هل هناك أي تطبيقات في الذاكرة لقاعدة بيانات SQL تدعم الاستعلام عن البيانات باستخدام بناء جملة SQL؟

هل كانت مفيدة؟

المحلول

قد يعمل SQLite3. واجهة بيثون لا الدعم التنفيذ في الذاكرة التي يقدمها واجهة برمجة تطبيقات SQLite3 C.

من المواصفات:

يمكنك أيضًا توفير الاسم الخاص: الذاكرة: لإنشاء قاعدة بيانات في ذاكرة الوصول العشوائي.

إنها أيضًا رخيصة نسبيًا مع المعاملات ، اعتمادًا على ما تفعله. للذهاب ، فقط:

import sqlite3
conn = sqlite3.connect(':memory:')

يمكنك بعد ذلك المتابعة كما لو كنت تستخدم قاعدة بيانات منتظمة.

اعتمادًا على بياناتك - إذا كان بإمكانك الحصول على مفتاح/قيمة (سلاسل ، تجزئة ، قوائم ، مجموعات ، مجموعات مصنفة ، إلخ) - ريديس قد يكون خيارًا آخر للاستكشاف (كما ذكرت أنك تريد مشاركته مع البرامج الأخرى).

نصائح أخرى

أعتقد أن SQLite3 سيكون الخيار الأفضل بعد ذلك.

إذا أمكن ، ألق نظرة على memcached. (لزوج القيمة الرئيسية ، الإضاءة بسرعة!)

تحديث 1:

HSQLDB ل SQL مثل الجداول. (لا يوجد دعم بيثون)

يمكنك استخدام قاعدة بيانات مثل sqlite. إنه ليس بالمعنى الدقيق للكلمة في الذاكرة ، لكنه خفيف إلى حد ما وسيكون منفصلًا تمامًا عن قاعدة البيانات الرئيسية الخاصة بك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top