المدوّنة

لماذا يحصل كل تطبيق في Mythex على قاعدة بياناته الخاصة

عندما يحتاج تطبيق تبنيه على Mythex إلى حفظ بيانات، مثل التسجيلات والحجوزات والطلبات، يمنح Mythex ذلك المشروع قاعدة Postgres خاصة به. ليست جدولاً في قاعدة مشتركة، ولا مخططاً بجانب مخطط شخص آخر، بل قاعدة مستقلة تُنشأ عند الطلب، وتنام عندما لا يستخدمها أحد. وإليك لماذا بنيناها هكذا، وما الذي تكلفه.

ماذا تحصل عليه؟

عندما تطلب بيانات («احفظ عناوين بريد قائمة الانتظار»، «خزّن الحجوزات») أو تستخدم الأمر /database، يقوم Mythex بـ:

  • إنشاء قاعدة Postgres مخصصة للمشروع (حالياً Postgres 17)،
  • حقن تفاصيل الاتصال في مساحة عملك وفي تطبيقك المنشور كمتغيرات بيئة، فلا تظهر أبداً في كودك، و
  • السماح للوكيل بإنشاء الجداول وقراءة البيانات وكتابتها عنك.

تُستخدم القاعدة نفسها من المعاينة الحية والتطبيق المنشور. تنام بعد 5 دقائق خاملة وتستيقظ مع الاستعلام التالي. القواعد الجديدة تبدأ صغيرة ويمكنها التوسع تحت الحمل، مع سقف حتى لا يتضخم استعلام خارج عن السيطرة إلى ما لا نهاية. المزيد في وثائق قواعد البيانات.

لماذا ليس قاعدة مشتركة كبيرة واحدة؟

قاعدة بيانات مشتركة يُسجَّل فيها عمود يحدد أي تطبيق يملك كل صف أرخص في التشغيل وأبسط في الإدارة. اخترنا عدم القيام بذلك لأربعة أسباب.

1. عزل لا تحتاج إلى الثقة به

الكود المكتوب بالذكاء الاصطناعي يرتكب أخطاء. في قاعدة مشتركة، قد يقرأ استعلام واحد ناقص لـ WHERE app_id = … في تطبيق ما بيانات عميل آخر أو يكتب فوقها. ومع قاعدة لكل تطبيق، لا توجد بيانات أي عميل آخر في المتناول، فيبقى الخلل داخل تطبيقه.

2. إنه Postgres حقيقي، لا طبقة خاصة

يتحدث تطبيقك مع Postgres القياسي عبر سلسلة اتصال عادية. أي مكتبة أو ORM أو أداة تعمل مع Postgres تعمل هنا. وإذا صدّرت مشروعك لتشغيله في مكان آخر، فإنه يتوقع قاعدة Postgres، وهي شيء تقدمه كل منصة استضافة، لا واجهة برمجية خاصة بـ Mythex.

3. كل تطبيق يمكن تشكيله بالطريقة التي يحتاجها

تطبيق يريد جدول bookings مع قيد فريد على فترات الوقت، وآخر يريد بحثاً نصياً كاملاً عبر المنتجات. مع قاعدته الخاصة، يكون المخطط والترحيلات خاصة بكل تطبيق، ولا يُضطر أي شيء إلى الملاءمة مع تصميم بأدنى قاسم مشترك.

4. التكلفة تتبع الاستخدام

لأن كل قاعدة تنام بشكل مستقل، فالتطبيق الذي لا يستخدمه أحد يكلّف شيئاً يكاد يكون معدوماً، وتكلفة التطبيق المشغول تظهر كبند خاص به. ويُحتسب استخدام قواعد البيانات المنشورة بناءً على ما قاسته القاعدة فعلياً، وكيف تعمل هذه الفوترة.

المقايضات

هذا التصميم ليس مجانياً:

  • بدايات باردة. قاعدة نائمة تحتاج إلى لحظة لتستيقظ مع أول استعلام بعد فترة هدوء. بالنسبة لمعظم التطبيقات، هذا بالكاد يُلاحظ؛ أما التطبيق الذي يجب أن يجيب فوراً في أي ساعة، فهذا اعتبار يستحق النظر.
  • تكاليف البقاء مستيقظاً. تبقى القاعدة مستيقظة طالما أن شيئاً ما يستعلم منها. التطبيق الذي يستطلع قاعدة بياناته كل بضع ثوانٍ يبقيها مستيقظة طوال اليوم، ويكلّف أكثر من تطبيق يستعلم عند الحاجة فقط. وإذا كان استخدامك أعلى مما تتوقع، فغالباً هذا هو السبب، واطلب من الذكاء الاصطناعي أن يتوقف عن الاستطلاع وأن يحمّل البيانات عند الحاجة فقط.
  • أجزاء متحركة أكثر بالنسبة لنا. إنشاء آلاف القواعد وتتبعها وتنظيفها أعمال أكثر من قاعدة واحدة. وهذا عبء علينا، لا عليك.

إن كنت جديداً على قواعد البيانات

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

Mythex · Pricing · ابنِ أي شيء بالذكاء الاصطناعي · قوالب المواقع والتطبيقات · مقارنات Mythex · مصطلحات بناء التطبيقات بالذكاء الاصطناعي · أدوات مجانية لبناء التطبيقات بالذكاء الاصطناعي · English

English አማርኛ Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)