قيمة البيانات حساسة للوقت. تجعل المعالجة في الوقت الفعلي القرارات المستندة إلى البيانات دقيقة وقابلة للتنفيذ في ثوانٍ أو دقائق بدلاً من ساعات أو أيام. يشير تغيير التقاط البيانات (CDC) إلى عملية تحديد والتقاط التغييرات التي تم إجراؤها على البيانات في قاعدة البيانات ثم تسليم هذه التغييرات في الوقت الفعلي إلى نظام المصب. إن التقاط كل تغيير من المعاملات في قاعدة بيانات المصدر ونقلها إلى الهدف في الوقت الفعلي يحافظ على مزامنة الأنظمة ، ويساعد في حالات استخدام التحليلات في الوقت الفعلي وترحيل قاعدة البيانات بدون توقف. فيما يلي بعض فوائد CDC:
- إنه يلغي الحاجة إلى تحديث التحميل المجمع وإطارات الدُفعات غير الملائمة عن طريق تمكين التحميل المتزايد أو تدفق تغييرات البيانات في الوقت الفعلي إلى المستودع المستهدف.
- يضمن بقاء البيانات في أنظمة متعددة متزامنة. هذا مهم بشكل خاص إذا كنت تتخذ قرارات حساسة للوقت في بيئة بيانات عالية السرعة.
كافكا كونيكت هو مكون مفتوح المصدر من Apache Kafka يعمل كمحور بيانات مركزي لتكامل البيانات البسيط بين قواعد البيانات ومخازن القيمة الرئيسية وفهارس البحث وأنظمة الملفات. ال سجل مخطط AWS Glue يتيح لك اكتشاف مخططات تدفق البيانات والتحكم فيها وتطويرها مركزيًا. يتكامل Kafka Connect و Schema Registry لالتقاط معلومات المخطط من الموصلات. يوفر Kafka Connect آلية لتحويل البيانات من أنواع البيانات الداخلية التي يستخدمها Kafka Connect إلى أنواع البيانات الممثلة كمخطط Avro أو Protobuf أو JSON. تقوم AvroConverter و ProtobufConverter و JsonSchemaConverter تلقائيًا بتسجيل المخططات التي تم إنشاؤها بواسطة موصلات كافكا (المصدر) التي تنتج البيانات إلى كافكا. الموصلات (الحوض) التي تستهلك البيانات من كافكا تتلقى معلومات المخطط بالإضافة إلى البيانات الخاصة بكل رسالة. يسمح ذلك لموصلات الحوض بمعرفة بنية البيانات لتوفير إمكانات مثل الحفاظ على مخطط جدول قاعدة البيانات في كتالوج البيانات.
يوضح المنشور كيفية إنشاء مركز السيطرة على الأمراض من طرف إلى طرف باستخدام اتصال أمازون MSK، خدمة مُدارة من AWS لنشر وتشغيل تطبيقات Kafka Connect و AWS Glue Schema Registry ، والتي تتيح لك اكتشاف مخططات تدفق البيانات والتحكم فيها وتطويرها مركزيًا.
حل نظرة عامة
على جانب المنتج ، في هذا المثال ، نختار متوافقًا مع MySQL أمازون أورورا قاعدة البيانات كمصدر للبيانات ، ولدينا ملف ديبيزيوم موصل MySQL لأداء CDC. يراقب موصل Debezium باستمرار قواعد البيانات ويدفع التغييرات على مستوى الصف إلى موضوع كافكا. يجلب الموصل المخطط من قاعدة البيانات لإجراء تسلسل للسجلات في نموذج ثنائي. إذا لم يكن المخطط موجودًا بالفعل في التسجيل ، فسيتم تسجيل المخطط. إذا كان مخطط قاعدة البيانات موجودًا ولكن المسلسل يستخدم إصدارًا جديدًا ، فسيقوم تسجيل المخطط بالتحقق من ملف وضع التوافق من المخطط قبل تحديث المخطط. في هذا الحل نستخدم وضع التوافق مع الإصدارات السابقة. يُرجع سجل المخطط خطأً إذا كان الإصدار الجديد من المخطط غير متوافق مع الإصدارات السابقة ، ويمكننا تكوين Kafka Connect لإرسال رسائل غير متوافقة إلى قائمة انتظار الرسائل المهملة.
من جانب المستهلك ، نستخدم ملف خدمة تخزين أمازون البسيطة (Amazon S3) موصل بالوعة لإلغاء تسلسل السجل وتخزين التغييرات في Amazon S3. نقوم ببناء ونشر موصل Debezium وحوض Amazon S3 باستخدام MSK Connect.
مثال على المخطط
في هذا المنشور ، نستخدم المخطط التالي كإصدار أول من الجدول:
المتطلبات الأساسية المسبقة
قبل تكوين منتج MSK وموصلات المستهلك ، نحتاج أولاً إلى إعداد مصدر بيانات ومجموعة MSK وسجل مخطط جديد. نحن نقدم تكوين سحابة AWS نموذج لإنشاء الموارد الداعمة اللازمة للحل:
- قاعدة بيانات Aurora المتوافقة مع MySQL كمصدر للبيانات. لإجراء CDC ، نقوم بتشغيل التسجيل الثنائي في ملف مجموعة معلمات الكتلة DB.
- كتلة MSK. لتبسيط اتصال الشبكة ، نستخدم نفس VPC لقاعدة بيانات Aurora ومجموعة MSK.
- سجلا مخطط للتعامل مع مخططات لمفتاح الرسالة وقيمة الرسالة.
- دلو S3 واحد كمستودع للبيانات.
- المكونات الإضافية لـ MSK Connect وتكوين العامل مطلوبان لهذا العرض التوضيحي.
- واحد الأمازون الحوسبة المرنة السحابية (Amazon EC2) لتشغيل أوامر قاعدة البيانات.
لإعداد الموارد في حساب AWS الخاص بك ، أكمل الخطوات التالية في منطقة AWS التي تدعم Amazon MSK و MSK Connect وسجل AWS Glue Schema:
- اختار قم بتشغيل Stack:
- اختار التالى.
- في حالة اسم المكدس، أدخل الاسم المناسب.
- في حالة كلمة مرور قاعدة البيانات، أدخل كلمة المرور التي تريدها لمستخدم قاعدة البيانات.
- احتفظ بالقيم الأخرى كإعداد افتراضي.
- اختار التالى.
- في الصفحة التالية ، اختر التالى.
- راجع التفاصيل الموجودة في الصفحة الأخيرة وحدد أقر بأن AWS CloudFormation قد تنشئ موارد IAM.
- اختار إنشاء مكدس.
مكون إضافي مخصص للموصل المصدر والوجهة
المكوِّن الإضافي المخصص هو مجموعة من ملفات JAR التي تحتوي على تنفيذ واحد أو أكثر من الموصلات أو المحولات أو المحولات. ستقوم Amazon MSK بتثبيت المكون الإضافي على عمال مجموعة MSK Connect حيث يتم تشغيل الموصل. كجزء من هذا العرض التوضيحي ، بالنسبة للموصل المصدر ، نستخدم المصدر المفتوح جارات موصل Debezium MySQL، وبالنسبة للموصل الوجهة ، نستخدم ترخيص مجتمع Confluent المرخص الجرار موصل حوض Amazon S3. تمت إضافة كلا المكونين الإضافيين أيضًا مع مكتبات لـ Avro Serializers ومزيلات التسلسل في AWS Glue Schema Registry. تم إنشاء هذه المكونات الإضافية المخصصة بالفعل كجزء من نموذج CloudFormation الذي تم نشره في الخطوة السابقة.
استخدم AWS Glue Schema Registry مع موصل Debezium على MSK Connect كمنتج MSK
ننشر أولاً موصل المصدر باستخدام المكون الإضافي Debezium MySQL لدفق البيانات من ملف إصدار متوافق مع Amazon Aurora MySQL قاعدة بيانات إلى Amazon MSK. أكمل الخطوات التالية:
- في وحدة تحكم Amazon MSK ، في جزء التنقل ، أسفل اتصال MSK، اختر الموصلات.
- اختار إنشاء موصل.
- اختار استخدم البرنامج المساعد المخصص الموجود ثم اختر المكون الإضافي المخصص مع بدء الاسم
msk-blog-debezium-source-plugin
. - اختار التالى.
- أدخل اسمًا مناسبًا مثل
debezium-mysql-connector
ووصف اختياري. - في حالة كتلة أباتشي كافكا، اختر كتلة MSK واختر المجموعة التي تم إنشاؤها بواسطة قالب CloudFormation.
- In تكوين الموصل، احذف القيم الافتراضية واستخدم أزواج التكوين والقيمة التالية مع القيم المناسبة:
- الاسم - الاسم المستخدم للموصل.
- اسم المضيف - ناتج CloudFormation لـ نقطة نهاية قاعدة البيانات.
- قاعدة البيانات. المستخدم وقاعدة البيانات.كلمة المرور - المعلمات التي تم تمريرها في نموذج CloudFormation.
- data.history.kafka.bootstrap.servers - ناتج CloudFormation لـ كافكا بوتستراب.
- key.converter.region و value.converter.region - منطقتك.
بعض هذه الإعدادات عامة ويجب تحديدها لأي موصل. على سبيل المثال:
- Connector.class هي فئة Java للموصل
- المهام max هو الحد الأقصى لعدد المهام التي يجب إنشاؤها لهذا الموصل
بعض الإعدادات (database.*
, transforms.*
) خاصة بموصل Debezium MySQL. تشير إلى خصائص تكوين موصل مصدر Debezium MySQL للمزيد من المعلومات.
بعض الإعدادات (key.converter.*
و value.converter.*
) خاصة بـ Schema Registry. نحن نستخدم ال AWSKafkaAvroConverter
من مكتبة سجل AWS Glue Schema كمحول التنسيق. لتكوين AWSKafkaAvroConverter
، نستخدم قيمة خصائص ثابت السلسلة في AWSS كيمياء التسجيل الثوابت صف دراسي:
key.converter
وvalue.converter
التحكم في تنسيق البيانات التي سيتم كتابتها إلى كافكا لموصلات المصدر أو قراءتها من كافكا لموصلات الحوض. نحن نستخدمAWSKafkaAvroConverter
لتنسيق Avro.key.converter.registry.name
وvalue.converter.registry.name
تحديد أي سجل مخطط لاستخدامه.key.converter.compatibility
وvalue.converter.compatibility
تحديد نموذج التوافق.
الرجوع إلى استخدام Kafka Connect مع AWS Glue Schema Registry للمزيد من المعلومات.
- بعد ذلك ، نقوم بتكوين قدرة الموصل. يمكننا أن نختار مخصص واترك الخصائص الأخرى افتراضيًا
- في حالة تكوين العمال، اختر تكوين العامل المخصص مع بدء الاسم
msk-gsr-blog
تم إنشاؤه كجزء من نموذج CloudFormation. - في حالة أذونات الوصول، استخدم إدارة الهوية والوصول AWS (IAM) الذي تم إنشاؤه بواسطة قالب CloudFormation
MSKConnectRole
. - اختار التالى.
- في حالة حماية، اختر الإعدادات الافتراضية.
- اختار التالى.
- في حالة تسليم السجل، حدد تسليم إلى سجلات Amazon CloudWatch وتصفح للوصول إلى مجموعة السجل التي تم إنشاؤها بواسطة قالب CloudFormation (
msk-connector-logs
). - اختار التالى.
- راجع الإعدادات واختر إنشاء موصل.
بعد بضع دقائق ، يتغير الموصل إلى حالة التشغيل.
استخدم AWS Glue Schema Registry مع موصل الحوض Confluent S3 الذي يعمل على MSK Connect كمستهلك MSK
ننشر موصل الحوض باستخدام المكوّن الإضافي Confluent S3 لدفق البيانات من Amazon MSK إلى Amazon S3. أكمل الخطوات التالية:
-
- في وحدة تحكم Amazon MSK ، في جزء التنقل ، أسفل اتصال MSK، اختر الموصلات.
- اختار إنشاء موصل.
- اختار استخدم البرنامج المساعد المخصص الموجود واختر المكون الإضافي المخصص مع بدء الاسم
msk-blog-S3sink-plugin
. - اختار التالى.
- أدخل اسمًا مناسبًا مثل
s3-sink-connector
ووصف اختياري. - في حالة كتلة أباتشي كافكا، اختر كتلة MSK وحدد المجموعة التي تم إنشاؤها بواسطة نموذج CloudFormation.
- In تكوين الموصل، احذف القيم الافتراضية المقدمة واستخدم أزواج قيم ومفاتيح التكوين التالية مع القيم المناسبة:
-
- الاسم - نفس الاسم المستخدم للموصل.
- s3.bucket.name - ناتج CloudFormation لـ اسم الجرافة.
- s3.region و key.converter.region و value.converter.region - منطقتك.
-
- بعد ذلك ، نقوم بتكوين قدرة الموصل. يمكننا أن نختار مخصص واترك الخصائص الأخرى افتراضيًا
- في حالة تكوين العمال، اختر تكوين العامل المخصص مع بدء الاسم
msk-gsr-blog
تم إنشاؤه كجزء من نموذج CloudFormation. - في حالة أذونات الوصول، استخدم دور IAM الذي تم إنشاؤه بواسطة نموذج CloudFormation
MSKConnectRole
. - اختار التالى.
- في حالة حماية، اختر الإعدادات الافتراضية.
- اختار التالى.
- في حالة تسليم السجل، حدد تسليم إلى سجلات Amazon CloudWatch وتصفح للوصول إلى مجموعة السجل التي تم إنشاؤها بواسطة قالب CloudFormation
msk-connector-logs
. - اختار التالى.
- راجع الإعدادات واختر إنشاء موصل.
بعد بضع دقائق ، يكون الموصل قيد التشغيل.
اختبر تدفق سجل CDC من طرف إلى طرف
الآن بعد أن تم تشغيل موصلات أحواض Debezium و S3 ، أكمل الخطوات التالية لاختبار CDC من طرف إلى طرف:
- في وحدة تحكم Amazon EC2 ، انتقل إلى ملف مجموعات الأمان .
- حدد مجموعة الأمان
ClientInstanceSecurityGroup
واختر تحرير القواعد الواردة. - أضف قاعدة واردة تسمح باتصال SSH من شبكتك المحلية.
- على الحالات الصفحة ، حدد المثيل
ClientInstance
واختر التواصل. - على توصيل مثيل EC2 علامة التبويب، اختر التواصل.
- تأكد من أن دليل العمل الحالي الخاص بك هو
/home/ec2-user
ولها الملفاتcreate_table.sql
,alter_table.sql
,initial_insert.sql
وinsert_data_with_new_column.sql
. - أنشئ جدولاً في قاعدة بيانات MySQL عن طريق تشغيل الأمر التالي (قدم اسم مضيف قاعدة البيانات من مخرجات قالب CloudFormation):
- عند مطالبتك بكلمة مرور ، أدخل كلمة المرور من معلمات قالب CloudFormation.
- أدخل بعض البيانات النموذجية في الجدول باستخدام الأمر التالي:
- عند مطالبتك بكلمة مرور ، أدخل كلمة المرور من معلمات قالب CloudFormation.
- في وحدة تحكم AWS Glue ، اختر سجلات المخطط في جزء التنقل ، ثم اختر المخططات.
- انتقل إلى
db1.sampledatabase.movies
الإصدار 1 للتحقق من المخطط الجديد الذي تم إنشاؤه لجدول الأفلام:
يتم إنشاء مجلد منفصل S3 لكل قسم في موضوع كافكا ، ويتم كتابة بيانات الموضوع في هذا المجلد.
- في وحدة التحكم Amazon S3 ، تحقق من البيانات المكتوبة بتنسيق Parquet في المجلد لموضوع كافكا الخاص بك.
تطور المخطط
بعد تحديد المخطط الأولي ، قد تحتاج التطبيقات إلى تطويره بمرور الوقت. عندما يحدث هذا ، من الأهمية بمكان أن يتمكن مستهلكو المصب من التعامل مع البيانات المشفرة مع كل من المخطط القديم والجديد بسلاسة. تسمح لك أوضاع التوافق بالتحكم في كيفية تطور المخططات بمرور الوقت أو عدم إمكانية تطورها. تشكل هذه الأوضاع العقد بين التطبيقات التي تنتج البيانات وتستهلكها. للحصول على معلومات مفصلة حول أوضاع التوافق المختلفة المتوفرة في AWS Glue Schema Registry ، يرجى الرجوع إلى سجل مخطط AWS Glue. في مثالنا ، نستخدم قابلية الاحتكاك العكسي للتأكد من أن المستهلكين يمكنهم قراءة كل من إصدارات المخطط الحالية والسابقة. أكمل الخطوات التالية:
- أضف عمودًا جديدًا إلى الجدول عن طريق تشغيل الأمر التالي:
- أدخل بيانات جديدة في الجدول عن طريق تشغيل الأمر التالي:
- في وحدة تحكم AWS Glue ، اختر سجلات المخطط في جزء التنقل ، ثم اختر المخططات.
- انتقل إلى المخطط
db1.sampledatabase.movies
الإصدار 2 للتحقق من الإصدار الجديد من المخطط الذي تم إنشاؤه لأفلام طاولة الأفلام بما في ذلك عمود البلد الذي أضفته:
- في وحدة التحكم Amazon S3 ، تحقق من البيانات المكتوبة بتنسيق Parquet في المجلد الخاص بموضوع كافكا.
تنظيف
للمساعدة في منع الرسوم غير المرغوب فيها على حساب AWS الخاص بك ، احذف موارد AWS التي استخدمتها في هذا المنشور:
- في وحدة تحكم Amazon S3 ، انتقل إلى حاوية S3 التي تم إنشاؤها بواسطة قالب CloudFormation.
- حدد جميع الملفات والمجلدات واختر حذف.
- أدخل حذفًا نهائيًا حسب التوجيهات واختر حذف الكائنات.
- في وحدة تحكم AWS CloudFormation ، احذف الحزمة التي أنشأتها.
- انتظر حتى تتغير حالة المكدس إلى DELETE_COMPLETE.
وفي الختام
أوضح هذا المنشور كيفية استخدام Amazon MSK و MSK Connect و AWS Glue Schema Registry لإنشاء تدفق سجل CDC وتطوير مخططات لتدفقات البيانات مع تغير احتياجات العمل. يمكنك تطبيق نمط البنية هذا على مصادر البيانات الأخرى باستخدام موصلات كافكا المختلفة. لمزيد من المعلومات ، راجع أمثلة MSK Connect.
عن المؤلف
كاليان جاناكي هو كبير اختصاصي البيانات الضخمة والتحليلات في Amazon Web Services. إنه يساعد العملاء في تصميم وبناء حلول قائمة على السحابة وقابلة للتطوير وذات أداء عالي وآمنة على AWS.
- محتوى مدعوم من تحسين محركات البحث وتوزيع العلاقات العامة. تضخيم اليوم.
- بلاتوبلوكشين. Web3 Metaverse Intelligence. تضخيم المعرفة. الوصول هنا.
- المصدر https://aws.amazon.com/blogs/big-data/build-an-end-to-end-change-data-capture-with-amazon-msk-connect-and-aws-glue-schema-registry/
- :يكون
- $ UP
- 1
- 10
- 11
- 7
- 8
- a
- ماهرون
- من نحن
- الوصول
- حسابي
- دقيق
- نقر
- وأضاف
- إضافة
- الكل
- السماح
- يسمح
- سابقا
- أمازون
- Amazon EC2
- أمازون ويب سيرفيسز
- تحليلات
- و
- أباتشي
- اباتشي كافكا
- التطبيقات
- التقديم
- مناسب
- هندسة معمارية
- هي
- AS
- فجر
- تلقائيا
- متاح
- AWS
- تكوين سحابة AWS
- غراء AWS
- BE
- قبل
- الفوائد
- ما بين
- كبير
- البيانات الكبيرة
- التمهيد
- نساعدك في بناء
- الأعمال
- by
- CAN
- قدرات
- أسر
- اسر
- الحالات
- الأقسام
- CDC
- مركزية
- تغيير
- التغييرات
- اسعارنا محددة من قبل وزارة العمل
- التحقق
- الشيكات
- اختار
- فئة
- كتلة
- عمود
- مجتمع
- التوافق
- متوافق
- إكمال
- عنصر
- إحصاء
- الاعداد
- تقاطع
- التواصل
- صلة
- كنسولات
- ثابت
- تستهلك
- مستهلك
- المستهلكين
- بشكل متواصل
- عقد
- مراقبة
- البلد
- خلق
- خلق
- حرج
- حالياًّ
- على
- العملاء
- البيانات
- تكامل البيانات
- تعتمد على البيانات
- قاعدة البيانات
- قواعد البيانات
- أيام
- القرارات
- الترتيب
- الافتراضات
- تعريف
- تقديم
- تجربة
- تظاهر
- يوضح
- نشر
- نشر
- وصف
- افضل الرحلات السياحية
- مفصلة
- تفاصيل
- مختلف
- اكتشف
- لا
- قطرة
- كل
- يقضي على
- تمكين
- النهائي إلى نهاية
- ضمان
- يضمن
- أدخل
- البيئة
- خطأ
- خاصة
- الأثير (ETH)
- كل
- يتطور
- مثال
- القائمة
- موجود
- قليل
- مجال
- قم بتقديم
- ملفات
- نهائي
- الاسم الأول
- متابعيك
- في حالة
- النموذج المرفق
- شكل
- تبدأ من
- توليد
- ولدت
- تجمع
- مجموعات
- مقبض
- معالجة
- يحدث
- يملك
- مساعدة
- يساعد
- جدا
- تاريخ
- مضيف
- ساعات العمل
- كيفية
- كيفية
- HTML
- HTTP
- HTTPS
- محور
- IAM
- تحديد
- هوية
- التنفيذ
- أهمية
- in
- بما فيه
- الفهارس
- معلومات
- في البداية
- تثبيت
- مثل
- بدلًا من ذلك
- دمج
- التكامل
- داخلي
- IT
- جافا
- JPG
- جسون
- كافكا
- القفل
- علم
- يترك
- المكتبات
- مرخص
- مثل
- تحميل
- جار التحميل
- محلي
- طويل
- صنع
- يصنع
- القيام ب
- تمكن
- رئيسي
- ماكس
- أقصى
- آلية
- الرسالة
- رسائل
- ربما
- دقائق
- نموذج
- وسائط
- شاشات
- الأكثر من ذلك
- أفلام
- يتحرك
- متعدد
- MySQL
- الاسم
- التنقل
- قائمة الإختيارات
- حاجة
- بحاجة
- إحتياجات
- شبكة
- جديد
- التالي
- عدد
- of
- قديم
- on
- ONE
- المصدر المفتوح
- أخرى
- الناتج
- صفحة
- أزواج
- خبز
- المعلمة
- المعلمات
- جزء
- مرت
- كلمة المرور
- نمط
- نفذ
- بشكل دائم
- اختيار
- أفلاطون
- الذكاء افلاطون البيانات
- أفلاطون داتا
- المساعد
- الإضافات
- منشور
- منع
- سابق
- عملية المعالجة
- معالجة
- إنتاج
- منتج
- HAS
- تزود
- المقدمة
- ويوفر
- عرض
- حقيقي
- في الوقت الحقيقي
- تسلم
- سجل
- تسجيل
- يشير
- منطقة
- تسجيل جديد
- مسجل
- سجل
- مستودع
- ممثلة
- الموارد
- عائدات
- النوع
- قاعدة
- يجري
- تشغيل
- نفسه
- تحجيم
- بسلاسة
- بحث
- ثواني
- تأمين
- أمن
- كبير
- حساس
- مستقل
- الخدمة
- خدمات
- طقم
- إعدادات
- ينبغي
- الاشارات
- تبسيط
- حل
- الحلول
- بعض
- مصدر
- مصادر
- متخصص
- محدد
- محدد
- كومة
- ابتداء
- الحالة
- خطوة
- خطوات
- تخزين
- متجر
- فروعنا
- مجرى
- متدفق
- تيارات
- بناء
- مناسب
- دعم
- الدعم
- المزامنة.
- نظام
- أنظمة
- جدول
- الهدف
- المهام
- قالب
- تجربه بالعربي
- أن
- •
- المصدر
- منهم
- تشبه
- الوقت
- وقت حساس
- عنوان الاعلان
- إلى
- موضوع
- المعاملات
- منعطف أو دور
- أنواع
- مع
- غير مرغوب فيه
- تحديث
- تستخدم
- مستخدم
- قيمنا
- القيم
- الإصدار
- الويب
- خدمات ويب
- التي
- سوف
- نوافذ
- مع
- عامل
- العمال
- عامل
- أعمال
- مكتوب
- حل متجر العقارات الشامل الخاص بك في جورجيا
- زفيرنت