الفصل 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) مع إعادة اتصال تلقائية بمجرد إقلاع الإصدار الجديد.