هل يستطيع Home Assistant استخدام قاعدة بيانات خارجية دون التسبب في مشكلات أثناء الترقية؟

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

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

يتمثل النموذج الأكثر أمانًا في إبقاء Home Assistant وقاعدة البيانات ضمن دورتي حياة مستقلتين لكن منسقتين. أجرِ نسخًا احتياطية لكليهما، وتجنب إصدارات قواعد البيانات غير المدعومة، وحافظ على الأذونات اللازمة لترحيلات المخطط، واختبر مسار الاستعادة قبل السماح بالترقيات غير المراقبة على الجانبين في الوقت نفسه.

استخدم واجهة Recorder الخلفية التي يدعمها Home Assistant فعليًا

ينبغي إعداد قاعدة البيانات الخارجية من خلال Recorder بدل التعامل معها كنقطة نهاية SQL عامة. تُعد MariaDB خيارًا شائعًا، ويوثق تطبيق MariaDB المُدار من Home Assistant قاعدة البيانات والمستخدم والامتيازات وسلسلة اتصال Recorder المطلوبة للخدمة.

تسرد وثائق Recorder الحالية في Home Assistant كلاً من MariaDB وMySQL وPostgreSQL وSQLite بوصفها واجهات خلفية مدعومة، مع الإبقاء صراحةً على SQLite كقاعدة البيانات الافتراضية والموصى بها. لذلك تُعد قاعدة البيانات الخارجية مدعومة، لكنها خيار تشغيلي وليست مسار ترقية مطلوبًا.

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

قد تتضمن ترقيات Home Assistant ترحيلات لمخطط Recorder

قد يتطلب تغيير إصدار Home Assistant ترحيل مخطط قاعدة البيانات في Recorder قبل أن يعود السجل والإحصاءات إلى العمل الطبيعي. وخلال هذه الفترة قد يتراجع أداء قاعدة البيانات مؤقتًا، كما أن إعادة التشغيل في منتصف الترحيل قد تجعل الاسترداد أكثر صعوبة.

قد يحتاج Home Assistant Recorder إلى تحديث مخططه أثناء تغيير الإصدار، بينما يملك خادم قاعدة البيانات دورة ترقية خاصة به. وتوصي إرشادات ترقية MariaDB لعام 2026 بـ أخذ نسخة احتياطية كاملة، ومراجعة الإصدار المستهدف، وتشغيل أدوات ترقية قاعدة البيانات، والتحقق من التطبيق بعد تغيير الخادم.

قبل ترقية رئيسية لـ Home Assistant، خذ نسخة احتياطية متسقة مع قاعدة البيانات وتحقق من المساحة الحرة وصحة قاعدة البيانات. وإذا كنت تخطط أيضًا لترقية MariaDB أو MySQL أو PostgreSQL، فتجنب تغيير المنتجين في الوقت نفسه إلا إذا كانت خطة التراجع لديك تغطي كلا الإصدارين.

يصبح التوفر الخارجي جزءًا من موثوقية Recorder

تضيف قاعدة البيانات الخارجية نظام DNS والشبكة والمصادقة وعملية الخادم والتخزين وتوفر قاعدة البيانات إلى مسار Recorder. يمكن لـ Home Assistant مواصلة تشغيل الأتمتة المحلية بينما يكون السجل غير سليم، لذلك قد يكون تعطل قاعدة البيانات أقل وضوحًا من تعطل Core.

توضح مشكلة حالية في Recorder لعام 2026 هذا الخطر التشغيلي: فقدان اتصال PostgreSQL بعد بدء التشغيل العادي أدى إلى توقف Recorder عن الكتابة حتى إعادة تشغيل Home Assistant في البيئة المُبلغ عنها.

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

يجب أن تتضمن اختبارات الاستعادة إصدار خادم قاعدة البيانات

إن نجاح استعادة تفريغ SQL إلى إصدار واحد من قاعدة البيانات لا يثبت نجاح استعادته إلى كل إصدار مستقبلي. لمحركات قواعد البيانات قواعد مخططها الخاصة وتغييرات توافق مستقلة عن Home Assistant.

كما يهم تنسيق النسخ الاحتياطي. تميز إرشادات النسخ الاحتياطي في MariaDB بين النسخ الاحتياطية المنطقية بصيغة SQL، التي تتمتع بقابلية نقل نسبية، والنسخ الاحتياطية الفعلية التي ترتبط ارتباطًا أوثق بملفات قاعدة البيانات وبيئة الخادم. اختبر هدف الاستعادة الفعلي بدل افتراض أن كل أرشيف قابل للتبادل بين إصدارات قواعد البيانات المستقبلية.

احتفظ بإصدار Home Assistant ومحرك قاعدة البيانات وإصدار قاعدة البيانات ومكان سلسلة الاتصال وطريقة النسخ الاحتياطي وإجراء الاستعادة معًا في سجل التعافي.

أبقِ قاعدة البيانات منفصلة فقط عندما تكون الحدود الإضافية مجدية

قد تكون قاعدة البيانات الخارجية مناسبة عندما تعتمد عدة خدمات بالفعل على منصة قواعد بيانات مُدارة، أو عندما يكون مضيف Home Assistant مؤقتًا، أو عندما تكون سياسات التخزين والنسخ الاحتياطي لقاعدة البيانات مركزية عن قصد. لكنها ليست أسرع أو أكثر أمانًا تلقائيًا من SQLite المحلية.

تقدم مقالة ZimaSpace حول فصل التخزين ذي الحالة عن الحوسبة المتقطعة الاختبار المعماري نفسه: افصل الأدوار فقط عندما تبرر دورة الحياة المستقلة أو نطاق الفشل أو نمط الموارد الإضافي، الاعتمادَ الإضافي على الشبكة والاسترداد.

إذا كانت قاعدة البيانات الخارجية تنشئ ترابطًا أكبر بين الترقيات مما تزيله، فعد إلى تخطيط أبسط ومدعوم بدل الإبقاء عليها لمجرد أن عبارة «قاعدة بيانات خارجية» تبدو أكثر قابلية للتوسع.

الأسئلة الشائعة

هل أحتاج إلى MariaDB أو PostgreSQL لتثبيت Home Assistant كبير؟

لا. تظل واجهة SQLite الخلفية الافتراضية في Home Assistant خيارًا صالحًا وموصى به. انتقل إلى قاعدة بيانات خارجية فقط عندما يكون لديك سبب تشغيلي مقاس ومستعد لتحمل مسؤولية الخدمة الإضافية.

هل ينبغي أن أرقي Home Assistant وقاعدة البيانات الخارجية في اليوم نفسه؟

يُفضل تغيير طبقة واحدة ذات حالة في كل مرة. أجرِ نسخة احتياطية أولًا، وتحقق من قاعدة البيانات على إصدارها الحالي، ورقِّ مكونًا واحدًا، وتحقق من Recorder، ثم فكر في الترقية الأخرى.

الدعم والنصائح

المزيد للقراءة

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.