الفصل 18
الامتثال والتخزين & التشغيل
الإدارة:
#pSystem
محركات التخزين (SQLite وMS SQL Server وPostgreSQL 18) والعنقدة & أداة التحديث
يفصل nextxch بوضوح بين البيانات الوصفية المهيكلة وفهارس النص الكامل من جهة، والكائنات الثنائية MIME المضغوطة بـ Zstandard مع إزالة التكرار بـ SHA-256 من جهة أخرى (-62% من مساحة القرص). اختاروا بحرية بين ثلاثة محركات SQL من الدرجة الأولى دون أي اعتماد على Redis أو Elasticsearch أو Kafka.
نصيحة تشغيلية وملاحظة حول البنية
قبل تطبيق أي تحديث موضعي، تتحقق أداة التحديث المدمجة بنقرة واحدة (#pSystem) تشفيريًا من ملخص SHA-256 مقابل SHA256SUMS.txt، مع الحفاظ التام على appsettings.Production.json وشهادات TLS وبيانات صناديق البريد.
نموذج لإعداد التخزين في appsettings.Production.json
اختاروا 'Sqlite' (عقدة واحدة) أو 'SqlServer' (Windows / Azure SQL) أو 'Postgres' (عنقود Linux عالي التوافر).
{
"Storage": {
"Provider": "SqlServer",
"ConnectionString": "Server=sql01.intern;Database=nextxch;Integrated Security=True;TrustServerCertificate=True;",
"BlobDirectory": "D:\\NextxchData\\blobs"
}
}
الإعدادات والقيم الافتراضية وأفضل الممارسات
| الإعداد / الموقع | الوصف | القيمة الافتراضية | أفضل ممارسة للإنتاج |
|---|---|---|---|
SQLite WAL (Storage:Provider = Sqlite) |
قاعدة بيانات مضمّنة دون أي تكوين تعمل في وضع Write-Ahead-Logging (WAL) مع بحث FTS5 مدمج ودون أي خدمات خارجية. | Standard für Einzelserver |
مثالي لعمليات النشر على عقدة واحدة حتى نحو 250 صندوق بريد نشط على تخزين SSD/NVMe محلي (لا تضعوا أبدًا ملفات SQLite WAL على مشاركات شبكة SMB/NFS!). |
Microsoft SQL Server (SqlServer) |
محرك Microsoft.Data.SqlClient من الدرجة الأولى لـ SQL Server 2019-2025 وExpress وDocker وAzure SQL مع العنقدة عبر sp_getapplock وبحث دون إضافات. | READ_COMMITTED_SNAPSHOT auto |
الخيار الأفضل للبنية التحتية القائمة على Windows Server: يعمل مباشرة حتى على SQL Server Express دون الحاجة إلى إضافات البحث في النص الكامل لنظام التشغيل. |
PostgreSQL 18 (Postgres) |
محرك عنقود Active-Active عالي الإنتاجية يستفيد من LISTEN/NOTIFY (دفع في < 2 ms) وجداول UNLOGGED وpg_try_advisory_lock. | Empfohlen für Linux-Cluster |
المحرك المرجعي من 500 حتى أكثر من 100,000 صندوق بريد وعناقيد Linux/Kubernetes متعددة العقد بنمط Active-Active. |
Deutsche Volltextsuche (alle drei Engines) |
جذوع الكلمات الألمانية (Snowball german2) في عمود منفصل أو كبادئة رموز على SQL Server، ونسخ الأحرف المعلّمة (ae وoe وue)، والكلمات المركبة، ومحاولة ثانية مع تصحيح الأخطاء الإملائية على مفردات الفهرس عند عدم وجود نتائج. | Ohne Zusatzdienst |
القياس باستخدام حالات اختبار ألمانية اصطناعية موجود في المستودع ضمن bench/ (متوسط الاستدعاء 87%). لا يُعثر على أجزاء الكلمات الواقعة في منتصف كلمة مركبة؛ فذلك يتطلب قاموسًا. |
1-Klick-System-Updater (#pSystem) |
يفحص /api/releases/latest، ويتحقق من مجاميع SHA-256، ويجهّز الملفات الثنائية، ويعيد تشغيل خدمة Windows أو وحدة systemd بسلاسة. | SHA-256-geprüft |
شغّلوا التحديثات بنقرة واحدة مباشرة من #pSystem (أو عبر install.sh --update / معالج MSI) مع إعادة اتصال تلقائية بمجرد إقلاع الإصدار الجديد. |