🚀 جرب Zilliz Cloud، الـ Milvus المدارة بالكامل، مجاناً — تجربة أداء أسرع بـ 10 أضعاف! جرب الآن>>

milvus-logo
LFAI
الصفحة الرئيسية
  • الأدوات
  • Home
  • Docs
  • الأدوات

  • النسخ الاحتياطي ميلفوس

  • واجهة برمجة تطبيقات RESTful API

النسخ الاحتياطي واستعادة البيانات باستخدام واجهات برمجة التطبيقات

يوفر برنامج Milvus Backup ميزات النسخ الاحتياطي للبيانات واستعادتها لضمان أمان بيانات Milvus الخاصة بك.

الحصول على النسخ الاحتياطي لميلفوس

يمكنك إما تنزيل النسخة الثنائية المجمعة أو الإنشاء من المصدر.

لتنزيل الإصدار الثنائي المترجم، انتقل إلى صفحة الإصدار، حيث يمكنك العثور على جميع الإصدارات الرسمية. تذكر، استخدم دائمًا الثنائيات الموجودة في الإصدار الذي يحمل علامة الأحدث.

للتجميع من المصدر، قم بما يلي:

git clone git@github.com:zilliztech/milvus-backup.git
go get
go build

إعداد ملف التكوين

قم بتنزيل ملف التكوين النموذجي وقم بتخصيصه ليناسب احتياجاتك.

ثم قم بإنشاء مجلد إلى جانب الإصدار الثنائي الذي تم تنزيله أو إنشاؤه من Milvus Backup، وقم بتسمية المجلد configs ، وضع ملف التكوين داخل المجلد configs.

يجب أن تكون بنية مجلدك مشابهة لما يلي:

  
  workspace
  ├── milvus-backup
  └── configs
      └── backup.yaml
  

نظرًا لأن ملف Milvus Backup لا يمكنه نسخ بياناتك احتياطيًا إلى مسار محلي، تأكد من صحة إعدادات Minio عند تخصيص ملف التكوين.

يختلف اسم دلو Minio الافتراضي باختلاف طريقة تثبيت Milvus. عند إجراء تغييرات على إعدادات Minio، قم بالرجوع إلى الجدول التالي.

الحقلدلو الإرساءهيلم / مشغل ميلفوس
bucketNameدلوميلفوس-الدلو
rootPathالملفاتملف

بدء تشغيل خادم API

ثم يمكنك بدء تشغيل خادم API على النحو التالي:

./milvus-backup server

يستمع خادم API على المنفذ 8080 افتراضيًا. يمكنك تغييره عن طريق تشغيله باستخدام العلامة -p. لبدء استماع خادم واجهة برمجة التطبيقات على المنفذ 443، قم بما يلي:

./milvus-backup server -p 443

يمكنك الوصول إلى واجهة مستخدم Swagger UI باستخدام http://localhost:/api/v1/docs/index.html.

إعداد البيانات

إذا قمت بتشغيل مثيل Milvus محلي فارغ يستمع على المنفذ الافتراضي 19530، استخدم مثال البرامج النصية Python لإنشاء بعض البيانات في مثيلك. لا تتردد في إجراء التغييرات اللازمة على البرامج النصية لتناسب احتياجاتك.

احصل على البرامج النصية. ثم قم بتشغيل البرامج النصية لإنشاء البيانات. تأكد من تثبيت PyMilvus، وهي مجموعة أدوات تطوير البرمجيات الرسمية لـ Milvus Python SDK.

python example/prepare_data.py

هذه الخطوة اختيارية. إذا تخطيت هذه الخطوة، تأكد من أن لديك بالفعل بعض البيانات في مثيل Milvus الخاص بك.

النسخ الاحتياطي للبيانات

لاحظ أن تشغيل النسخ الاحتياطي لـ Milvus Backup على مثيل Milvus لن يؤثر عادةً على تشغيل المثيل. يعمل مثيل Milvus الخاص بك بشكل كامل أثناء النسخ الاحتياطي أو الاستعادة.

قم بتشغيل الأمر التالي لإنشاء نسخة احتياطية. قم بتغيير collection_names و backup_name إذا لزم الأمر.

curl --location --request POST 'http://localhost:8080/api/v1/create' \
--header 'Content-Type: application/json' \
--data-raw '{
  "async": true,
  "backup_name": "my_backup",
  "collection_names": [
    "hello_milvus"
  ]
}'

بمجرد تنفيذ الأمر، يمكنك سرد النسخ الاحتياطية في الدلو المحدد في إعدادات Minio على النحو التالي:

curl --location --request GET 'http://localhost:8080/api/v1/list' \
--header 'Content-Type: application/json'

وتنزيل ملفات النسخ الاحتياطية على النحو التالي:

curl --location --request GET 'http://localhost:8080/api/v1/get_backup?backup_id=<test_backup_id>&backup_name=my_backup' \
--header 'Content-Type: application/json'

أثناء تشغيل الأمر أعلاه، قم بتغيير backup_id و backup_name إلى العنوان الذي تم إرجاعه بواسطة واجهة برمجة تطبيقات القائمة.

الآن، يمكنك حفظ ملفات النسخ الاحتياطية في مكان آمن لاستعادتها في المستقبل، أو تحميلها إلى Zilliz Cloud لإنشاء قاعدة بيانات متجهة مُدارة ببياناتك. لمزيد من التفاصيل، راجع الترحيل من ميلفوس إلى زيليز كلاود.

استعادة البيانات

يمكنك استدعاء أمر استعادة واجهة برمجة التطبيقات مع خيار collection_suffix لإنشاء مجموعة جديدة من خلال استعادة البيانات من النسخة الاحتياطية. قم بتغيير collection_names و backup_name إذا لزم الأمر.

curl --location --request POST 'http://localhost:8080/api/v1/restore' \
--header 'Content-Type: application/json' \
--data-raw '{
    "async": true,
    "collection_names": [
    "hello_milvus"
  ],
    "collection_suffix": "_recover",
    "backup_name":"my_backup"
}'

يتيح لك الخيار collection_suffix تعيين لاحقة للمجموعة الجديدة المراد إنشاؤها. سيؤدي الأمر أعلاه إلى إنشاء مجموعة جديدة تسمى hello_milvus_recover في مثيل Milvus الخاص بك.

إذا كنت تفضل استعادة المجموعة التي تم نسخها احتياطيًا دون تغيير اسمها، فقم بإسقاط المجموعة قبل استعادتها من النسخة الاحتياطية. يمكنك الآن تنظيف البيانات التي تم إنشاؤها في إعداد البيانات عن طريق تشغيل الأمر التالي.

python example/clean_data.py

ثم قم بتشغيل الأمر التالي لاستعادة البيانات من النسخة الاحتياطية.

curl --location --request POST 'http://localhost:8080/api/v1/restore' \
--header 'Content-Type: application/json' \
--data-raw '{
    "async": true,
    "collection_names": [
    "hello_milvus"
  ],
    "collection_suffix": "",
    "backup_name":"my_backup"
}'

يمكن أن تستغرق عملية الاستعادة وقتاً طويلاً اعتماداً على حجم البيانات المراد استعادتها. لذلك، يتم تشغيل جميع مهام الاستعادة بشكل غير متزامن. يمكنك التحقق من حالة مهمة الاستعادة عن طريق التشغيل:

curl --location --request GET 'http://localhost:8080/api/v1/get_restore?id=<test_restore_id>' \
--header 'Content-Type: application/json'

تذكّر تغيير test_restore_id إلى تلك التي تمت استعادتها بواسطة واجهة برمجة تطبيقات الاستعادة.

التحقق من البيانات المستعادة

بمجرد اكتمال الاستعادة، يمكنك التحقق من البيانات المستعادة عن طريق فهرسة المجموعة المستعادة على النحو التالي:

python example/verify_data.py

لاحظ أن البرنامج النصي أعلاه يفترض أنك قمت بتشغيل الأمر restore مع العلم -s وتعيين اللاحقة على -recover. لا تتردد في إجراء التغييرات اللازمة على البرنامج النصي لتناسب حاجتك.

جرب Managed Milvus مجاناً

Zilliz Cloud خالي من المتاعب، ويعمل بواسطة Milvus ويعمل بسرعة 10 أضعاف.

ابدأ
التعليقات

هل كانت هذه الصفحة مفيدة؟