谷歌云专业云数据库工程师的学习笔记(Beta版)

由于数据库的新试验进行了β版本发布,所以来挑战一下吧!
https://cloud.google.com/certification/guides/cloud-database-engineer

這是一份關於準備考試的學習筆記。
對於考試的結果我還不知道,儘管在參加考試後發現存在一些過失,但我覺得並不完全失準,所以我想和大家分享,如果能對某些人有幫助的話。
※具體的考試題目之類的是違反規定的,所以我在這裡不提及。

我决定按以下步骤来勉强学习。
虽然有官方的学习计划供参考,可能更加高效,但为了节省学分,这次我也考虑了自己制定学习方案。

    • 求められる知識のセルフチェック → 知識が曖昧なこと(重点学習箇所)をピックアップ。あまりに網羅率が低ければ試験をリスケ。

 

    • 重点学習箇所を”英語で”調べる → β試験は英語なものの、英語苦手なので慣れるため。

 

    日本語で改めてドキュメントを読み直し答え合わせ → 英語読解のミス洗い出しと関連知識の補填。

通过查看考试概述中提到的内容,对比出题范围,我确认了自己理解较弱的部分。

数据库服务的类型 (Databases services types)

关系型数据库

云数据库 Cloud SQL、云融合 Cloud Spanner、裸金属 Bare Metal。
原子性、一致性、隔离性、持久性特征。

非关系型数据库

ACID特性ではないが、FirestoreはACIDを特殊な形で提供している。
ドキュメントDB: Firestore
キー・バリュー: Bigtable、Memorystore
インメモリ: Memorystore
ワイドカラムDB: Bigtable、(Cassandra、HBase)
グラフDB: (JanusGraph + )Bigtable (ストレージとして使用)
()… Google Cloudサービスではない。

转变

数据库迁移服务。将各种源数据库迁移到CloudSQL。
Datastream。无服务器的易于使用的变更数据捕获(CDC)和复制服务。从Oracle和MySQL等各种数据库服务中获取数据。

※ 尽管看起来Datastream似乎包含DMS,但在使用案例中,通常会结合Dataflow和Pub/Sub一起使用,直到将数据导入GCS中。对于使用不同工具的区别还需要更深入的理解。

选择标准

请将此页面保存下来。

 

服务列表

将各项服务的文档汇总成单独的表格。

CategoriesPointsCloud SQLCloud SpannerBare MetalFirestoreMemorystoreCloud BigtableFirebase Realtime DatabaseAvailabityChoices- Single Zone
– High HARegion
– Multi Region
– Single Region
Replica
– Read / Write
– Read
– WitnessN/A- Multi-Region
– Regional- Basic tire (no Read Replica)
– Standard tire (Read Replica on the other Zone)Multi-cluster

Instance Replication
– Multi Region
– Multi ZoneTBAAvailabityFail OverNot available for a minutesAutomaticaly with no disable time. But you can change leader region.N/AAutomaticaly. You can’t change default region.Automaticaly. Not available for any secounds and disconnected existing connection.- Multi-cluster
automatic failover.
– Single-cluster
manual failover.TBAEncryptionAt rest- client-side
Row-level. Use ‘Tink’ library.
– CMEK
Instance-level.- CMEKSVM- server-side
AES-256
– client-side
Both O.K.- client-side
Use ‘Tink’ library with KMS.CMEKTBAEncryptionIn transitUse SSL/TLS certificationAPI default encripted.Interconnect, VPNTLSTLS (limit by Instance Type)TLSTBACostFactorCPU, Memory, Storage, Type(MySQL, Postgres, or SQL Server)Compute, Storage, NW EgressSubscribe. Contct sales.Storage, Bandwidth, Operation(Write, Read, Delete)Tire, Storage, Region, Num of NodesType(SSD, HDD), Num of Instances, Storage, Egress NW(Free same region)TBACostCommited UsageYes (1Year, 3Years)Yes (1Year, 3Years)?NoNoNoTBAAuthenticationIAM Rolecloudsql.xxx
(admin, editor, viewer, client, instanceUser)
client … from Auth Proxy and GAE
use tags.spanner.xxx
(admin, backupAdmin, backupWriter, databaseAdmin, databaseReader, databaseUser, restoreAdmin, viewer)baremetalsolution.XXX
(admin, editor, viewer, instanceXXX, storageadmin, networksadmin, nfsshareXXX)datastore.xxx
(owner, user, viewer, importExportAdmin, indexAdmin)redis.xxx
memcache.xxx
(admin, editor, viewer, instances.xxx, locations.xxx, operations.xxx)bigtable.xxx
(admin, user, reader, viewer, locations.xxx, instances.xxx, appProfiles.xxx, backups.xxx, clusters.xxx, tables.xxx, keyvisualizer.xxx)TBAAuthenticationConnect as DB Usser- Cloud SQL user (=root@)
– MySQL(or else) user
– IAM database authenication- API
– psql (with PGAdapter)N/ASecurity RulesRedis AUTHN/ATBABackupManaged- On-demand / Automated
Retain up to 365 days.
– Point-in-time Recovery
1 day.- On-demand / Automated
Retain up to 365 days.
– Point-in-time Recovery
1 day.N/AN/A
(For automate, export using Cloud Scheduler)N/A
(For automate, export using Cloud Scheduler)Table backup.TBABackupImport / ExportCSV / Dump filesArvo / CSVN/ALebelDBRDB BackupArvo, Parquet, SequenceTBAMonitoringPrimary Cloud Monitoring metrixisCPU, Storage, e.t.c.CPU, Latency, e.t.c.N/ADocument xxx, Active Connection, e.t.c.memory usageCPU, Disk usageTBAMonitoringNot Cloud Monitoring- Instance Logs(Cloud Logging)
– Recommender
– Insight- Key Visualizer
– OpenCensus (Client-side)- gcloud (bms XXX describe)- Key Visualizer
– Usage DashBoard
– Security Rule Usage
– Daily QuotaN/Alog4jTBA

每个数据库服务的便笺

云SQL

全面托管的SQL数据库服务,支持MySQL、PostgreSQL和SQL Server。存储可自动扩展。

数据库标识符

数据库引擎的参数。
更改可能会导致重新启动。复制品也是如此。

数据库认证

有密码认证和IAM认证(MySQL、PostgreSQL)。

我是 IAM 認証 (wǒ shì IAM

期限为1小时。需要使用SSL。
如果要创建副本,则在创建时需要明确启用。
如果从备份恢复,同一项目将继承相同的设置,但在不同项目中需要进行新的设置。

校长

只支持用户账户和服务账户,不支持群组等。

角色

云数据库实例登录

资源

默认设置是在项目级别进行的。

我是。

云SQL客户端的角色

Cloud SQL Client
Connectivity access to Cloud SQL instances from App Engine and the Cloud SQL Auth proxy. Not required for accessing an instance using IP addresses.
cloudsql.instances.connect
cloudsql.instances.get

身份角色:云SQL实例用户

Cloud SQL Instance User	Role allowing access to a Cloud SQL instance.

cloudsql.instances.get
cloudsql.instances.login

 

最佳实践 (zuì jiā shí

 

SSL / TLS is a cryptographic protocol that ensures secure communication over the internet.

服务器证书

在创建实例时自动生成。server-ca.pem。
有效期为10年。无需手动管理到期(可进行更换,但不强制要求)。

客户证书

每个实例最多可以创建10个。
需要云SQL管理员IAM角色。
客户端证书不是必需的,但推荐使用双向证书验证。

云 SQL 身份验证代理

在与Cloud SQL的连接中保持安全的机制。从GAE中不需要。
可以进行IAM认证。
而且可以通过私有IP地址进行访问。
需要将应用部署到与Cloud SQL相同的VPC中。

加密

客户端加密

先进行加密再进行写入。列级别的加密是必需的。
通过KMS和Tink(库)来实现。

CMEK 可以简述为中国母语中的以下选项:

必须在现有实例上采取行动。
将被复制和克隆的副本接管。
为了进行导入/导出操作,请在GCS存储桶上设置CMEK。

备份

即时恢复

gcloud sql instances clone SOURCE_INSTANCE_NAME \
NEW_INSTANCE_NAME \
--point-in-time 'TIMESTAMP'

扳手

复制品

读/写副本

    • 全データ持ち

 

    • 書き込み可能

 

    Leader昇格可能

只读副本

    • 全データ持ち

 

    • 書き込み不可

 

    Leader昇格不可

见证复制品

    • データなし

 

    • 書き込み可能

 

    Leader昇格不可

故障转移

 

数量 (shù

100到1,000。

演出

    • ホットスポットの削減

 

    • UUIDv4の使用

 

    • ハッシュ結合の検討

 

    • ある程度まとめてコミット

 

    パーティションをノード数の10倍

备份

备份

    • パフォーマススに影響なし

 

    期間最大1年

进口/出口

    • パフォーマススに影響あり

 

    期間無制限

中国本语的重新表述为:密文编码(CMEK)。

    • 作成時に指定(既存のDBには適用できない)

 

    Backupにも使われる

模拟器

为了节省成本,提供了能够在本地进行API验证的模拟器。

云端数据库

模式

    • Datastore

 

    Native

最佳实践

    • 1秒に1回以上、一つのドキュメントを更新しない

 

    ホットスポットを避ける

参考与快照

前者可以进行引用操作(如更新等)。后者是无法进行操作的数据副本。

记忆存储

打字

    • for Redis

 

    for Memcached

升级

在Basic tire下,暂时不可使用。如果不使用RDB Snapshot,则所有数据将被一次性清除。
在Standard tire下,可维持可用性。

大表格

组成

实例、集群、节点的组成结构(从左至右依次层级递进)。集群依赖于区域。

加密 (CMEK)

    • 作成時に指定(既存のDBには適用できない)

 

    • Backupにも使われる

 

    Cluster単位(テーブルなどには指定できない)

运输层安全协议 (TLS)

 

固态硬盘(SSD)对比机械硬盘(HDD)

一般情况下使用SSD。只有当需要10TB以上存储且可以接受延迟较高时才考虑HDD(便宜)。

转换

只能通过备份数据来实现,不能直接进行。

备用运行

    • 数秒間の遮断

 

    エンドポイントは引き継がれるのでアプリ側の変更は不要

连接

    • Direct peering … VPC Peering

 

    Private services access … Shared VPC, Inter connect, VPN

我是

读者与观众

观众无法访问数据。

垃圾收集

删除过期数据。

转变

数据库迁移服务

将本地数据库迁移到Cloud SQL或GCS的无服务器服务。

数据流

像将数据从Oracle迁移到Cloud SQL for MySQL这样的无服务器服务。

1631549411928.png

与数据融合的对比

 

每个迁移目标的模式

对于Cloud Spanner

 

将DynamoDB扩展到Spanner

批处理

    1. 将数据加载到S3

 

    1. 从S3迁移到Cloud Storage(DMS)

 

    1. 从Cloud Storage传送到Dataflow

 

    使用Dataflow将数据传输到Spanner

流处理

    通过Lambda发送消息到Pub/Sub,然后从Pub/Sub传输到Dataflow,最终将数据流向Spanner。

 

HBase 到 Bigtable。

    1. 将快照和哈希存储到云存储中

 

    1. 在Bigtable中创建一个空表

 

    1. 导入快照

 

    使用哈希进行验证

 

用中文的母语来解释这个词。

以下是兩個資源連結,提供關於在Google雲端平台上使用Bigtable運行JanusGraph以及Google雲端資料庫選項的相關解釋:

1. Bigtable上運行JanusGraph的方案:
https://cloud.google.com/architecture/running-janusgraph-with-bigtable

2. 解釋Google雲端資料庫選項的部落格文章:
https://cloud.google.com/blog/topics/developers-practitioners/your-google-cloud-database-options-explained

 

广告
将在 10 秒后关闭
bannerAds