من ميلفوس 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().