من ميلفوس 1.x
يوفر هذا الدليل عملية شاملة وخطوة بخطوة لترحيل البيانات من Milvus 1.x (بما في ذلك 0.9.x وما فوق) إلى Milvus 2.x. باتباع هذا الدليل، ستتمكن من نقل بياناتك بكفاءة، والاستفادة من ميزات Milvus 2.x المتقدمة والأداء المحسّن.
المتطلبات الأساسية
- إصدارات البرامج:
- المصدر ميلفوس المصدر: 0.9.x إلى 1.x
- الهدف ملفوس: 2.x
- الأدوات المطلوبة:
- أداةالترحيل Milvus-migration. للحصول على تفاصيل التثبيت، راجع تثبيت أداة الترحيل.
تصدير البيانات الوصفية الخاصة بتثبيت Milvus المصدر
لإعداد بيانات الترحيل لـ Milvus 0.9.x حتى 1.x، قم بإيقاف Milvus المصدر أو على الأقل إيقاف تنفيذ أي عمليات DML فيه.
تصدير البيانات الوصفية لتثبيت المصدر Milvus المصدر إلى
meta.json.- بالنسبة لتلك التثبيتات التي تستخدم MySQL كواجهة خلفية، قم بتشغيل
./milvus-migration export -m "user:password@tcp(adderss)/milvus?charset=utf8mb4&parseTime=True&loc=Local" -o outputDir- بالنسبة لتلك التثبيتات التي تستخدم SQLite كواجهة خلفية، قم بتشغيل
./milvus-migration export -s /milvus/db/meta.sqlite -o outputDirانسخ المجلد
tablesمن تثبيت Milvus الخاص بك، ثم انقل المجلدmeta.jsonوالمجلدtablesإلى مجلد فارغ.بمجرد الانتهاء من هذه الخطوة، يجب أن تبدو بنية المجلد الفارغ بهذا الشكل:
migration_data ├── meta.json └── tablesقم بتحميل المجلد الذي تم إعداده في الخطوة السابقة إلى دلو تخزين كتلة S3 أو استخدم هذا المجلد المحلي مباشرة في القسم التالي.
تكوين ملف الترحيل
احفظ مثال ملف تهيئة الترحيل بصيغة migration.yaml وقم بتعديل التكوينات بناءً على ظروفك الفعلية. لك الحرية في وضع ملف التكوين في أي دليل محلي.
dumper:
worker:
limit: 2
workMode: milvus1x
reader:
bufferSize: 1024
writer:
bufferSize: 1024
loader:
worker:
limit: 16
meta:
mode: local
localFile: /outputDir/test/meta.json
source:
mode: local
local:
tablesDir: /db/tables/
target:
mode: remote
remote:
outputDir: "migration/test/xx"
ak: xxxx
sk: xxxx
cloud: aws
region: us-west-2
bucket: xxxxx
useIAM: true
checkBucket: false
milvus2x:
endpoint: "{yourMilvus2_xServerAddress}:{port}"
username: xxxx
password: xxxx
يصف الجدول التالي المعلمات في ملف التكوين النموذجي. للحصول على قائمة كاملة بالتكوينات، ارجع إلى Milvus Migration: Milvus1.x إلى Milvus 2.x.
dumperالمعلمة الوصف dumper.worker.limitتزامن خيوط الترحيل. dumper.worker.workModeالوضع التشغيلي لمهمة الترحيل. تعيين إلى milvus1xعند الترحيل من Milvus 1.x.dumper.worker.reader.bufferSizeحجم المخزن المؤقت للقراءة من Milvus 1.x في كل دفعة. الوحدة: كيلوبايت. dumper.worker.writer.bufferSizeحجم المخزن المؤقت للكتابة إلى Milvus 2.x في كل دفعة. الوحدة: كيلوبايت: كيلوبايت. loaderالمعلمة الوصف loader.worker.limitتزامن خيوط المحمل. metaالمعلمة الوصف meta.modeتحديد مكان قراءة ملف التعريف meta.json. قيم صالحة: local،remote،mysql، ،sqlite.meta.localFileمسار الدليل المحلي حيث يوجد الملف meta.json. يتم استخدام هذا التكوين فقط عندما يتم تعيينmeta.modeعلىlocal. للحصول على تكوينات التعريف الأخرى، راجع README_1X.sourceالمعلمة الوصف source.modeيحدد مكان قراءة الملفات المصدر من. القيم الصالحة:
-local: يقرأ الملفات من قرص محلي.
-remote: يقرأ الملفات من وحدة تخزين بعيدة.source.local.tablesDirمسار الدليل حيث توجد الملفات المصدر. على سبيل المثال، /db/tables/.targetالمعلمة الوصف target.modeموقع التخزين للملفات الملقاة. القيم الصالحة:
-local: تخزين الملفات الملقاة على الأقراص المحلية.
-remote: تخزين الملفات الملقاة على وحدة تخزين الكائنات.target.remote.outputDirمسار دليل الإخراج في دلو التخزين السحابي. target.remote.akمفتاح الوصول للتخزين Milvus 2.x. target.remote.skالمفتاح السري للتخزين Milvus 2.x. target.remote.cloudمزود خدمة التخزين السحابي. مثال على القيم: aws،gcp،azure.target.remote.regionمنطقة التخزين السحابي. يمكن أن تكون أي قيمة إذا كنت تستخدم MinIO المحلي. target.remote.bucketاسم الدلو لتخزين البيانات. يجب أن تكون القيمة هي نفس قيمة التكوين في Milvus 2.x. لمزيد من المعلومات، راجع تكوينات النظام. target.remote.useIAMما إذا كنت تريد استخدام دور IAM للاتصال. target.remote.checkBucketما إذا كان سيتم التحقق من وجود الدلو المحدد في تخزين الكائنات. target.milvus2x.endpointعنوان خادم Milvus الهدف. target.milvus2x.usernameاسم المستخدم لخادم Milvus 2.x. هذه المعلمة مطلوبة إذا تم تمكين مصادقة المستخدم لخادم Milvus الخاص بك. لمزيد من المعلومات، راجع تمكين المصادقة. target.milvus2x.passwordكلمة المرور لخادم Milvus 2.x. هذه المعلمة مطلوبة إذا تم تمكين مصادقة المستخدم لخادم Milvus الخاص بك. لمزيد من المعلومات، راجع تمكين المصادقة.
بدء مهمة الترحيل
ابدأ مهمة الترحيل باستخدام الأمر التالي. استبدل
{YourConfigFilePath}بالدليل المحلي حيث يوجد ملف التكوينmigration.yaml../milvus-migration dump --config=/{YourConfigFilePath}/migration.yamlيقوم الأمر أعلاه بتحويل بيانات المصدر في Milvus 1.x إلى ملفات NumPy، ثم يستخدم عملية الإدراج الجماعي لكتابة البيانات إلى الحزمة المستهدفة.
بمجرد إنشاء ملفات NumPy، قم باستيراد هذه الملفات إلى Milvus 2.x باستخدام الأمر التالي. استبدل
{YourConfigFilePath}بالدليل المحلي حيث يوجد ملف التكوينmigration.yaml../milvus-migration load --config=/{YourConfigFilePath}/migration.yaml
تحقق من النتيجة
بمجرد تنفيذ مهمة الترحيل، يمكنك إجراء مكالمات واجهة برمجة التطبيقات أو استخدام Attu لعرض عدد الكيانات التي تم ترحيلها. لمزيد من المعلومات، راجع Attu و get_collection_stats().