1. مقدمة
Spanner هي خدمة قواعد بيانات موزّعة عالميًا وقابلة للتوسّع أفقيًا ومُدارة بالكامل، وهي رائعة لكلٍّ من أعباء العمل العلائقية وغير العلائقية.
تتيح لك واجهة Cassandra في Spanner الاستفادة من البنية الأساسية المُدارة بالكامل وقابلة للتوسّع وذات مدى التوفّر العالي في Spanner باستخدام أدوات Cassandra وقواعدها النحوية المألوفة.
المُعطيات
- كيفية إعداد مثيل Spanner وقاعدة بيانات
- كيفية تحويل مخطّط Cassandra ونموذج البيانات
- كيفية نشر عمليات الكتابة المزدوجة وضبطها للبيانات الواردة
- كيفية تصدير بياناتك السابقة بشكل مجمّع من Cassandra إلى Spanner
- كيفية التحقّق من صحة البيانات لضمان سلامة البيانات طوال عملية نقل البيانات
- كيفية توجيه تطبيقك إلى Spanner بدلاً من Cassandra
المتطلبات
- مشروع على Google Cloud مرتبط بحساب فوترة
- الوصول إلى جهاز تم تثبيت واجهة سطر أوامر
gcloud
عليه وضبط إعداداتها، أو استخدام Google Cloud Shell - متصفّح ويب، مثل Chrome أو Firefox
2. الإعداد والمتطلبات
إنشاء مشروع على Google Cloud Platform
سجِّل الدخول إلى Google Cloud Console وأنشئ مشروعًا جديدًا أو أعِد استخدام مشروع حالي. إذا لم يكن لديك حساب على Gmail أو Google Workspace، عليك إنشاء حساب.
- اسم المشروع هو الاسم المعروض للمشاركين في هذا المشروع. وهي سلسلة أحرف لا تستخدمها واجهات برمجة تطبيقات Google. ويمكنك تعديلها في أي وقت.
- يكون معرّف المشروع فريدًا في جميع مشاريع Google Cloud وغير قابل للتغيير (لا يمكن تغييره بعد ضبطه). تنشئ وحدة تحكّم Cloud Console سلسلة فريدة تلقائيًا، ولا يهمّك عادةً معرفة محتواها. في معظم مختبرات رموز البرامج، ستحتاج إلى الإشارة إلى معرّف المشروع (يُعرَف عادةً باسم
PROJECT_ID
). إذا لم يعجبك المعرّف الذي تم إنشاؤه، يمكنك إنشاء معرّف آخر عشوائي. يمكنك بدلاً من ذلك تجربة عنوانك الخاص لمعرفة ما إذا كان متاحًا. ولا يمكن تغييره بعد هذه الخطوة ويبقى ساريًا طوال مدة المشروع. - يُرجى العِلم أنّ هناك قيمة ثالثة، وهي رقم المشروع، تستخدمها بعض واجهات برمجة التطبيقات. يمكنك الاطّلاع على مزيد من المعلومات عن كلّ من هذه القيم الثلاث في المستندات.
إعداد الفوترة
بعد ذلك، عليك اتّباع دليل المستخدم لإدارة الفوترة وتفعيل الفوترة في Cloud Console. يكون مستخدمو Google Cloud الجدد مؤهّلين للاستفادة من برنامج الفترة التجريبية المجانية التي تبلغ قيمتها 300 دولار أمريكي. لتجنُّب تحصيل رسوم بعد انتهاء هذا الدليل التعليمي، يمكنك إيقاف مثيل Spanner في نهاية ورشة رموز البرامج من خلال اتّباع "الخطوة 9: التنظيف".
بدء Cloud Shell
على الرغم من أنّه يمكن تشغيل Google Cloud عن بُعد من الكمبيوتر المحمول، ستستخدم في هذا الإصدار التجريبي من "مختبر رموز Google" Google Cloud Shell، وهي بيئة سطر أوامر تعمل في السحابة الإلكترونية.
من Google Cloud Console، انقر على رمز Cloud Shell في شريط الأدوات أعلى يسار الصفحة:
من المفترض ألا تستغرق عملية توفير البيئة والاتصال بها سوى بضع دقائق. عند الانتهاء، من المفترض أن يظهر لك ما يلي:
يتم تحميل هذه الآلة الافتراضية مزوّدة بكل أدوات التطوير التي ستحتاج إليها. ويقدّم هذا الدليل دليلاً منزليًا دائمًا بسعة 5 غيغابايت، ويتم تشغيله على Google Cloud، ما يؤدي إلى تحسين أداء الشبكة والمصادقة بشكل كبير. يمكنك تنفيذ جميع أعمالك في هذا الدليل التعليمي للترميز داخل متصفّح. لست بحاجة إلى تثبيت أي تطبيق.
المحتوى التالي
بعد ذلك، عليك نشر مجموعة Cassandra.
3- نشر مجموعة Cassandra (الإصدار الأصلي)
في هذا الدرس التطبيقي حول الترميز، سننشئ مجموعة Cassandra تتألف من عقدة واحدة على Compute Engine.
1. إنشاء جهاز افتراضي على Google Compute Engine لنظام Cassandra
لإنشاء مثيل، استخدِم الأمر gcloud compute instances create
.
gcloud compute instances create cassandra-origin \ --machine-type=e2-medium \ --image-family=ubuntu-2004-lts \ --image-project=ubuntu-os-cloud \ --tags=cassandra-migration \ --boot-disk-size=20GB
2. تثبيت Cassandra
# Install Java (Cassandra dependency) sudo apt-get update sudo apt-get install -y openjdk-11-jre-headless # Add Cassandra repository echo "deb [https://debian.cassandra.apache.org](https://debian.cassandra.apache.org) 41x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list curl [https://downloads.apache.org/cassandra/KEYS](https://downloads.apache.org/cassandra/KEYS) | sudo apt-key add - # Install Cassandra sudo apt-get update sudo apt-get install -y cassandra
3- إنشاء مساحة مفاتيح وجدول
سنستخدم مثالاً لجدول المستخدمين وننشئ مساحة مفاتيح تُسمى "الإحصاءات".
cd ~/apache-cassandra bin/cqlsh <your-localhost-ip? 9042 #starts the cql shell
في cqlsh:
-- Create keyspace (adjust replication for production) CREATE KEYSPACE analytics WITH replication = {'class':'SimpleStrategy', 'replication_factor':1}; -- Use the keyspace USE analytics; -- Create the users table CREATE TABLE users ( id int PRIMARY KEY, active boolean, username text, ); -- Exit cqlsh EXIT;
اترك جلسة SSH مفتوحة أو سجِّل عنوان IP لوحدة VM هذه (hostname -I).
المحتوى التالي
بعد ذلك، عليك إعداد مثيل وقاعدة بيانات Cloud Spanner.
4. إنشاء مثيل Spanner وقاعدة بيانات (الهدف)
في Spanner، المثيل هو مجموعة من موارد الحوسبة والتخزين التي تستضيف قاعدة بيانات Spanner واحدة أو أكثر. ستحتاج إلى مثيل واحد على الأقل لاستضافة قاعدة بيانات Spanner في هذا الدليل التعليمي.
التحقّق من إصدار حزمة تطوير البرامج (SDK) من gcloud
قبل إنشاء مثيل، تأكَّد من تحديث حزمة تطوير البرامج (SDK) gcloud في Google Cloud Shell إلى الإصدار المطلوب، وهو gcloud SDK 493.0.0. يمكنك العثور على إصدار حزمة تطوير البرامج (SDK) من gcloud من خلال تنفيذ الأمر أدناه.
$ gcloud version | grep Google
في ما يلي مثال على الإخراج:
Google Cloud SDK 489.0.0
إذا كان الإصدار الذي تستخدمه أقدم من الإصدار المطلوب 493.0.0 (489.0.0
في المثال السابق)، عليك ترقية حزمة Google Cloud SDK من خلال تنفيذ الأمر التالي:
sudo apt-get update \
&& sudo apt-get --only-upgrade install google-cloud-cli-anthoscli google-cloud-cli-cloud-run-proxy kubectl google-cloud-cli-skaffold google-cloud-cli-cbt google-cloud-cli-docker-credential-gcr google-cloud-cli-spanner-migration-tool google-cloud-cli-cloud-build-local google-cloud-cli-pubsub-emulator google-cloud-cli-app-engine-python google-cloud-cli-kpt google-cloud-cli-bigtable-emulator google-cloud-cli-datastore-emulator google-cloud-cli-spanner-emulator google-cloud-cli-app-engine-go google-cloud-cli-app-engine-python-extras google-cloud-cli-config-connector google-cloud-cli-package-go-module google-cloud-cli-istioctl google-cloud-cli-anthos-auth google-cloud-cli-gke-gcloud-auth-plugin google-cloud-cli-app-engine-grpc google-cloud-cli-kubectl-oidc google-cloud-cli-terraform-tools google-cloud-cli-nomos google-cloud-cli-local-extract google-cloud-cli-firestore-emulator google-cloud-cli-harbourbridge google-cloud-cli-log-streaming google-cloud-cli-minikube google-cloud-cli-app-engine-java google-cloud-cli-enterprise-certificate-proxy google-cloud-cli
تفعيل واجهة برمجة التطبيقات Spanner API
في Cloud Shell، تأكَّد من إعداد رقم تعريف مشروعك. استخدِم الأمر الأول أدناه للعثور على رقم تعريف المشروع الذي تم ضبطه حاليًا. إذا لم تكن النتيجة متوقّعة، سيضبط الأمر الثاني أدناه النتيجة الصحيحة.
gcloud config get-value project
gcloud config set project [YOUR-DESIRED-PROJECT-ID]
اضبط منطقتك التلقائية على us-central1
. يمكنك تغيير ذلك إلى منطقة مختلفة تتيحها الإعدادات الإقليمية في Spanner.
gcloud config set compute/region us-central1
فعِّل واجهة برمجة التطبيقات Spanner API:
gcloud services enable spanner.googleapis.com
إنشاء مثيل Spanner
في هذا القسم، ستُنشئ إما مثيلًا في الفترة التجريبية المجانية أو مثيلًا تم توفيره. خلال هذا الدليل التعليمي، يكون رقم تعريف مثيل Spanner Cassandra Adapter المستخدَم هو cassandra-adapter-demo
، ويتم ضبطه على المتغيّر SPANNER_INSTANCE_ID
باستخدام سطر الأوامر export
. يمكنك اختيار اسم معرّف المثيل اختياريًا.
إنشاء مثيل Spanner في الفترة التجريبية المجانية
تتوفّر نسخة تجريبية مجانية من Spanner لمدة 90 يومًا لأي مستخدم لديه حساب Google ومفعَّل فيه Cloud Billing في مشروعه. ولن يتم تحصيل رسوم منك إلا إذا اخترت ترقية نسخة الفترة التجريبية المجانية إلى نسخة مدفوعة. يتوفّر محوِّل Spanner Cassandra في نسخة الفترة التجريبية المجانية. إذا كان حسابك مؤهّلاً، يمكنك إنشاء مثيل للتجربة المجانية من خلال فتح Cloud Shell وتنفيذ هذا الأمر:
export SPANNER_INSTANCE_ID=cassandra-adapter-demo
export SPANNER_REGION=regional-us-central1
gcloud spanner instances create $SPANNER_INSTANCE_ID \
--config=$SPANNER_REGION \
--instance-type=free-instance \
--description="Spanner Cassandra Adapter demo"
ناتج الأمر:
$ gcloud spanner instances create $SPANNER_INSTANCE_ID \ --config=$SPANNER_REGION \ --instance-type=free-instance \ --description="Spanner Cassandra Adapter demo" Creating instance...done.
إنشاء قاعدة البيانات
بعد تشغيل المثيل، يمكنك إنشاء قاعدة البيانات. قاعدة البيانات هي المكان الذي تحدِّد فيه المخطّط. يمكنك أيضًا التحكّم في المستخدمين الذين يمكنهم الوصول إلى قاعدة البيانات وإعداد التشفير المخصّص وضبط أداة تحسين الأداء وتحديد فترة الاحتفاظ بالبيانات.
سيتم إنشاء قاعدة البيانات في المثيل الذي يحمل رقم التعريف SPANNER_INSTANCE_ID
.
لإنشاء قاعدة بيانات، استخدِم أداة سطر أوامر gcloud:
export SPANNER_DATABASE=analytics
gcloud spanner databases create $SPANNER_DATABASE \
--instance=$SPANNER_INSTANCE_ID
ناتج الأمر:
$ gcloud spanner databases create $SPANNER_DATABASE \ --instance=$SPANNER_INSTANCE_ID Creating database...done.
5- نقل مخطّط Cassandra ونموذج البيانات إلى Spanner
تتضمن المرحلة الأولية والحاسمة لنقل البيانات من قاعدة بيانات Cassandra إلى Spanner تحويل مخطّط Cassandra الحالي بما يتوافق مع متطلبات بنية وأنواع البيانات في Spanner.
لتبسيط عملية نقل المخططات المعقدة هذه، يوفّر Spanner أداة قيّمة مفتوحة المصدر تُعرف باسم أداة مخطّط Spanner Cassandra.
أداة مخطّط Spanner Cassandra
أداة مخطّط Cassandra في Spanner هي أداة مستقلة مفتوحة المصدر لتقييم Spanner وترحيل المخطط. وتتمثل وظيفته الأساسية في إنشاء مخطّط Spanner تلقائيًا استنادًا إلى التعريفات المتوفّرة في مخطّط Cassandra الحالي. من خلال تحليل بنى جداول Cassandra وأنواع البيانات وإعدادات المفاتيح الأساسية، تنشئ الأداة تعريفات جداول Spanner معادلة، ما يقلل بشكل كبير من الجهد اليدوي المبذول عادةً في ترجمة المخطط.
تصدير مخطّط Cassandra
قبل استخدام أداة مخطّط Spanner Cassandra، تكون الخطوة الملموسة الأولى هي استخراج المخطّط من مجموعة Cassandra الحالية. يمكن تحقيق ذلك من خلال الاتصال بمجموعة Cassandra الحالية من خلال cqlsh
وتصدير المخطّط من Cassandra:
cqlsh [IP] "-e DESC SCHEMA" > orig_schema.cql
في هذا الأمر، يجب استبدال [IP]
بعنوان IP أو اسم المضيف لأحد العقد في مجموعة Cassandra. يوجّه الجزء -e DESC SCHEMA
من الأمر أداة cqlsh لوصف المخطّط الكامل لوحدة Cassandra. بعد ذلك، تتم إعادة توجيه ناتج هذا الأمر، الذي يحتوي على عبارةَي CREATE KEYSPACE وCREATE TABLE، إلى ملف باسم orig_schema.cql
.
سيمثّل محتوى ملف orig_schema.cql
هذا بشكل أساسي مخطّطًا نصيًا لنموذج Cassandra. يجب أن يظهر محتوى ملف orig_schema.cql
على النحو التالي:
CREATE KEYSPACE analytics WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '1'} AND durable_writes = true;
CREATE TABLE analytics.users (
id int PRIMARY KEY,
active boolean,
username text
) WITH additional_write_policy = '99p'
AND allow_auto_snapshot = true
AND bloom_filter_fp_chance = 0.01
AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
AND cdc = false
AND comment = ''
AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'}
AND compression = {'chunk_length_in_kb': '16', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'}
AND memtable = 'default'
AND crc_check_chance = 1.0
AND default_time_to_live = 0
AND extensions = {}
AND gc_grace_seconds = 864000
AND incremental_backups = true
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair = 'BLOCKING'
AND speculative_retry = '99p';
استنساخ المستودع
لاستخدام أداة مخطّط Spanner Cassandra، تتضمّن الخطوة التالية الحصول على رمز المصدر الخاص بالأداة. ويتم ذلك من خلال استنساخ المستودع المستضاف على GitHub. استنسِخ أداة مخطّط Spanner Cassandra من GitHub عن طريق كتابة الأمر التالي في Cloud Shell:
git clone https://github.com/cloudspannerecosystem/spanner-cassandra-schema-tool.git
بعد ذلك، غيِّر الدليل إلى الدليل "spanner-cassandra-schema-tool" حيث سيتم تنفيذ الأمر.
cd spanner-cassandra-schema-tool
تثبيت الطلبات المُرتبطة
أداة مخطّط Spanner Cassandra مكتوبة بلغة البرمجة Go. لضمان عمل الأداة بشكل صحيح، تعتمد على وحدات (مكتبات) Go الخارجية معيّنة. يجب تنزيل هذه الملحقات وإدارتها قبل تشغيل الأداة. ضمن الدليل spanner-cassandra-schema-tool
، نفِّذ الأمر التالي:
go mod download
إعداد بيانات اعتماد Google Cloud
تستخدِم هذه الأداة بيانات الاعتماد التلقائية للتطبيق (ADC) كمصدر بيانات الاعتماد للربط بقواعد بيانات Spanner. اضبط متغيّر البيئة GOOGLE_APPLICATION_CREDENTIALS
على مسار ملف مفتاح حساب الخدمة.
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/your/service-account-file.json"
استبدِل /path/to/your/service-account-file.json
بالمسار الفعلي لملف مفتاح حساب الخدمة الذي تم تنزيله. يضمن ضبط متغيّر البيئة هذا أن تتمكّن أداة مخطّط Spanner Cassandra من المصادقة بأمان مع مشروعك على Google Cloud ومثيل Spanner.
الاستخدام
بعد تثبيت التبعيات وضبط بيانات اعتماد Google Cloud، تكون مستعدًا لتشغيل أداة مخطّط Cassandra في Spanner لإنشاء مخطّط Spanner من ملف مخطّط Cassandra الذي تم تصديره. انتقِل إلى دليل spanner-cassandra-schema-tool
في الوحدة الطرفية أو Cloud Shell ونفِّذ الأمر go run
التالي:
go run schema_converter.go \
--project $PROJECT_ID \
--instance $SPANNER_INSTANCE_ID \
--database $SPANNER_DATABASE \
--cql orig_schema.cql \
--dry-run
يؤدي استخدام الخيار --dry-run
إلى إنشاء المخطّط فقط. راجِع أعمدة ربط أنواع البيانات والمفتاح الأساسي التي أنشأتها الأداة وحرِّرها. تأكَّد من أنّ أنواع بيانات Spanner تمثّل بدقة النطاق والدقة والدلالات لأنواع قاعدة بيانات Cassandra المقابلة.
تربط هذه الأداة أنواع Cassandra بأنواع Spanner كما هو موضّح في أنواع بيانات Cassandra المتوافقة.
ستظهر مخرجات الأمر على النحو التالي:
.....
[Converted Spanner statement]
CREATE TABLE users (
id INT64 NOT NULL OPTIONS (cassandra_type = 'int'),
active BOOL OPTIONS (cassandra_type = 'boolean'),
username STRING(MAX) OPTIONS (cassandra_type = 'text'),
) PRIMARY KEY (id)
----------------------------------------------
Writing converted Spanner schema to: schema.txt
Dry run enabled. Skipping schema execution.
Schema conversion completed!
إذا أردت أيضًا تطبيق المخطّط تلقائيًا على Spanner، عليك تشغيل وحدة تحكّم سطر الأوامر بدون الخيار --dry-run
.
تأكَّد في Google Cloud Console من توفّر الجداول وجدول البيانات الوصفية في قاعدة بيانات Cloud Spanner.
6. إعداد عمليات الكتابة المزدوجة للبيانات الواردة
[TODO]
7. تصدير بياناتك السابقة بشكل مجمّع
[TODO]
8. التحقّق من صحة بياناتك
[TODO]
9- توجيه تطبيقك إلى Spanner (عملية النقل)
بعد التحقّق بدقة من دقة بياناتك وسلامتها بعد مرحلة نقل البيانات، تكون الخطوة الأساسية هي نقل التركيز التشغيلي لتطبيقك من نظام Cassandra القديم إلى قاعدة بيانات Google Cloud Spanner التي تمّت تعبئتها حديثًا. ويُشار إلى هذه الفترة الانتقالية الحرجة عادةً باسم "عملية النقل".
تشير مرحلة النقل إلى اللحظة التي تتم فيها إعادة توجيه عدد الزيارات المباشرة للتطبيق بعيدًا عن مجموعة Cassandra الأصلية والربط مباشرةً ببنية Spanner الأساسية القوية والقابلة للتوسّع. يوضّح هذا الانتقال سهولة الاستفادة من إمكانات Spanner في التطبيقات، لا سيما عند استخدام واجهة Spanner Cassandra.
باستخدام واجهة Spanner Cassandra، يتم تبسيط عملية النقل. ويشمل ذلك بشكل أساسي ضبط إعدادات تطبيقات العميل لاستخدام برنامج Spanner Cassandra Client الأصلي لجميع عمليات التفاعل مع البيانات. بدلاً من التواصل مع قاعدة بيانات Cassandra (المصدر)، ستبدأ تطبيقاتك في قراءة البيانات وكتابتها مباشرةً في Spanner (الهدف) بسلاسة. يتم عادةً تحقيق هذا التغيير الأساسي في الاتصال من خلال استخدام SpannerCqlSessionBuilder
، وهو مكوّن رئيسي في مكتبة Spanner Cassandra Client التي تسهّل إنشاء اتصالات بمثيل Spanner. يؤدي ذلك إلى إعادة توجيه تدفق بيانات تطبيقك بالكامل إلى Spanner بفعالية.
بالنسبة إلى تطبيقات Java التي تستخدم حاليًا مكتبة cassandra-java-driver
، لا يتطلّب دمج Spanner Cassandra Java Client سوى تغييرات بسيطة على عملية إعداد CqlSession
.
الحصول على التبعية google-cloud-spanner-cassandra
لبدء استخدام Spanner Cassandra Client، عليك أولاً دمج التبعية في مشروعك. يتم نشر عناصر google-cloud-spanner-cassandra
في Maven Central، ضمن معرّف المجموعة com.google.cloud
. أضِف التبعية الجديدة التالية ضمن قسم <dependencies>
الحالي في مشروع Java. في ما يلي مثال مبسط على كيفية تضمين التبعية google-cloud-spanner-cassandra
:
<!-- native Spanner Cassandra Client -->
<dependencies>
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-spanner-cassandra</artifactId>
<version>0.2.0</version>
</dependency>
</dependencies>
تغيير إعدادات الاتصال للربط بـ Spanner
بعد إضافة التبعية اللازمة، تكون الخطوة التالية هي تغيير إعدادات الاتصال للربط بقاعدة بيانات Spanner.
غالبًا ما يستخدم التطبيق العادي الذي يتفاعل مع مجموعة Cassandra رمزًا مشابهًا لما يلي لإنشاء اتصال:
CqlSession session = CqlSession.builder()
.addContactPoint(new InetSocketAddress("127.0.0.1", 9042))
.withLocalDatacenter("datacenter1")
.withAuthCredentials("username", "password")
.build();
لإعادة توجيه هذا الاتصال إلى Spanner، عليك تعديل منطق إنشاء CqlSession
. بدلاً من استخدام CqlSessionBuilder
العادية مباشرةً من cassandra-java-driver
، ستستخدم SpannerCqlSession.builder()
التي يوفّرها برنامج Spanner Cassandra Client. في ما يلي مثال توضيحي على كيفية تعديل رمز الربط:
String databaseUri = "projects/<your-gcp-project>/instances/<your-spanner-instance>/databases/<your-spanner-database>";
CqlSession session = SpannerCqlSession.builder()
.setDatabaseUri(databaseUri)
.addContactPoint(new InetSocketAddress("localhost", 9042))
.withLocalDatacenter("datacenter1")
.build();
من خلال إنشاء مثيل للعنصر CqlSession
باستخدام SpannerCqlSession.builder()
وتقديم databaseUri
الصحيح، سيُنشئ تطبيقك الآن اتصالاً من خلال Spanner Cassandra Client بقاعدة بيانات Spanner المستهدَفة. يضمن هذا التغيير الأساسي توجيه جميع عمليات القراءة والكتابة اللاحقة التي يجريها تطبيقك إلى Spanner وتقديمها من خلاله، ما يُكمل عملية النقل الأولية بفعالية. في هذه المرحلة، من المفترض أن يستمر تطبيقك في العمل على النحو المتوقّع، وذلك بفضل إمكانات التوسّع والموثوقية التي يوفّرها Spanner.
نظرة على آلية عمل برنامج Spanner Cassandra Client
يعمل برنامج Spanner Cassandra client كوكيل tcp محلي، ويتداخل مع وحدات البايت الأولية لبروتوكول Cassandra التي يرسلها برنامج تشغيل أو أداة عميل. بعد ذلك، يتم لفّ هذه البايتات مع البيانات الوصفية اللازمة في رسائل gRPC للتواصل مع Spanner. تتم ترجمة الردود الواردة من Spanner مرة أخرى إلى تنسيق Cassandra البرمجي وإرسالها مرة أخرى إلى الأداة أو برنامج التشغيل الأصلي.
بعد التأكّد من أنّ Spanner يعرض كل الزيارات بشكل صحيح، يمكنك في النهاية إجراء ما يلي:
- أوقِف عمليات تصدير البيانات إلى وجهتَين.
- أوقِف مجموعة Cassandra الأصلية.
10. التنظيف (اختياري)
لإزالة الملفات غير الضرورية، ما عليك سوى الانتقال إلى قسم Spanner في Cloud Console وحذف مثيل cassandra-adapter-demo
الذي أنشأناه في ورشة رموز البرامج.
حذف قاعدة بيانات Cassandra (إذا كانت مثبَّتة محليًا أو دائمة)
إذا ثبّتْت Cassandra خارج جهاز Compute Engine افتراضي تم إنشاؤه هنا، اتّبِع الخطوات المناسبة لإزالة البيانات أو إلغاء تثبيت Cassandra.
11. تهانينا!
ما هي الخطوات التالية؟
- تعرَّف على مزيد من المعلومات عن Cloud Spanner.
- اطّلِع على مزيد من المعلومات حول واجهة Cassandra.