Di chuyển từ Cassandra sang Bigtable bằng Proxy ghi kép

1. Giới thiệu

Bigtable là một dịch vụ cơ sở dữ liệu NoSQL hiệu suất cao, được quản lý toàn diện, được thiết kế cho các tải công việc phân tích và vận hành lớn. Việc di chuyển từ các cơ sở dữ liệu hiện có như Apache Cassandra sang Bigtable thường đòi hỏi bạn phải lập kế hoạch cẩn thận để giảm thiểu thời gian ngừng hoạt động và tác động đến ứng dụng.

Lớp học lập trình này minh hoạ một chiến lược di chuyển từ Cassandra sang Bigtable bằng cách kết hợp các công cụ proxy:

  1. Cassandra-Bigtable Proxy: Cho phép các ứng dụng và công cụ Cassandra (chẳng hạn như cqlsh hoặc trình điều khiển) tương tác với Bigtable bằng giao thức Ngôn ngữ truy vấn Cassandra (CQL) thông qua việc dịch các truy vấn.
  2. Datastax Zero Downtime Migration (ZDM) Proxy: Một proxy nguồn mở nằm giữa ứng dụng và các dịch vụ cơ sở dữ liệu của bạn (Cassandra gốc và Bigtable mục tiêu thông qua Cassandra-Bigtable Proxy). Nền tảng này điều phối hoạt động ghi kép và quản lý việc định tuyến lưu lượng truy cập, cho phép di chuyển mà không cần thay đổi nhiều ứng dụng và thời gian ngừng hoạt động.
  3. Cassandra Data Migrator (CDM): Một công cụ nguồn mở dùng để di chuyển hàng loạt dữ liệu cũ từ cụm Cassandra nguồn sang phiên bản Bigtable đích.

Kiến thức bạn sẽ học được

  • Cách thiết lập một cụm Cassandra cơ bản trên Compute Engine.
  • Cách tạo một phiên bản Bigtable.
  • Cách triển khai và định cấu hình Proxy Cassandra-Bigtable để liên kết một giản đồ Cassandra với Bigtable.
  • Cách triển khai và định cấu hình Datastax ZDM Proxy cho tính năng ghi kép.
  • Cách sử dụng công cụ Cassandra Data Migrator để di chuyển hàng loạt dữ liệu hiện có.
  • Quy trình tổng thể để di chuyển Cassandra sang Bigtable dựa trên proxy.

Bạn cần có

  • Một dự án trên Google Cloud đã bật tính năng thanh toán. Người dùng mới sẽ đủ điều kiện dùng thử miễn phí.
  • Quen thuộc cơ bản với các khái niệm về Google Cloud như dự án, Compute Engine, mạng VPC và quy tắc tường lửa. Quen thuộc cơ bản với các công cụ dòng lệnh Linux.
  • Truy cập vào một máy có cài đặt và định cấu hình CLI gcloud hoặc sử dụng Google Cloud Shell.

Trong lớp học lập trình này, chúng ta sẽ chủ yếu sử dụng các máy ảo (VM) trên Compute Engine trong cùng một mạng và khu vực VPC để đơn giản hoá việc kết nối mạng. Bạn nên sử dụng địa chỉ IP nội bộ.

2. Thiết lập môi trường

1. Chọn hoặc tạo một dự án trên Google Cloud

Chuyển đến Google Cloud Console rồi chọn một dự án hiện có hoặc tạo một dự án mới. Ghi lại Mã dự án.

2. Chọn một khu vực và múi giờ

Chọn một khu vực và vùng cho tài nguyên của bạn. Chúng ta sẽ sử dụng us-central1 và us-central1-c làm ví dụ. Hãy xác định các biến này làm biến môi trường để thuận tiện:

export PROJECT_ID="<your-project-id>"
export REGION="us-central1"
export ZONE="us-central1-c"

gcloud config set project $PROJECT_ID
gcloud config set compute/region $REGION
gcloud config set compute/zone $ZONE

3. Bật các API bắt buộc

Đảm bảo bạn đã bật Compute Engine API và Bigtable API cho dự án của mình.

gcloud services enable compute.googleapis.com bigtable.googleapis.com bigtableadmin.googleapis.com

4. Định cấu hình các quy tắc về tường lửa

Chúng ta cần cho phép các VM giao tiếp với nhau trong mạng VPC mặc định trên một số cổng:

  • Cổng CQL của Cassandra/Proxy: 9042
  • Cổng kiểm tra tình trạng của ZDM Proxy: 14001
  • SSH: 22

Tạo quy tắc tường lửa để cho phép lưu lượng truy cập nội bộ trên các cổng này. Chúng ta sẽ sử dụng thẻ cassandra-migration để dễ dàng áp dụng quy tắc này cho các máy ảo có liên quan.

gcloud compute firewall-rules create allow-migration-internal \
--network=default \
--action=ALLOW \
--rules=tcp:22,tcp:9042,tcp:7000,tcp:14001 \
--source-ranges=10.0.0.0/8 \
--target-tags=cassandra-migration

3. Triển khai cụm Cassandra (Nguồn)

Trong lớp học lập trình này, chúng ta sẽ thiết lập một cụm Cassandra đơn giản gồm một nút trên Compute Engine. Trong trường hợp thực tế, bạn sẽ kết nối với cụm hiện có.

1. Tạo một máy ảo GCE cho Cassandra

gcloud compute instances create cassandra-origin \
--machine-type=e2-medium \
--image-family=ubuntu-2204-lts \
--image-project=ubuntu-os-cloud \
--tags=cassandra-migration \
--boot-disk-size=20GB \
--scopes=cloud-platform \
--zone="$ZONE"

SSH vào phiên bản Cassandra của bạn

gcloud compute ssh --zone="$ZONE" "cassandra-origin"

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 41x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list
curl https://downloads.apache.org/cassandra/KEYS | sudo apt-key add -

# Install Cassandra
sudo apt update
sudo apt install -y cassandra

# (Optional) Verify Cassandra is running
sudo systemctl status cassandra

3. Định cấu hình Cassandra

Chúng ta cần định cấu hình Cassandra để có thể truy cập vào mạng riêng.

Lấy IP riêng tư của cassandra-origin bằng cách chạy:

hostname -I

Chỉnh sửa cấu hình Cassandra, bạn không cần thêm bất kỳ dòng cấu hình mới nào – chỉ cần cập nhật những dòng đã có:

sudo vim /etc/cassandra/cassandra.yaml
  1. Đặt seed_provider.parameters.seeds thành "CASSANDRA_ORIGIN_PRIVATE_IP:7000"
  2. Đặt rpc_address thành CASSANDRA_ORIGIN_PRIVATE_IP
  3. Đặt listen_address thành CASSANDRA_ORIGIN_PRIVATE_IP

Lưu tệp.

Cuối cùng, hãy khởi động lại Cassandra để tải các thay đổi về cấu hình:

sudo systemctl restart cassandra

# (Optional) Verify Cassandra is running
sudo systemctl status cassandra

4. Tạo một không gian khoá và bảng

Chúng ta sẽ sử dụng ví dụ về bảng nhân viên và tạo một keyspace có tên là "zdmbigtable".

Lưu ý: có thể mất một phút để cassandra bắt đầu chấp nhận các kết nối.

# Start cqlsh
cqlsh $(hostname -I)

Trong cqlsh:

-- Create keyspace (adjust replication for production)
CREATE KEYSPACE zdmbigtable WITH replication = {'class':'SimpleStrategy', 'replication_factor':1};

-- Use the keyspace
USE zdmbigtable;

-- Create the employee table
CREATE TABLE employee (
    name text PRIMARY KEY,
    age bigint,
    code int,
    credited double,
    balance float,
    is_active boolean,
    birth_date timestamp
);

-- Exit cqlsh
EXIT;

Giữ phiên SSH ở trạng thái mở hoặc ghi lại địa chỉ IP của VM này (hostname -I).

4. Thiết lập Bigtable (Đích đến)

Thời lượng 0:01

Tạo một phiên bản Bigtable. Chúng ta sẽ dùng zdmbigtable làm mã nhận dạng phiên bản.

gcloud bigtable instances create zdmbigtable \
--display-name="ZDM Bigtable Target" \
--cluster="bigtable-c1" \
--cluster-zone="$ZONE" \
--cluster-num-nodes=1 # Use 1 node for dev/testing; scale as needed

Bản thân bảng Bigtable sẽ được tạo sau bằng tập lệnh thiết lập Cassandra-Bigtable Proxy.

5. Thiết lập Proxy Cassandra-Bigtable

1. Tạo máy ảo Compute Engine cho Cassandra-Bigtable Proxy

gcloud iam service-accounts create bigtable-proxy-sa \
    --description="Service account for Bigtable Proxy access" \
    --display-name="Bigtable Proxy Access SA"

export BIGTABLE_PROXY_SA_EMAIL=$(gcloud iam service-accounts list --filter="displayName='Bigtable Proxy Access SA'" --format="value(email)")

gcloud bigtable instances add-iam-policy-binding zdmbigtable \
  --member="serviceAccount:$BIGTABLE_PROXY_SA_EMAIL" \
  --role="roles/bigtable.admin"

gcloud compute instances create bigtable-proxy-vm \
--machine-type=e2-medium \
--image-family=ubuntu-2204-lts \
--image-project=ubuntu-os-cloud \
--tags=cassandra-migration \
--boot-disk-size=20GB \
--zone=$ZONE \
--scopes=cloud-platform \
--service-account="$BIGTABLE_PROXY_SA_EMAIL"

SSH vào bigtable-proxy-vm:

gcloud compute ssh --zone="$ZONE" "bigtable-proxy-vm"

Trên bigtable-proxy-vm, hãy chạy:

# Install Git and Go
sudo apt-get update
sudo apt-get install -y git

wget https://go.dev/dl/go1.23.6.linux-amd64.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.23.6.linux-amd64.tar.gz

echo 'export GOPATH=$HOME/go' >> ~/.profile
echo 'export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin' >> ~/.profile
source ~/.profile

# Clone the proxy repository
git clone https://github.com/GoogleCloudPlatform/cloud-bigtable-ecosystem.git
cd cloud-bigtable-ecosystem/cassandra-bigtable-migration-tools/cassandra-bigtable-proxy/

2. Khởi động Cassandra-Bigtable Proxy

Khởi động máy chủ proxy.

# At the root of the cassandra-to-bigtable-proxy directory
go run proxy.go --project-id="$(gcloud config get-value project)" --instance-id=zdmbigtable --keyspace-id=zdmbigtable --rpc-address=$(hostname -I)

Proxy sẽ bắt đầu và lắng nghe trên cổng 9042 để nhận các kết nối CQL đến. Tiếp tục chạy phiên thiết bị đầu cuối này. Ghi lại địa chỉ IP của VM này (hostname -I)

3. Tạo bảng thông qua CQL

Kết nối CQLSH với địa chỉ IP của VM Proxy Cassandra-Bigtable. Bạn có thể tìm địa chỉ IP bằng cách chạy lệnh sau đây trên thiết bị:

gcloud compute instances describe bigtable-proxy-vm --format='get(networkInterfaces[0].networkIP)'

Trong một cửa sổ riêng, hãy SSH vào cassandra-origin vm và sử dụng cqlsh cho bigtable-proxy. Xin lưu ý rằng chúng tôi đặt thời gian chờ yêu cầu dài hơn thời gian chờ mặc định để đảm bảo Bigtable có đủ thời gian tạo bảng cơ bản. Bạn sẽ thấy thông báo "Connected to cassandra-bigtable-proxy-v0.2.3" (Đã kết nối với cassandra-bigtable-proxy-v0.2.3) hoặc thông báo tương tự, cho biết bạn đã kết nối với proxy bigtable chứ không phải máy chủ cassandra cục bộ.

# Replace <your-bigtable-proxy-vm-ip> with the ip from the above command
export BIGTABLE_PROXY_IP=<your-bigtable-proxy-vm-ip>
cqlsh --request-timeout=60 $BIGTABLE_PROXY_IP
-- Create the employee table
CREATE TABLE zdmbigtable.employee (
    name text PRIMARY KEY,
    age bigint,
    code int,
    credited double,
    balance float,
    is_active boolean,
    birth_date timestamp
);

Trong CQLSH, hãy xác minh rằng bảng của bạn đã được tạo bằng cách chạy:

DESC TABLE zdmbigtable.employee;

6. Thiết lập ZDM Proxy

Chúng ta sẽ tạo một phiên bản duy nhất của ZDM Proxy cho lớp học lập trình này, nhưng bạn sẽ muốn thiết lập nhiều nút cho quá trình di chuyển sản xuất.

1. Tạo VM proxy ZDM

gcloud compute instances create zdm-proxy-vm \
--machine-type=e2-medium \
--image-family=ubuntu-2204-lts \
--image-project=ubuntu-os-cloud \
--tags=cassandra-migration \
--boot-disk-size=20GB \
--scopes=cloud-platform \
--zone=$ZONE

Ghi lại địa chỉ IP của cả hai máy ảo.

2. Chuẩn bị ZDM Proxy

gcloud compute ssh --zone="$ZONE" zdm-proxy-vm
export ZDM_VERSION="2.3.4"
wget "https://github.com/datastax/zdm-proxy/releases/download/v$ZDM_VERSION/zdm-proxy-linux-amd64-v$ZDM_VERSION.tgz"
tar -xvzf "zdm-proxy-linux-amd64-v$ZDM_VERSION.tgz"

# replace YOUR_ZONE
gcloud config set compute/zone "YOUR_ZONE"
export ZDM_ORIGIN_CONTACT_POINTS=$(gcloud compute instances describe cassandra-origin --format='get(networkInterfaces[0].networkIP)') 
export ZDM_TARGET_CONTACT_POINTS=$(gcloud compute instances describe bigtable-proxy-vm --format='get(networkInterfaces[0].networkIP)')
export ZDM_ORIGIN_USERNAME=""
export ZDM_ORIGIN_PASSWORD=""
export ZDM_TARGET_USERNAME=""
export ZDM_TARGET_PASSWORD=""
export ZDM_PROXY_LISTEN_ADDRESS=0.0.0.0
export ZDM_PROXY_LISTEN_PORT=9042
./zdm-proxy-v${ZDM_VERSION}

7. Định cấu hình ứng dụng và bắt đầu ghi kép

Thời lượng 0:05

Ở giai đoạn này trong quá trình di chuyển thực tế, bạn sẽ định cấu hình lại(các) ứng dụng của mình để trỏ đến địa chỉ IP của VM Proxy ZDM (ví dụ: :9042) thay vì kết nối trực tiếp với Cassandra.

Sau khi ứng dụng kết nối với ZDM Proxy: Các lượt đọc sẽ được phân phát từ Nguồn (Cassandra) theo mặc định. Các thao tác ghi được gửi đến cả Nguồn (Cassandra) và Mục tiêu (Bigtable, thông qua Cassandra-Bigtable Proxy). Điều này cho phép ứng dụng của bạn tiếp tục hoạt động bình thường, đồng thời đảm bảo dữ liệu mới được ghi vào cả hai cơ sở dữ liệu cùng một lúc. Bạn có thể kiểm tra kết nối bằng cqlsh trỏ đến ZDM Proxy:

cqlsh $(gcloud compute instances describe zdm-proxy-vm --format='get(networkInterfaces[0].networkIP)')

Hãy thử chèn một số dữ liệu:

INSERT INTO zdmbigtable.employee (name, age, is_active) VALUES ('Alice', 30, true); 
INSERT INTO zdmbigtable.employee (name, age, is_active) VALUES ('Anna', 45, true); 
INSERT INTO zdmbigtable.employee (name, age, is_active) VALUES ('Albert', 50, false); 
SELECT * FROM zdmbigtable.employee;

Dữ liệu này phải được ghi vào cả Cassandra và Bigtable. Bạn có thể xác nhận điều này trong Bigtable bằng cách chuyển đến Google Cloud Console rồi mở Trình chỉnh sửa truy vấn Bigtable cho phiên bản của bạn. Chạy truy vấn "SELECT * FROM employee" và dữ liệu vừa chèn sẽ xuất hiện.

8. Di chuyển dữ liệu cũ bằng Cassandra Data Migrator

Bây giờ, khi tính năng ghi kép đang hoạt động cho dữ liệu mới, hãy sử dụng công cụ Cassandra Data Migrator (CDM) để sao chép dữ liệu cũ hiện có từ Cassandra sang Bigtable.

1. Tạo VM Compute Engine cho CDM

Máy ảo này cần có đủ bộ nhớ cho Spark.

gcloud compute instances create cdm-migrator-vm \
--machine-type=e2-medium \
--image-family=ubuntu-2204-lts \
--image-project=ubuntu-os-cloud \
--tags=cassandra-migration \
--boot-disk-size=40GB \
--scopes=cloud-platform \
--zone=$ZONE

2. Cài đặt các điều kiện tiên quyết (Java 11, Spark)

SSH vào cdm-migrator-vm:

gcloud compute ssh cdm-migrator-vm

Bên trong VM:

# Install Java 11 
sudo apt-get update 
sudo apt-get install -y openjdk-11-jdk
 
# Verify Java installation 
java -version 

# Download and Extract Spark (Using version 3.5.3 as requested) 
# Check the Apache Spark archives for the correct URL if needed

wget  https://archive.apache.org/dist/spark/spark-3.5.3/spark-3.5.3-bin-hadoop3-scala2.13.tgz
tar -xvzf spark-3.5.3-bin-hadoop3-scala2.13.tgz

echo 'export SPARK_HOME=$PWD/spark-3.5.3-bin-hadoop3-scala2.13' >> ~/.profile
echo 'export PATH=$PATH:$SPARK_HOME/bin' >> ~/.profile
source ~/.profile

3. Tải Cassandra Data Migrator xuống

Trong trình duyệt, hãy mở trang CDM Packages rồi sao chép đường liên kết .jar từ bảng điều khiển Assets. Nếu không có phiên bản 5.4.0, hãy chọn phiên bản gần nhất tiếp theo. Dán đường liên kết vào lệnh bên dưới rồi chạy lệnh đó trên phiên bản cdm-migrator-vm, giữ nguyên dấu nháy đơn xung quanh URL.

wget 'JAR_URL_GOES_HERE' -O cassandra-data-migrator.jar

Xác minh rằng bạn đã tải tệp jar xuống đúng cách bằng cách quét tệp đó bằng công cụ jar: bạn sẽ thấy một danh sách dài các tệp ".class".

jar tf cassandra-data-migrator.jar 

4. Thêm một số dữ liệu

Chúng ta cần thêm một số dữ liệu để di chuyển bằng cách ghi trực tiếp vào cassandra-origin (không phải zdm-proxy-vm)

INSERT INTO zdmbigtable.employee (name, age, is_active) VALUES ('Alfred', 67, true); 
INSERT INTO zdmbigtable.employee (name, age, is_active) VALUES ('Bobby', 12, false); 
INSERT INTO zdmbigtable.employee (name, age, is_active) VALUES ('Carol', 29, true); 

5. Chạy lệnh di chuyển

Thực thi quá trình di chuyển bằng spark-submit. Lệnh này yêu cầu Spark chạy tệp jar CDM, sử dụng tệp thuộc tính của bạn và chỉ định keyspace cũng như bảng cần di chuyển. Điều chỉnh chế độ cài đặt bộ nhớ (–driver-memory, –executor-memory) dựa trên kích thước VM và khối lượng dữ liệu.

Đảm bảo rằng bạn đang ở trong thư mục chứa tệp jar và tệp thuộc tính CDM.

Lưu ý: bạn có thể lấy IP nội bộ của Cassandra và các VM proxy bằng cách chạy các lệnh sau trên máy cục bộ:

gcloud compute instances describe cassandra-origin --format='get(networkInterfaces[0].networkIP)'
gcloud compute instances describe bigtable-proxy-vm --format='get(networkInterfaces[0].networkIP)'
export ORIGIN_HOST="<your-cassandra-origin-ip>"
export TARGET_HOST="<your-bigtable-proxy-vm-ip>"
export KEYSPACE_TABLE="zdmbigtable.employee"
spark-submit --verbose --master "local[*]" \
--driver-memory 3G --executor-memory 3G \
--conf spark.cdm.schema.origin.keyspaceTable="$KEYSPACE_TABLE" \
--conf spark.cdm.connect.origin.host="$ORIGIN_HOST" \
--conf spark.cdm.connect.origin.port=9042 \
--conf spark.cdm.connect.target.host="$TARGET_HOST" \
--conf spark.cdm.connect.target.port=9042 \
--conf spark.cdm.feature.origin.ttl.automatic=false \
--conf spark.cdm.feature.origin.writetime.automatic=false \
--conf spark.cdm.feature.target.ttl.automatic=false \
--conf spark.cdm.feature.target.writetime.automatic=false \
--conf spark.cdm.schema.origin.column.ttl.automatic=false \
--conf spark.cdm.schema.ttlwritetime.calc.useCollections=false \
--class com.datastax.cdm.job.Migrate cassandra-data-migrator.jar

6. Xác minh quá trình di chuyển dữ liệu

Sau khi tác vụ CDM hoàn tất thành công, hãy xác minh rằng dữ liệu cũ có trong Bigtable.

cqlsh <bigtable-proxy-vm-ip>

Trong cqlsh:

SELECT COUNT(*) FROM zdmbigtable.employee; -- Check row count matches origin 
SELECT * FROM zdmbigtable.employee LIMIT 10; -- Check some sample data

9. Chuyển đổi (theo khái niệm)

Sau khi xác minh kỹ lưỡng tính nhất quán của dữ liệu giữa Cassandra và Bigtable, bạn có thể tiến hành quy trình chuyển đổi cuối cùng.

Với ZDM Proxy, quá trình chuyển đổi liên quan đến việc định cấu hình lại để chủ yếu đọc từ đích đến (Bigtable) thay vì Nguồn (Cassandra). Việc này thường được thực hiện thông qua cấu hình của ZDM Proxy, giúp chuyển lưu lượng truy cập đọc của ứng dụng sang Bigtable một cách hiệu quả.

Sau khi chắc chắn rằng Bigtable đang phân phát tất cả lưu lượng truy cập một cách chính xác, bạn có thể:

  • Dừng ghi kép bằng cách định cấu hình lại ZDM Proxy.
  • Ngừng hoạt động cụm Cassandra ban đầu.
  • Xoá ZDM Proxy và để ứng dụng kết nối trực tiếp với Cassandra-Bigtable Proxy hoặc sử dụng Bigtable CQL Client gốc cho Java.

Thông tin cụ thể về việc định cấu hình lại ZDM Proxy cho quá trình chuyển đổi nằm ngoài phạm vi của lớp học lập trình cơ bản này, nhưng được trình bày chi tiết trong tài liệu về ZDM của Datastax.

10. Dọn dẹp

Để tránh bị tính phí, hãy xoá các tài nguyên đã tạo trong lớp học lập trình này.

1. Xoá các máy ảo Compute Engine

gcloud compute instances delete cassandra-origin zdm-proxy-vm bigtable-proxy-vm cdm-migrator-vm --zone=$ZONE --quiet

2. Xoá phiên bản Bigtable

gcloud bigtable instances delete zdmbigtable

3. Xoá các quy tắc về tường lửa

gcloud compute firewall-rules delete allow-migration-internal

4. Xoá cơ sở dữ liệu Cassandra (nếu được cài đặt cục bộ hoặc được duy trì)

Nếu bạn đã cài đặt Cassandra bên ngoài một 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!

Bạn đã hoàn tất thành công quy trình thiết lập đường dẫn di chuyển dựa trên proxy từ Apache Cassandra sang Bigtable!

Bạn đã tìm hiểu cách:

Triển khai Cassandra và Bigtable.

  • Định cấu hình Proxy Cassandra-Bigtable để tương thích với CQL.
  • Triển khai Datastax ZDM Proxy để quản lý hoạt động ghi kép và lưu lượng truy cập.
  • Sử dụng Cassandra Data Migrator để di chuyển dữ liệu cũ.

Phương pháp này cho phép di chuyển với thời gian ngừng hoạt động tối thiểu và không cần thay đổi mã bằng cách tận dụng lớp proxy.

Các bước tiếp theo

  • Khám phá tài liệu về Bigtable
  • Tham khảo tài liệu về Datastax ZDM Proxy để biết các cấu hình nâng cao và quy trình chuyển đổi.
  • Hãy xem kho lưu trữ Cassandra-Bigtable Proxy để biết thêm thông tin.
  • Hãy xem kho lưu trữ Cassandra Data Migrator để biết cách sử dụng nâng cao.
  • Thử các lớp học lập trình khác của Google Cloud