1. Giới thiệu
Spanner là một dịch vụ cơ sở dữ liệu được quản lý toàn diện, có thể mở rộng theo chiều ngang và được phân phối trên toàn cầu, phù hợp với cả khối lượng công việc quan hệ và không quan hệ.
Giao diện Cassandra của Spanner cho phép bạn tận dụng cơ sở hạ tầng được quản lý đầy đủ, có khả năng mở rộng và có khả năng hoạt động cao của Spanner bằng cách sử dụng các công cụ và cú pháp Cassandra quen thuộc.
Kiến thức bạn sẽ học được
- Cách thiết lập thực thể và cơ sở dữ liệu Spanner.
- Cách chuyển đổi giản đồ và mô hình dữ liệu Cassandra.
- Cách triển khai và định cấu hình chế độ ghi kép cho dữ liệu đến.
- Cách xuất hàng loạt dữ liệu trong quá khứ từ Cassandra sang Spanner.
- Cách xác thực dữ liệu để đảm bảo tính toàn vẹn của dữ liệu trong suốt quá trình di chuyển.
- Cách trỏ ứng dụng của bạn đến Spanner thay vì Cassandra.
Bạn cần có
- Một dự án Google Cloud được kết nối với một tài khoản thanh toán.
- Truy cập vào một máy đã cài đặt và định cấu hình CLI
gcloud
hoặc sử dụng Google Cloud Shell. - Một trình duyệt web, chẳng hạn như Chrome hoặc Firefox.
2. Cách thiết lập và yêu cầu
Tạo dự án GCP
Đăng nhập vào Google Cloud Console rồi tạo một dự án mới hoặc sử dụng lại một dự án hiện có. Nếu chưa có tài khoản Gmail hoặc Google Workspace, bạn phải tạo một tài khoản.
- Tên dự án là tên hiển thị cho người tham gia dự án này. Đây là một chuỗi ký tự không được API của Google sử dụng. Bạn luôn có thể cập nhật thông tin này.
- Mã dự án là duy nhất trên tất cả các dự án trên Google Cloud và không thể thay đổi (không thể thay đổi sau khi đặt). Cloud Console sẽ tự động tạo một chuỗi duy nhất; thường thì bạn không cần quan tâm đến chuỗi này. Trong hầu hết các lớp học lập trình, bạn sẽ cần tham chiếu đến Mã dự án (thường được xác định là
PROJECT_ID
). Nếu không thích mã được tạo, bạn có thể tạo một mã ngẫu nhiên khác. Ngoài ra, bạn có thể thử dùng email của riêng mình để xem có thể sử dụng hay không. Bạn không thể thay đổi thông tin này sau bước này và thông tin này sẽ được giữ nguyên trong suốt thời gian thực hiện dự án. - Xin lưu ý rằng có một giá trị thứ ba là Mã dự án mà một số API sử dụng. Tìm hiểu thêm về cả ba giá trị này trong tài liệu.
Thiết lập thanh toán
Tiếp theo, bạn cần làm theo hướng dẫn dành cho người dùng về việc quản lý thông tin thanh toán và bật thông tin thanh toán trong Cloud Console. Người dùng mới của Google Cloud đủ điều kiện tham gia chương trình Dùng thử miễn phí 300 USD. Để tránh bị tính phí sau khi hoàn tất hướng dẫn này, bạn có thể tắt phiên bản Spanner ở cuối lớp học lập trình bằng cách làm theo "Bước 9: Dọn dẹp".
Khởi động Cloud Shell
Mặc dù có thể điều khiển Google Cloud từ xa trên máy tính xách tay, nhưng trong lớp học lập trình này, bạn sẽ sử dụng Google Cloud Shell, một môi trường dòng lệnh chạy trên đám mây.
Trong Bảng điều khiển Google Cloud, hãy nhấp vào biểu tượng Cloud Shell trên thanh công cụ trên cùng bên phải:
Quá trình cấp phép và kết nối với môi trường chỉ mất vài phút. Khi hoàn tất, bạn sẽ thấy như sau:
Máy ảo này được tải sẵn tất cả các công cụ phát triển mà bạn cần. Ứng dụng này cung cấp một thư mục gốc 5 GB ổn định và chạy trên Google Cloud, giúp nâng cao đáng kể hiệu suất mạng và xác thực. Bạn có thể thực hiện tất cả công việc trong lớp học lập trình này trong một trình duyệt. Bạn không cần cài đặt gì cả.
Tiếp theo
Tiếp theo, bạn sẽ triển khai cụm Cassandra.
3. Triển khai cụm Cassandra (Nguồn gốc)
Trong lớp học lập trình này, chúng ta sẽ thiết lập một cụm Cassandra có một nút trên Compute Engine.
1. Tạo máy ảo GCE cho Cassandra
Để tạo một thực thể, hãy sử dụng lệnh 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. Cài đặt 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. Tạo không gian khoá và bảng
Chúng ta sẽ sử dụng ví dụ về bảng users và tạo một không gian khoá có tên là "analytics".
cd ~/apache-cassandra bin/cqlsh <your-localhost-ip? 9042 #starts the cql shell
Bên trong 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;
Để phiên SSH mở hoặc ghi lại địa chỉ IP của máy ảo này (tên máy chủ -I).
Tiếp theo
Tiếp theo, bạn sẽ thiết lập một phiên bản và cơ sở dữ liệu Cloud Spanner.
4. Tạo một thực thể Spanner và cơ sở dữ liệu (Mục tiêu)
Trong Spanner, phiên bản là một cụm tài nguyên điện toán và lưu trữ lưu trữ một hoặc nhiều cơ sở dữ liệu Spanner. Bạn sẽ cần ít nhất 1 phiên bản để lưu trữ cơ sở dữ liệu Spanner cho lớp học lập trình này.
Kiểm tra phiên bản SDK gcloud
Trước khi tạo một thực thể, hãy đảm bảo rằng SDK gcloud trong Google Cloud Shell đã được cập nhật lên phiên bản bắt buộc – SDK gcloud 493.0.0. Bạn có thể tìm thấy phiên bản SDK gcloud bằng cách làm theo lệnh bên dưới.
$ gcloud version | grep Google
Dưới đây là kết quả mẫu:
Google Cloud SDK 489.0.0
Nếu phiên bản bạn đang sử dụng thấp hơn phiên bản 493.0.0 bắt buộc (489.0.0
trong ví dụ trước), thì bạn cần nâng cấp SDK Google Cloud bằng cách chạy lệnh sau:
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
Bật Spanner API
Trong Cloud Shell, hãy đảm bảo bạn đã thiết lập mã dự án. Sử dụng lệnh đầu tiên bên dưới để tìm mã dự án hiện được định cấu hình. Nếu kết quả không như dự kiến, lệnh thứ hai bên dưới sẽ đặt kết quả chính xác.
gcloud config get-value project
gcloud config set project [YOUR-DESIRED-PROJECT-ID]
Định cấu hình khu vực mặc định thành us-central1
. Bạn có thể thay đổi khu vực này thành một khu vực khác được cấu hình theo khu vực của Spanner hỗ trợ.
gcloud config set compute/region us-central1
Bật Spanner API:
gcloud services enable spanner.googleapis.com
Tạo thực thể Spanner
Trong phần này, bạn sẽ tạo một thực thể dùng thử miễn phí hoặc một thực thể được cấp. Trong suốt lớp học lập trình này, Mã phiên bản của bộ chuyển đổi Cassandra Spanner được sử dụng là cassandra-adapter-demo
, được đặt làm biến SPANNER_INSTANCE_ID
bằng cách sử dụng dòng lệnh export
. Bạn có thể chọn tên mã nhận dạng thực thể của riêng mình (không bắt buộc).
Tạo một phiên bản Spanner dùng thử miễn phí
Mọi người dùng có Tài khoản Google và đã bật Cloud Billing trong dự án của mình đều có thể sử dụng phiên bản dùng thử miễn phí Spanner trong 90 ngày. Bạn sẽ không bị tính phí trừ phi bạn chọn nâng cấp phiên bản dùng thử miễn phí lên phiên bản trả phí. Trình chuyển đổi Spanner Cassandra được hỗ trợ trong phiên bản dùng thử miễn phí. Nếu đủ điều kiện, hãy tạo một phiên bản dùng thử miễn phí bằng cách mở Cloud Shell và chạy lệnh sau:
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"
Kết quả lệnh:
$ gcloud spanner instances create $SPANNER_INSTANCE_ID \ --config=$SPANNER_REGION \ --instance-type=free-instance \ --description="Spanner Cassandra Adapter demo" Creating instance...done.
Tạo cơ sở dữ liệu
Sau khi thực thể đang chạy, bạn có thể tạo cơ sở dữ liệu. Cơ sở dữ liệu là nơi bạn xác định giản đồ. Bạn cũng có thể kiểm soát những người có quyền truy cập vào cơ sở dữ liệu, thiết lập phương thức mã hoá tuỳ chỉnh, định cấu hình trình tối ưu hoá và đặt khoảng thời gian lưu giữ.
Cơ sở dữ liệu sẽ được tạo trong thực thể có mã SPANNER_INSTANCE_ID
.
Để tạo cơ sở dữ liệu, hãy sử dụng công cụ dòng lệnh gcloud:
export SPANNER_DATABASE=analytics
gcloud spanner databases create $SPANNER_DATABASE \
--instance=$SPANNER_INSTANCE_ID
Kết quả lệnh:
$ gcloud spanner databases create $SPANNER_DATABASE \ --instance=$SPANNER_INSTANCE_ID Creating database...done.
5. Di chuyển giản đồ Cassandra và mô hình dữ liệu sang Spanner
Giai đoạn ban đầu và quan trọng của quá trình chuyển đổi dữ liệu từ cơ sở dữ liệu Cassandra sang Spanner là chuyển đổi giản đồ Cassandra hiện có để phù hợp với các yêu cầu về cấu trúc và kiểu dữ liệu của Spanner.
Để đơn giản hoá quá trình di chuyển giản đồ phức tạp này, Spanner cung cấp một công cụ nguồn mở có giá trị được gọi là công cụ giản đồ Spanner Cassandra.
Công cụ giản đồ Cassandra của Spanner
Công cụ giản đồ Cassandra Spanner là một công cụ nguồn mở độc lập để đánh giá Spanner và di chuyển giản đồ. Chức năng chính của công cụ này là tự động tạo giản đồ Spanner dựa trên các định nghĩa có trong giản đồ Cassandra hiện có. Bằng cách phân tích cấu trúc bảng Cassandra, loại dữ liệu và cấu hình khoá chính, công cụ này sẽ tạo các định nghĩa bảng Spanner tương đương, giúp giảm đáng kể nỗ lực thủ công thường liên quan đến việc dịch giản đồ.
Xuất giản đồ Cassandra
Trước khi sử dụng công cụ giản đồ Cassandra Spanner, bước cụ thể đầu tiên là trích xuất giản đồ từ cụm Cassandra hiện tại. Bạn có thể thực hiện việc này bằng cách kết nối với cụm Cassandra hiện có thông qua cqlsh
và xuất giản đồ từ Cassandra:
cqlsh [IP] "-e DESC SCHEMA" > orig_schema.cql
Trong lệnh này, bạn nên thay thế [IP]
bằng địa chỉ IP hoặc tên máy chủ của một trong các nút trong cụm Cassandra. Phần -e DESC SCHEMA
của lệnh này hướng dẫn cqlsh mô tả toàn bộ giản đồ của cụm Cassandra. Kết quả của lệnh này (chứa câu lệnh CREATE KEYSPACE và CREATE TABLE) sau đó được chuyển hướng đến một tệp có tên orig_schema.cql
.
Nội dung của tệp orig_schema.cql
này về cơ bản sẽ thể hiện bản thiết kế dạng văn bản của giản đồ Cassandra. Nội dung của tệp orig_schema.cql
sẽ có dạng như sau:
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';
Sao chép kho lưu trữ
Để sử dụng công cụ giản đồ Spanner Cassandra, bước tiếp theo là lấy mã nguồn của công cụ. Bạn có thể thực hiện việc này bằng cách sao chép kho lưu trữ được lưu trữ trên GitHub. Sao chép công cụ giản đồ Spanner Cassandra từ GitHub bằng cách nhập lệnh sau trong Cloud Shell:
git clone https://github.com/cloudspannerecosystem/spanner-cassandra-schema-tool.git
Sau đó, thay đổi thư mục thành thư mục "spanner-cassandra-schema-tool" nơi bạn sẽ chạy lệnh.
cd spanner-cassandra-schema-tool
Cài đặt phần phụ thuộc
Công cụ giản đồ Cassandra Spanner được viết bằng ngôn ngữ lập trình Go. Để đảm bảo công cụ hoạt động chính xác, công cụ này dựa vào một số mô-đun Go (thư viện) bên ngoài. Bạn cần tải và quản lý các phần phụ thuộc này trước khi có thể chạy công cụ. Trong thư mục spanner-cassandra-schema-tool
, hãy thực thi lệnh sau:
go mod download
Thiết lập thông tin xác thực Google Cloud
Công cụ này sử dụng Thông tin xác thực mặc định của ứng dụng (ADC) làm nguồn thông tin xác thực để kết nối với cơ sở dữ liệu Spanner. Đặt biến môi trường GOOGLE_APPLICATION_CREDENTIALS
thành đường dẫn của tệp khoá tài khoản dịch vụ.
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/your/service-account-file.json"
Thay thế /path/to/your/service-account-file.json
bằng đường dẫn thực tế đến tệp khoá tài khoản dịch vụ mà bạn đã tải xuống. Việc đặt biến môi trường này đảm bảo rằng công cụ giản đồ Spanner Cassandra có thể xác thực một cách an toàn bằng dự án Google Cloud và thực thể Spanner của bạn.
Cách sử dụng
Sau khi cài đặt các phần phụ thuộc và thiết lập thông tin xác thực Google Cloud, bạn đã sẵn sàng chạy công cụ giản đồ Spanner Cassandra để tạo giản đồ Spanner từ tệp giản đồ Cassandra đã xuất. Chuyển đến thư mục spanner-cassandra-schema-tool
trong dòng lệnh hoặc Cloud Shell rồi thực thi lệnh go run
sau:
go run schema_converter.go \
--project $PROJECT_ID \
--instance $SPANNER_INSTANCE_ID \
--database $SPANNER_DATABASE \
--cql orig_schema.cql \
--dry-run
Việc chạy với tuỳ chọn --dry-run
chỉ tạo giản đồ. Xem lại và tinh chỉnh mối liên kết loại dữ liệu và cột khoá chính do công cụ tạo. Đảm bảo rằng các loại dữ liệu Spanner thể hiện chính xác phạm vi, độ chính xác và ngữ nghĩa của các loại cơ sở dữ liệu Cassandra tương ứng.
Công cụ này liên kết các loại Cassandra với các loại Spanner như được ghi nhận trong phần Các loại dữ liệu Cassandra được hỗ trợ.
Kết quả của lệnh sẽ có dạng như sau:
.....
[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!
Trong trường hợp bạn cũng muốn áp dụng giản đồ tự động cho Spanner, bạn nên chạy cli mà không có tuỳ chọn --dry-run
.
Xác minh trong Bảng điều khiển Google Cloud rằng các bảng và bảng siêu dữ liệu tồn tại trong cơ sở dữ liệu Cloud Spanner.
6. Thiết lập chế độ ghi kép cho dữ liệu đến
[VIỆC CẦN LÀM]
7. Xuất dữ liệu trong quá khứ hàng loạt
[VIỆC CẦN LÀM]
8. Xác thực dữ liệu
[VIỆC CẦN LÀM]
9. Trỏ ứng dụng của bạn đến Spanner (Chuyển đổi)
Sau khi xác thực kỹ lưỡng độ chính xác và tính toàn vẹn của dữ liệu sau giai đoạn di chuyển, bước quan trọng là chuyển trọng tâm hoạt động của ứng dụng từ hệ thống Cassandra cũ sang cơ sở dữ liệu Google Cloud Spanner mới được điền sẵn. Khoảng thời gian chuyển đổi quan trọng này thường được gọi là "thời điểm chuyển đổi".
Giai đoạn chuyển đổi đánh dấu thời điểm lưu lượng truy cập ứng dụng trực tiếp được chuyển hướng khỏi cụm Cassandra ban đầu và kết nối trực tiếp với cơ sở hạ tầng Spanner mạnh mẽ và có thể mở rộng. Quá trình chuyển đổi này cho thấy các ứng dụng có thể dễ dàng tận dụng sức mạnh của Spanner, đặc biệt là khi sử dụng giao diện Spanner Cassandra.
Với giao diện Spanner Cassandra, quy trình chuyển đổi sẽ được đơn giản hoá. Việc này chủ yếu liên quan đến việc định cấu hình các ứng dụng khách của bạn để sử dụng Ứng dụng Cassandra Spanner gốc cho mọi hoạt động tương tác với dữ liệu. Thay vì giao tiếp với cơ sở dữ liệu Cassandra (nguồn gốc), ứng dụng của bạn sẽ bắt đầu đọc và ghi dữ liệu trực tiếp vào Spanner (mục tiêu) một cách liền mạch. Sự thay đổi cơ bản này về khả năng kết nối thường được thực hiện thông qua việc sử dụng SpannerCqlSessionBuilder
, một thành phần chính của thư viện Ứng dụng Cassandra Spanner giúp tạo điều kiện thiết lập kết nối với phiên bản Spanner của bạn. Thao tác này sẽ định tuyến lại toàn bộ luồng lưu lượng dữ liệu của ứng dụng đến Spanner một cách hiệu quả.
Đối với các ứng dụng Java đã sử dụng thư viện cassandra-java-driver
, việc tích hợp Ứng dụng Java Spanner Cassandra chỉ yêu cầu thay đổi nhỏ đối với quá trình khởi chạy CqlSession
.
Tải phần phụ thuộc google-cloud-spanner-cassandra
Để bắt đầu sử dụng Ứng dụng Cassandra Spanner, trước tiên, bạn cần kết hợp phần phụ thuộc của ứng dụng đó vào dự án. Cấu phần phần mềm google-cloud-spanner-cassandra
được phát hành trong Maven Central, theo mã nhận dạng nhóm com.google.cloud
. Thêm phần phụ thuộc mới sau đây vào phần <dependencies>
hiện có trong dự án Java. Dưới đây là ví dụ đơn giản về cách thêm phần phụ thuộc 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>
Thay đổi cấu hình kết nối để kết nối với Spanner
Sau khi thêm phần phụ thuộc cần thiết, bước tiếp theo là thay đổi cấu hình kết nối để kết nối với cơ sở dữ liệu Spanner.
Một ứng dụng thông thường tương tác với cụm Cassandra thường sử dụng mã tương tự như sau để thiết lập kết nối:
CqlSession session = CqlSession.builder()
.addContactPoint(new InetSocketAddress("127.0.0.1", 9042))
.withLocalDatacenter("datacenter1")
.withAuthCredentials("username", "password")
.build();
Để chuyển hướng kết nối này đến Spanner, bạn cần sửa đổi logic tạo CqlSession
. Thay vì trực tiếp sử dụng CqlSessionBuilder
tiêu chuẩn từ cassandra-java-driver
, bạn sẽ sử dụng SpannerCqlSession.builder()
do Ứng dụng Cassandra Spanner cung cấp. Sau đây là ví dụ minh hoạ cách sửa đổi mã kết nối:
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();
Bằng cách tạo bản sao CqlSession
bằng SpannerCqlSession.builder()
và cung cấp databaseUri
chính xác, ứng dụng của bạn hiện sẽ thiết lập kết nối thông qua Ứng dụng Spanner Cassandra với cơ sở dữ liệu Spanner mục tiêu. Thay đổi quan trọng này đảm bảo rằng tất cả các thao tác đọc và ghi tiếp theo do ứng dụng của bạn thực hiện sẽ được chuyển hướng đến và do Spanner phân phát, giúp hoàn tất quá trình chuyển đổi ban đầu một cách hiệu quả. Tại thời điểm này, ứng dụng của bạn sẽ tiếp tục hoạt động như dự kiến, nhờ khả năng mở rộng và độ tin cậy của Spanner.
Tìm hiểu sâu: Cách hoạt động của ứng dụng Spanner Cassandra
Ứng dụng Cassandra Spanner đóng vai trò là proxy tcp cục bộ, chặn các byte giao thức Cassandra thô do trình điều khiển hoặc công cụ ứng dụng gửi. Sau đó, lớp này sẽ gói các byte này cùng với siêu dữ liệu cần thiết vào các thông điệp gRPC để giao tiếp với Spanner. Các phản hồi từ Spanner được dịch trở lại định dạng cáp Cassandra và gửi lại cho trình điều khiển hoặc công cụ ban đầu.
Khi đã chắc chắn rằng Spanner đang phân phát chính xác tất cả lưu lượng truy cập, cuối cùng bạn có thể:
- Dừng ghi kép.
- Ngưng sử dụng cụm Cassandra ban đầu.
10. Dọn dẹp (không bắt buộc)
Để dọn dẹp, bạn chỉ cần chuyển đến mục Spanner của Cloud Console rồi xoá thực thể cassandra-adapter-demo
mà chúng ta đã tạo trong lớp học lập trình.
Xoá cơ sở dữ liệu Cassandra (nếu được cài đặt cục bộ hoặc lưu trữ)
Nếu bạn đã cài đặt Cassandra bên ngoài máy ảo Compute Engine được tạo tại đây, hãy làm theo các bước thích hợp để xoá dữ liệu hoặc gỡ cài đặt Cassandra.
11. Xin chúc mừng!
Tiếp theo là gì?
- Tìm hiểu thêm về Cloud Spanner.
- Tìm hiểu thêm về Giao diện Cassandra.