التوفر العالي لقاعدة البيانات الناقلة: كيفية إنشاء مجموعة احتياطية لقاعدة بيانات ميلفوس الاحتياطية باستخدام CDC

  • Tutorials
March 26, 2026
Cal Huang

تحتاج كل قاعدة بيانات إنتاج إلى خطة عندما تسوء الأمور. لقد كان لدى قواعد البيانات العلائقية شحن WAL، والنسخ المتماثل بين المدونات، والتجاوز الآلي للأعطال لعقود من الزمن. لكن قواعد البيانات المتجهة - على الرغم من أنها أصبحت بنية تحتية أساسية لتطبيقات الذكاء الاصطناعي - لا تزال في طور اللحاق بالركب في هذا المجال. فمعظمها يوفر التكرار على مستوى العقدة في أحسن الأحوال. إذا تعطلت مجموعة كاملة، فإنك تقوم بالاستعادة من النسخ الاحتياطية وإعادة بناء فهارس المتجهات من الصفر - وهي عملية قد تستغرق ساعات وتكلف الآلاف في الحوسبة، لأن إعادة إنشاء التضمينات من خلال خط أنابيب التعلم الآلي ليس رخيصاً.

يتبعميلفوس نهجاً مختلفاً. فهو يوفر توافرًا عالي الطبقات: نسخ متماثلة على مستوى العقدة للتجاوز السريع للفشل داخل المجموعة، والنسخ المتماثل القائم على CDC للحماية على مستوى المجموعة والحماية عبر المناطق، والنسخ الاحتياطي لاستعادة شبكة الأمان. هذا النموذج متعدد الطبقات هو ممارسة قياسية في قواعد البيانات التقليدية - ميلفوس هو أول قاعدة بيانات متجهة رئيسية تجلبه إلى أعباء عمل المتجهات.

يغطي هذا الدليل أمرين: استراتيجيات التوافر العالي المتاحة لقواعد البيانات المتجهة (حتى تتمكن من تقييم ما تعنيه عبارة "جاهز للإنتاج" في الواقع)، وبرنامج تعليمي عملي لإعداد النسخ المتماثل الأساسي والاحتياطي لقاعدة بيانات Milvus CDC من الصفر.

هذا هو الجزء 1 من سلسلة:

  • الجزء 1 (هذه المقالة): إعداد النسخ المتماثل الابتدائي-الاحتياطي على مجموعات جديدة
  • الجزء 2: إضافة CDC إلى مجموعة حالية تحتوي على بيانات بالفعل، باستخدام النسخ الاحتياطي ل Milvus Backup
  • الجزء 3: إدارة تجاوز الفشل - ترقية النسخة الاحتياطية عند تعطل الأساسي

لماذا يعتبر التوفر العالي أكثر أهمية لقواعد البيانات الناقلة؟

عندما تتعطل قاعدة بيانات SQL التقليدية، فإنك تفقد إمكانية الوصول إلى السجلات المنظمة - ولكن يمكن عادةً إعادة استيراد البيانات نفسها من مصادر المنبع. عندما تتعطل قاعدة البيانات المتجهة، يكون الاسترداد أصعب بشكل أساسي.

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

وفي الوقت نفسه، غالباً ما تكون الأنظمة التي تعتمد على البحث عن المتجهات في المسار الحرج:

  • خطوط أنابيبRAG التي تشغل روبوتات الدردشة والبحث التي تواجه العملاء - إذا تعطلت قاعدة بيانات المتجهات، يتوقف الاسترجاع ويعيد الذكاء الاصطناعي إجابات عامة أو مهلوسة.
  • محركات التوصيات التي تقدم اقتراحات المنتجات أو المحتوى في الوقت الفعلي - إذا تعطلت هذه المحركات فإن ذلك يعني ضياع الإيرادات.
  • أنظمةالكشف عن الاحتيال ومراقبة الحالات الشاذة التي تعتمد على البحث عن التشابه للإبلاغ عن النشاط المشبوه - أي فجوة في التغطية تخلق نافذة من الضعف.
  • أنظمة الوكلاء المستقلين التي تستخدم مخازن المتجهات للذاكرة واسترجاع الأدوات - يفشل الوكلاء أو يتعطلون بدون قاعدة معرفتهم.

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

كيف يبدو التوافر العالي على مستوى الإنتاج لقاعدة بيانات المتجهات؟

ليست كل التوافر العالي متساوية. قاعدة البيانات المتجهة التي تتعامل فقط مع حالات فشل العقدة داخل مجموعة واحدة ليست "متاحة بدرجة عالية" بالطريقة التي يتطلبها نظام الإنتاج. يحتاج HA الحقيقي إلى تغطية ثلاث طبقات:

الطبقةما تحميهكيف تعملوقت الاستردادفقدان البيانات
على مستوى العقدة (متعدد النسخ)تعطل عقدة واحدة، أو فشل في الأجهزة، أو تعطل OOM، أو فشل AZنسخ مقاطع البيانات نفسها عبر عقد متعددة؛ العقد الأخرى تمتص الحملفوريصفر
على مستوى المجموعة (النسخ المتماثل CDC)تعطل المجموعة بأكملها - طرح سيء ل K8s، حذف مساحة الاسم، تلف التخزيندفق كل عملية كتابة إلى مجموعة احتياطية عبر سجل الكتابة الأمامي؛ يكون الاحتياطي دائمًا متأخرًا بثوانٍدقائقثوانٍ
شبكة الأمان (النسخ الاحتياطي الدوري)تلف البيانات الكارثي، وبرامج الفدية، والخطأ البشري الذي ينتشر من خلال النسخ المتماثلأخذ لقطات دورية وتخزينها في موقع منفصلساعاتساعات (منذ آخر نسخة احتياطية)

هذه الطبقات مكملة وليست بدائل. يجب أن يكدسها نشر الإنتاج:

  1. Multi-replica أولاً - تتعامل مع الأعطال الأكثر شيوعًا (تعطل العقدة وفشل AZ) بدون أي تعطل وبدون فقدان للبيانات.
  2. CDC تاليًا - يحمي من الأعطال التي لا يمكن للنسخ المتعددة أن تحميها: انقطاع التيار الكهربائي على مستوى المجموعة أو خطأ بشري كارثي. الكتلة الاحتياطية في مجال فشل مختلف.
  3. النسخ الاحتياطية الدورية دائمًا - شبكة الأمان الخاصة بك كملاذ أخير. حتى CDC لا يمكن أن ينقذك إذا تم نسخ البيانات التالفة إلى النسخة الاحتياطية قبل أن تلتقطها.

عند تقييم قواعد البيانات المتجهة، اسأل: أي من هذه الطبقات الثلاث يدعمها المنتج بالفعل؟ تقدم معظم قواعد بيانات المتجهات اليوم الطبقة الأولى فقط. تدعم Milvus جميع الطبقات الثلاث، مع ميزة CDC كميزة مدمجة - وليست إضافة من طرف ثالث.

ما هو Milvus CDC وكيف يعمل؟

تعدّ ميزةالتقاط بيانات التغيير (CDC) منMilvus ميزة مدمجة للنسخ المتماثل تقوم بقراءة سجل الكتابة الأمامي للمجموعة الأساسية (WAL) وتدفق كل إدخال إلى مجموعة احتياطية منفصلة. تقوم المجموعة الاحتياطية بإعادة تشغيل الإدخالات وينتهي بها الأمر بنفس البيانات، وعادةً ما تكون متأخرة بثوانٍ.

هذا النمط راسخ في عالم قواعد البيانات. لدى MySQL نسخ متماثل ثنائي السجل. PostgreSQL لديها شحن WAL. لدى MongoDB النسخ المتماثل القائم على oplog. هذه هي التقنيات التي أثبتت جدواها والتي حافظت على تشغيل قواعد البيانات العلائقية والمستندات في الإنتاج لعقود. تقدم Milvus نفس النهج لأعباء عمل المتجهات - فهي أول قاعدة بيانات متجهة رئيسية تقدم النسخ المتماثل المستند إلى WAL كميزة مدمجة.

هناك ثلاث خصائص تجعل من قاعدة بيانات CDC ملائمة بشكل جيد للتعافي من الكوارث:

  • مزامنة منخفضة الكمون. يقوم CDC ببث العمليات فور حدوثها، وليس على دفعات مجدولة. يبقى الاحتياطي متأخراً بثوانٍ عن الأساسي في الظروف العادية.
  • إعادة تشغيل مرتبة. تصل العمليات إلى الاحتياطي بنفس الترتيب الذي تمت كتابتها به. تبقى البيانات متسقة بدون تسوية.
  • استرداد نقطة التدقيق. إذا تعطلت عملية CDC أو تعطلت الشبكة، فإنها تستأنف من حيث توقفت. لا يتم تخطي أو تكرار أي بيانات.

كيف تعمل بنية CDC؟

يحتوي نشر CDC على ثلاثة مكونات:

CDC architecture showing Source Cluster with Streaming Nodes and CDC Nodes consuming the WAL, replicating data to the Target Cluster's Proxy layer, which forwards DDL/DCL/DML operations to Streaming Nodes and appends to WAL بنية CDC التي تُظهر مجموعة المصدر مع عقد البث وعقد CDC التي تستهلك WAL، وتنسخ البيانات إلى طبقة الوكيل في المجموعة الهدف، والتي تقوم بإعادة توجيه عمليات DDL/DCL/DML إلى عقد البث وإلحاقها ب WAL

المكوّنالدور
المجموعة الأساسيةمثيل الإنتاج Milvus. تتم جميع عمليات القراءة والكتابة هنا. يتم تسجيل كل كتابة في WAL.
عقدة CDCعملية خلفية إلى جانب الأساسي. تقرأ إدخالات WAL وتعيد توجيهها إلى النسخة الاحتياطية. يتم تشغيلها بشكل مستقل عن مسار القراءة/الكتابة - لا تأثير على أداء الاستعلام أو الإدراج.
المجموعة الاحتياطيةمثيل Milvus منفصل يقوم بإعادة توجيه إدخالات WAL المعاد توجيهها. يحتفظ بالبيانات نفسها التي يحتفظ بها الأساسي متأخرًا بثوانٍ. يمكن أن تخدم استعلامات القراءة ولكنها لا تقبل الكتابة.

التدفق: تصل الكتابات إلى الأساسي ← تقوم عقدة CDC بنسخها إلى النسخة الاحتياطية ← تقوم النسخة الاحتياطية بإعادة تشغيلها. لا شيء آخر يتصل بمسار الكتابة في الوضع الاحتياطي. إذا تعطل الأساسيّ، فإن الاحتياطي لديه بالفعل جميع البيانات تقريبًا ويمكن ترقيته.

البرنامج التعليمي: إعداد مجموعة احتياطية لـ Milvus CDC الاحتياطية

ما تبقى من هذه المقالة هو إرشادات عملية. في النهاية، سيكون لديك مجموعتان من مجموعات Milvus تعملان مع النسخ المتماثل في الوقت الحقيقي بينهما.

المتطلبات الأساسية

قبل البدء:

  • ميلفوس الإصدار 2.6.6 أو أحدث. يتطلب CDC هذا الإصدار. يوصى بأحدث تصحيح 2.6.x.
  • مشغل Milvus الإصدار 1.3.4 أو أحدث. يستخدم هذا الدليل المشغل لإدارة المجموعة على Kubernetes.
  • مجموعة Kubernetes قيد التشغيل مع تكوين kubectl و helm.
  • Python مع pymilvus لخطوة تكوين النسخ المتماثل.

قيدان في الإصدار الحالي:

القيدالتفاصيل
نسخة متماثلة واحدة من CDCنسخة متماثلة واحدة من CDC لكل مجموعة. تم التخطيط لتوزيع CDC لإصدار مستقبلي.
لا يوجد إدراج مجمّعلا يتم دعمالإدراج المجمع أثناء تمكين CDC. مخطط أيضًا لإصدار مستقبلي.

الخطوة 1: ترقية مشغل Milvus

قم بترقية مشغل Milvus إلى الإصدار v1.3.4 أو أحدث:

helm repo add zilliztech-milvus-operator https://zilliztech.github.io/milvus-operator/
# "zilliztech-milvus-operator" has been added to your repositories

helm repo update zilliztech-milvus-operator # Hang tight while we grab the latest from your chart repositories… # …Successfully got an update from the “zilliztech-milvus-operator” chart repository # Update Complete. ⎈Happy Helming!⎈

helm -n milvus-operator upgrade milvus-operator zilliztech-milvus-operator/milvus-operator # Release “milvus-operator” has been upgraded. Happy Helming! # NAME: milvus-operator # LAST DEPLOYED: Wed Dec 3 17:25:28 2025 # NAMESPACE: milvus-operator # STATUS: deployed # REVISION: 30 # TEST SUITE: None # NOTES: # Milvus Operator Is Starting, use kubectl get -n milvus-operator deploy/milvus-operator to check if its successfully installed # Full Installation doc can be found in https://github.com/zilliztech/milvus-operator/blob/main/docs/installation/installation.md # Quick start with kubectl apply -f https://raw.githubusercontent.com/zilliztech/milvus-operator/main/config/samples/milvus_minimum.yaml # More samples can be found in https://github.com/zilliztech/milvus-operator/tree/main/config/samples # CRD Documentation can be found in https://github.com/zilliztech/milvus-operator/tree/main/docs/CRD # Administration Documentation can be found in https://github.com/zilliztech/milvus-operator/tree/main/docs/administration

تحقق من تشغيل جراب المشغل:

kubectl get pods -n milvus-operator
# NAME                             READY   STATUS    RESTARTS   AGE
# milvus-operator-9fc99f88-h2hwz   1/1     Running   0          54s

الخطوة 2: نشر المجموعة الأساسية

قم بإنشاء ملف YAML للمجموعة الأساسية (المصدر). يخبر قسم cdc تحت components المشغل بنشر عقدة CDC إلى جانب الكتلة:

# This is a sample to deploy a milvus cluster with cdc.
apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: source-cluster
  namespace: milvus
  labels:
    app: milvus
spec:
  mode: cluster
  components:
    image: milvusdb/milvus:v2.6.6 # Use version 2.6.6 or above, as CDC is available from 2.6.6 onwards
    cdc:
      replicas: 1  # Currently, CDC only supports 1 replica
  dependencies:
    msgStreamType: woodpecker

يستخدم الإعداد msgStreamType: woodpecker إعداد إعداد ميلفوس Woodpecker WAL المدمج في Woodpecker بدلاً من قائمة انتظار رسائل خارجية مثل Kafka أو Pulsar. Woodpecker هو سجل كتابة أمامي سحابي أصلي تم تقديمه في Milvus 2.6 الذي يزيل الحاجة إلى بنية تحتية خارجية للمراسلة.

تطبيق التكوين:

kubectl create namespace milvus
# namespace/milvus created
kubectl apply -f milvus_source_cluster.yaml
# milvus.milvus.io/source-cluster created

انتظر حتى تصل جميع البودات إلى حالة التشغيل. تأكد من أن جراب CDC قيد التشغيل:

kubectl get pods -n milvus
# Look for source-cluster-milvus-cdc-xxx in Running state
# NAME                                                READY   STATUS    RESTARTS   AGE
# source-cluster-milvus-cdc-66d64747bd-sckxj          1/1     Running   0          2m42s
# source-cluster-milvus-datanode-85f9f56fd-qgbzq       1/1     Running   0          2m42s
# ...

الخطوة 3: نشر المجموعة الاحتياطية

تستخدم المجموعة الاحتياطية (الهدف) نفس إصدار Milvus ولكنها لا تتضمن مكون CDC - فهي تستقبل البيانات المنسوخة فقط:

# This is a sample to deploy a milvus cluster with cdc.
apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: target-cluster
  namespace: milvus
  labels:
    app: milvus
spec:
  mode: cluster
  components:
    image: milvusdb/milvus:v2.6.6 # Use version 2.6.6 or above, as CDC is available from 2.6.6 onwards
  dependencies:
    msgStreamType: woodpecker

تطبيق:

kubectl apply -f milvus_target_cluster.yaml
# milvus.milvus.io/target-cluster created

تحقق من تشغيل جميع الكبسولات:

kubectl get pods -n milvus
# NAME                                                   READY   STATUS    RESTARTS   AGE
# ...
# target-cluster-milvus-datanode-7ffc8cdb6b-xhzcd        1/1     Running   0          104m
# target-cluster-milvus-mixcoord-8649b87c98-btk7m        1/1     Running   0          104m
# ...

الخطوة 4: تكوين علاقة النسخ المتماثل

مع تشغيل كلا المجموعتين، قم بتكوين طوبولوجيا النسخ المتماثل باستخدام Python مع pymilvus.

حدد تفاصيل اتصال المجموعة وأسماء القنوات الفعلية (pchannel):

source_cluster_addr = "http://10.98.124.90:19530" # example address — replace with your actual Milvus server address
target_cluster_addr = "http://10.109.234.172:19530"
source_cluster_token = "root:Milvus"
target_cluster_token = "root:Milvus"
source_cluster_id = "source-cluster"
target_cluster_id = "target-cluster"
pchannel_num = 16

source_cluster_pchannels = [] target_cluster_pchannels = [] for i in range(pchannel_num): source_cluster_pchannels.append(f"{source_cluster_id}-rootcoord-dml_{i}") target_cluster_pchannels.append(f"{target_cluster_id}-rootcoord-dml_{i}")

بناء تكوين النسخ المتماثل:

config = {
    "clusters": [
        {
            "cluster_id": source_cluster_id,
            "connection_param": {
                "uri": source_cluster_addr,
                "token": source_cluster_token
            },
            "pchannels": source_cluster_pchannels
        },
        {
            "cluster_id": target_cluster_id,
            "connection_param": {
                "uri": target_cluster_addr,
                "token": target_cluster_token
            },
            "pchannels": target_cluster_pchannels
        }
    ],
    "cross_cluster_topology": [
        {
            "source_cluster_id": source_cluster_id,
            "target_cluster_id": target_cluster_id
        }
    ]
}

تطبيقه على كلا المجموعتين:

from pymilvus import MilvusClient

source_client = MilvusClient(uri=source_cluster_addr, token=source_cluster_token) source_client.update_replicate_configuration(**config) source_client.close()

target_client = MilvusClient(uri=target_cluster_addr, token=target_cluster_token) target_client.update_replicate_configuration(**config) target_client.close()

بمجرد أن ينجح ذلك، تبدأ التغييرات الإضافية على الأساسي في النسخ المتماثل إلى الاحتياطي تلقائيًا.

الخطوة 5: التحقق من أن النسخ المتماثل يعمل

  1. اتصل بالأساسي وأنشئ مجموعة، وأدخل بعض النواقل، وقم بتحميلها
  2. قم بإجراء بحث على الأساسي للتأكد من وجود البيانات هناك
  3. اتصل بالنسخة الاحتياطية وقم بإجراء نفس البحث
  4. إذا أرجع الوضع الاحتياطي نفس النتائج، فإن النسخ المتماثل يعمل

يغطي برنامج Milvus Quickstart إنشاء المجموعة وإدراجها والبحث عنها إذا كنت بحاجة إلى مرجع.

تشغيل CDC في الإنتاج

إعداد CDC هو الجزء المباشر. يتطلب الحفاظ على موثوقيتها بمرور الوقت الاهتمام ببعض المجالات التشغيلية.

مراقبة تأخر النسخ المتماثل

دائمًا ما يكون الاحتياطي متأخرًا قليلاً عن الأساسي - وهذا متأصل في النسخ المتماثل غير المتزامن. في ظل الحمل العادي، يكون التأخير بضع ثوانٍ. ولكن يمكن أن تتسبب طفرات الكتابة أو ازدحام الشبكة أو ضغط الموارد على النسخة الاحتياطية في زيادة هذا التأخر.

تتبع التأخر كمقياس وتنبه إليه. عادةً ما يعني التأخر الذي ينمو دون أن يتعافى أن عقدة CDC لا يمكنها مواكبة إنتاجية الكتابة. تحقق من عرض النطاق الترددي للشبكة بين المجموعات أولاً، ثم فكر فيما إذا كانت العقدة الاحتياطية تحتاج إلى المزيد من الموارد.

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

لا يعد الاحتياطي مجرد نسخة احتياطية باردة تجلس في وضع الخمول حتى وقوع الكارثة. فهو يقبل طلبات البحث والاستعلام أثناء تنشيط النسخ المتماثل - حيث يتم حظر عمليات الكتابة فقط. هذا يفتح استخدامات عملية:

  • توجيه أعباء عمل البحث أو التحليلات المتشابهة الدفعية إلى الوضع الاحتياطي
  • تقسيم حركة مرور القراءة خلال ساعات الذروة لتقليل الضغط على النظام الأساسي
  • تشغيل استعلامات باهظة الثمن (عمليات بحث كبيرة من أعلى K، وعمليات بحث تمت تصفيتها عبر مجموعات كبيرة) دون التأثير على زمن انتقال الكتابة في الإنتاج

هذا يحول البنية التحتية للتشغيل الاحتياطي إلى أصل من أصول الأداء. يكسب الاحتياطي أجره حتى في حالة عدم تعطل أي شيء.

تحديد حجم الاحتياطي بشكل صحيح

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

اختبر تجاوز الفشل قبل أن تحتاج إليه

لا تنتظر انقطاعاً حقيقياً لتكتشف أن عملية تجاوز الفشل لا تعمل. قم بإجراء تدريبات دورية:

  1. أوقف الكتابة إلى الأساسي
  2. انتظر حتى يلحق الاحتياطي (تأخر → 0)
  3. ترقية الاحتياطي
  4. تحقق من أن الاستعلامات تُرجع النتائج المتوقعة
  5. عكس العملية

قياس المدة التي تستغرقها كل خطوة وتوثيقها. الهدف من ذلك هو جعل عملية تجاوز الفشل إجراءً روتينيًا بتوقيت معروف - وليس ارتجالاً مرهقًا في الساعة 3 صباحًا. يغطي الجزء 3 من هذه السلسلة عملية تجاوز الفشل بالتفصيل.

لا ترغب في إدارة مركز السيطرة على الأقراص المضغوطة بنفسك؟ تتولى Zilliz Cloud ذلك

يعد إعداد وتشغيل النسخ المتماثل للنسخ المتماثل CDC لـ Milvus أمرًا قويًا، ولكنه يأتي مع نفقات تشغيلية: يمكنك إدارة مجموعتين، ومراقبة سلامة النسخ المتماثل، والتعامل مع دفاتر تشغيل تجاوز الفشل، وصيانة البنية التحتية عبر المناطق. أما بالنسبة للفرق التي ترغب في الحصول على نظام HA على مستوى الإنتاج دون العبء التشغيلي، فإن Zilliz Cloud (Milvus المُدار) يوفر ذلك خارج الصندوق.

الكتلة العالمية هي الميزة الرئيسية في Zilliz Cloud. فهي تتيح لك تشغيل نشر Milvus في مناطق متعددة - أمريكا الشمالية وأوروبا وآسيا والمحيط الهادئ وغيرها - كمجموعة منطقية واحدة. تحت غطاء المحرك، يستخدم نفس تقنية النسخ المتماثل CDC/WAL الموضحة في هذه المقالة، ولكن تتم إدارتها بالكامل:

القدرةCDC ذاتية الإدارة (هذه المقالة)مجموعة زيليز السحابية العالمية
النسخ المتماثليمكنك تكوين ومراقبةخط أنابيب CDC التلقائي غير المتزامن
تجاوز الفشلدليل التشغيل اليدويمؤتمت - لا تغييرات في التعليمات البرمجية، ولا تحديثات لسلسلة الاتصال
الشفاء الذاتيتقوم بإعادة توفير المجموعة الفاشلةتلقائي: يكتشف الحالة القديمة ويعيد تعيينها ويعيد بناءها كمجموعة ثانوية جديدة
عبر المنطقةيمكنك نشر وإدارة كلا المجموعتينمنطقة متعددة مدمجة مع وصول محلي للقراءة
RPOثوانٍ (يعتمد على المراقبة الخاصة بك)ثوانٍ (غير مخطط لها) / صفر (تبديل مخطط له)
وقت التشغيل الفعليدقائق (يعتمد على دفتر التشغيل الخاص بك)دقائق (تلقائي)

بالإضافة إلى الكتلة العالمية، تتضمن خطة الأعمال الحرجة ميزات إضافية للتعافي من الكوارث:

  • الاسترداد في الوقت المحدد (PITR) - استرجاع مجموعة إلى أي لحظة ضمن نافذة الاحتفاظ، وهو مفيد للتعافي من الحذف العرضي أو تلف البيانات الذي يتم نسخه إلى النسخة الاحتياطية.
  • النسخالاحتياطي عبر المنطقة - النسخ الاحتياطي التلقائي والمستمر للنسخ الاحتياطي إلى منطقة وجهة. تستغرق الاستعادة إلى مجموعات جديدة دقائق.
  • اتفاقية مستوى الخدمة لوقت التشغيل بنسبة 99.99% - مدعوم بالنشر متعدد المناطق مع نسخ متماثلة متعددة.

إذا كنت تدير بحثًا متجهًا في الإنتاج وكان استرجاع البيانات في حالات الطوارئ متطلبًا، فإن الأمر يستحق تقييم Zilliz Cloud إلى جانب نهج Milvus المُدار ذاتيًا. اتصل بفريق Zilliz للحصول على التفاصيل.

ما التالي

غطت هذه المقالة مشهد HA لقواعد البيانات المتجهة وغطت مشهد HA لقواعد البيانات المتجهة ومرت عبر بناء زوج أساسي-احتياطي من الصفر. التالي:

  • الجزء 2: إضافة CDC إلى مجموعة Milvus الحالية التي تحتوي على بيانات بالفعل، باستخدام Milvus Backup لتأسيس النسخة الاحتياطية قبل تمكين النسخ المتماثل
  • الجزء 3: إدارة تجاوز الفشل - ترقية الوضع الاحتياطي، وإعادة توجيه حركة المرور، واستعادة الأساسي الأصلي

ترقبوا.


إذا كنت تقوم بتشغيل Milvus في الإنتاج وتفكر في التعافي من الكوارث، فنحن نود مساعدتك:

  • انضم إلى مجتمع Milvus Slack لطرح الأسئلة، ومشاركة بنية HA الخاصة بك، والتعلم من الفرق الأخرى التي تدير Milvus على نطاق واسع.
  • احجز جلسة مجانية مدتها 20 دقيقة في ساعات عمل Milvus المكتبية للتعرف على إعدادات التعافي من الكوارث - سواءً كان ذلك في تكوين مركز البيانات المضغوط أو تخطيط تجاوز الفشل أو النشر متعدد المناطق.
  • إذا كنت تفضل تخطي إعداد البنية التحتية والانتقال مباشرةً إلى التوافر العالي الجاهز للإنتاج، فإن Zilliz Cloud (Milvus المُدار من قبل Milvus) يوفر توافرًا عاليًا عبر المناطق من خلال ميزة Global Cluster - لا حاجة إلى إعداد CDC يدويًا.

بعض الأسئلة التي تظهر عندما تبدأ الفرق في إعداد التوافر العالي لقاعدة البيانات المتجهة:

س: هل يبطئ CDC الكتلة الأساسية؟

ج: لا. تقرأ عقدة CDC سجلات WAL بشكل غير متزامن، بشكل مستقل عن مسار القراءة/الكتابة. فهي لا تتنافس مع الاستعلامات أو الإدخالات على الموارد على الأساسي. لن ترى فرقًا في الأداء مع تمكين CDC.

س: هل يمكن ل CDC نسخ البيانات التي كانت موجودة قبل تمكينه؟

ج: لا - يلتقط CDC التغييرات فقط من نقطة تمكينه. لجلب البيانات الموجودة إلى الوضع الاحتياطي، استخدم Milvus Backup لبدء النسخ الاحتياطي أولاً، ثم قم بتمكين CDC للنسخ المتماثل المستمر. يغطي الجزء 2 من هذه السلسلة سير العمل هذا.

س: هل ما زلت بحاجة إلى CDC إذا كان لدي بالفعل تمكين النسخ المتماثل المتعدد؟

إنها تحمي من أوضاع الفشل المختلفة. تحتفظ النسخ المتماثلة المتعددة بنسخ من نفس المقاطع عبر العُقد داخل مجموعة واحدة - وهو أمر رائع في حالات فشل العُقد، ولا فائدة منه عند اختفاء المجموعة بأكملها (نشر سيء، انقطاع التيار من الألف إلى الياء، حذف مساحة الاسم). يحتفظ CDC بمجموعة منفصلة في مجال فشل مختلف مع بيانات شبه فورية. بالنسبة لأي شيء يتجاوز بيئة التطوير، فأنت بحاجة إلى كليهما.

س: كيف تقارن Milvus CDC بالنسخ المتماثل في قواعد البيانات المتجهة الأخرى؟

تقدم معظم قواعد البيانات المتجهة اليوم تكرارًا على مستوى العقدة (ما يعادل النسخ المتكرر المتعدد) ولكنها تفتقر إلى النسخ المتماثل على مستوى المجموعة. تُعد Milvus حاليًا قاعدة البيانات المتجهة الرئيسية الوحيدة التي تحتوي على النسخ المتماثل CDC المدمج المستند إلى WAL - وهو نفس النمط المثبت الذي استخدمته قواعد البيانات العلائقية مثل PostgreSQL و MySQL لعقود. إذا كان تجاوز الفشل عبر المجموعات أو عبر المناطق متطلبًا، فإن هذا عامل تفاضل مفيد للتقييم.

    Try Managed Milvus for Free

    Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

    Get Started

    Like the article? Spread the word

    استمر في القراءة