أفضل الممارسات للتخزين المتدرجCompatible with Milvus 2.6.4+
يوفر Milvus التخزين المتدرج لمساعدتك على التعامل بكفاءة مع البيانات واسعة النطاق مع موازنة زمن استجابة الاستعلام والسعة واستخدام الموارد. يلخّص هذا الدليل التكوينات الموصى بها لأحمال العمل النموذجية ويشرح المنطق وراء كل استراتيجية ضبط.
قبل البدء
ميلفوس الإصدار 2.6.4 أو أحدث
يجب أن تحتوي عقد الاستعلام على موارد محلية مخصصة (ذاكرة وقرص). قد تشوه البيئات المشتركة تقدير ذاكرة التخزين المؤقت وتؤدي إلى سوء تقدير الإخلاء.
اختر الاستراتيجية الصحيحة
يوفر التخزين المتدرج استراتيجيات تحميل وتخزين مؤقت مرنة يمكن دمجها لتناسب عبء العمل لديك.
الهدف |
التركيز الموصى به |
الآلية الرئيسية |
|---|---|---|
تقليل وقت استجابة الاستعلام الأول |
التحميل المسبق للحقول الحرجة |
الإحماء |
التعامل مع البيانات واسعة النطاق بكفاءة |
التحميل عند الطلب |
تحميل كسول + تحميل جزئي |
الحفاظ على الاستقرار على المدى الطويل |
منع تجاوز ذاكرة التخزين المؤقت |
الإخلاء |
موازنة الأداء والسعة |
الجمع بين التحميل المسبق والتخزين المؤقت الديناميكي |
التكوين الهجين |
السيناريو 1: الاسترجاع في الوقت الحقيقي، والاسترجاع في وقت الاستجابة المنخفض
متى تستخدم
وقت استجابة الاستعلام أمر بالغ الأهمية (على سبيل المثال، التوصية في الوقت الفعلي أو ترتيب البحث)
يتم الوصول إلى فهارس المتجهات الأساسية والمرشحات القياسية بشكل متكرر
الأداء المتسق أكثر أهمية من سرعة بدء التشغيل
التكوين الموصى به
# milvus.yaml
queryNode:
segcore:
tieredStorage:
warmup:
# scalar field/index warm-up to eliminate first-time latency
scalarField: sync
scalarIndex: sync
# warm-up of vector fields is disabled (if the original vector is not required)
vectorField: disable
# vector indexes warm-up to elminate first-time latenct
vectorIndex: sync
# enable cache eviction, and also turn on background asynchronous eviction
# to reduce the triggering of synchronous eviction.
evictionEnabled: true
backgroundEvictionEnabled: true
memoryLowWatermarkRatio: 0.75
memoryHighWatermarkRatio: 0.8
diskLowWatermarkRatio: 0.75
diskHighWatermarkRatio: 0.8
# no expiration time, which avoids frequent reloading
cacheTtl: 0
الأساس المنطقي
يعمل الإحماء على التخلص من زمن الوصول الأول للفهارس القياسية والمتجهة عالية التردد.
يحافظ الإخلاء في الخلفية على ثبات ضغط ذاكرة التخزين المؤقت دون عرقلة الاستعلامات.
يؤدي تعطيل TTL لذاكرة التخزين المؤقت إلى تجنب عمليات إعادة التحميل غير الضرورية للبيانات الساخنة.
السيناريو 2: التحليل الدفعي غير المتصل بالإنترنت
عند الاستخدام
تحمّل وقت استجابة الاستعلام مرتفع
تتضمن أحمال العمل مجموعات بيانات ضخمة أو العديد من الأجزاء
يتم إعطاء الأولوية للقدرة والإنتاجية على الاستجابة
التكوين الموصى به
# milvus.yaml
queryNode:
segcore:
tieredStorage:
enabled: true
warmup:
# disable scalar field/index warm-up to speed up loading
scalarField: disable
scalarIndex: disable
# disable vector field/index warm-up to speed up loading
vectorField: disable
vectorIndex: disable
# enable cache eviction, and also turn on background asynchronous eviction
# to reduce the triggering of synchronous eviction.
evictionEnabled: true
backgroundEvictionEnabled: true
memoryLowWatermarkRatio: 0.7
memoryHighWatermarkRatio: 0.85
diskLowWatermarkRatio: 0.7
diskHighWatermarkRatio: 0.85
# use 1 day expiration to clean unused cache
cacheTtl: 86400
الأساس المنطقي
يؤدي تعطيل الإحماء إلى تسريع بدء التشغيل عند تهيئة العديد من المقاطع.
تسمح العلامات المائية الأعلى باستخدام ذاكرة تخزين مؤقت أكثر كثافة، مما يحسن سعة التحميل الإجمالية.
يقوم TTL TTL لذاكرة التخزين المؤقت تلقائيًا بتنظيف البيانات غير المستخدمة لتحرير مساحة محلية.
السيناريو 3: النشر المختلط (مختلط متصل + غير متصل)
عند الاستخدام
مجموعة واحدة تخدم كلاً من أحمال العمل عبر الإنترنت والتحليلية
تتطلب بعض المجموعات وقت استجابة منخفض، بينما تعطي مجموعات أخرى الأولوية للسعة
الاستراتيجية الموصى بها
تطبيق التكوين في الوقت الفعلي على المجموعات الحساسة لزمن الاستجابة
تطبيق التكوين غير المتصل على المجموعات التحليلية أو الأرشيفية
اضبط نسبة ذاكرة التخزين المؤقت القابلة للإخلاء ونسبة ذاكرة التخزين المؤقت ونسب العلامات المائية بشكل مستقل لكل نوع من أنواع أحمال العمل
الأساس المنطقي
يسمح الجمع بين التكوينات بالتحكم الدقيق في تخصيص الموارد.
تحافظ المجموعات الحرجة على ضمانات الكمون المنخفض، بينما يمكن للمجموعات الثانوية التعامل مع المزيد من المقاطع وحجم البيانات.
نصائح ضبط إضافية
الجانب |
التوصية |
الشرح |
|---|---|---|
نطاق الإحماء |
التحميل المسبق للحقول أو الفهارس ذات التكرار العالي للاستعلام فقط. |
يزيد التحميل المسبق غير الضروري من وقت التحميل واستخدام الموارد. |
ضبط الإخلاء |
ابدأ بعلامات مائية افتراضية (75-80%) واضبطها تدريجيًا. |
تتسبب الفجوة الصغيرة في الإخلاء المتكرر؛ الفجوة الكبيرة تؤخر تحرير الموارد. |
TTL TTL لذاكرة التخزين المؤقت |
تعطيل لمجموعات البيانات الساخنة المستقرة؛ تمكين (على سبيل المثال، 1-3 أيام) للبيانات الديناميكية. |
يمنع تراكم ذاكرة التخزين المؤقت التي لا معنى لها مع موازنة نفقات التنظيف الزائدة. |
نسبة الالتزام الزائد |
تجنب القيم > 0.7 إلا إذا كانت مساحة رأس الموارد كبيرة. |
قد يؤدي الإفراط في الالتزام المفرط إلى تعطل ذاكرة التخزين المؤقت وعدم استقرار زمن الاستجابة. |
المراقبة |
تتبع نسبة إصابة ذاكرة التخزين المؤقت واستخدام الموارد وتكرار الإخلاء. |
قد تشير الأحمال الباردة المتكررة إلى أن الإحماء أو العلامات المائية تحتاج إلى تعديل. |