Cloud SQL 是 GCP 提供針對 MySQL、PostgreSQL、SQL Server 推出的完全託管關係型資料庫服務,讓使用者能夠從資料庫的管理任務中解放出來,花更多時間在資料本身而非硬體維護。雲端資料庫只是在雲端上建置、部署和存取的資料庫而已,其底層操作和傳統地端資料庫完全一樣,對應其他的雲端服務是 :
- Amazon Web Services (AWS) : Amazon RDS
- Microsoft Azure : Azure SQL Database for MySQL/PostgreSQL
Cloud SQL 除了可快速啟用資料庫,還可以同時整合讀寫分離、同步、自動備份、監控等等,也讓我們能更安全便捷地整合 GCP 的其它雲端產品例如:「創建 Table 並從 Cloud Storage 導入 .sql 資料」、「使用 Cloud SQL Auth Proxy 連結到 Compute Engine」、「連接到 BigQuery 來使用聯合查詢」等等。
由於 Bigtable 在 Google 內部廣為使用,故有於 2006 年發表了它的論文介紹:Bigtable: A Distributed Storage System for Structured Data,然後在 2015/5 推出成為 GCP 雲端產品給大眾使用。 在 Google 官網上 Bigtable 的定義是一個 Sparsely-Populated-Table,其中 sparse 意思是如果某 Column 未在特定 Row 中使用,就不會佔用任何空間。
Bigtable 也可以輕鬆擴展到數十億 Rows 和數千個 Columns ,能夠存儲 PB 級的資料量,適合 High-Throughput 場景的服務,是個強大的服務。而個人也覺得 Bigtable 是對有使用 GCP 的人常被問有沒有使用過的一個雲端服務之一,故可以特別看一下這個服務。(第一名最常問的,我個人認為是 Bigquery)
Bigtable 並不是傳統 RDB 關係型資料庫,而是 GCP 提供的企業級 NoSQL Database,是一個支持大數據應用的分散式存儲系統,保證高可擴展、高可用性、高性能與高吞吐需求的服務,與現有 Apache Big Data 生態系統的開源軟體如 HBase 也有蠻好的整合。對應到其他的雲端服務是 :
- Amazon Web Services (AWS) : DynamoDB
- Microsoft Azure : Cosmos DB
Bigtable 優勢在於其強大的擴充性,效能完全和 cluster 中的 Node 數量成正比,該產品的強大性完全不用質疑,因為 Google 的很多重量級專案都有使用 Bigtable 來存儲資料例如: Youtube、Google Earth、Google 搜尋引擎、Google Map 等等,每個專案都為數十億活躍使用者提供穩定的服務。
Firestore 是 Google 提供的一款雲端全代管無伺服器的 Document NoSQL 資料庫,scale out 取向的設計會自動多區域資料複製 replication ,也有強一致性 query 和 transaction 支援。對應其他的雲端服務是 :
- Amazon Web Services (AWS) : DocumentDB
- Microsoft Azure : Cosmos DB
Firestore 特別的一點是有提供 realtime listeners 即時監聽器來同步 Firestore 資料庫和 client apps 之間的資料,同時也有提供 offline support 離線支援,也就是說一旦雲端的 Firestore 有異動,資料便會自動同步到用戶端上 ; 另一方面當用戶端無法上網時會先存取資料在自己用戶端上,等到可以上網之後會跟雲端的 Firestore 資料庫互相同步。
Filestore 是 Google Cloud 上完全託管的 Network FileSystem(簡稱 NFS),目的讓不同的機器甚至是不同的作業系統都可以彼此分享檔案。對應其他的雲端服務是 :
- Amazon Web Services (AWS) : Elastic File System (EFS)
- Microsoft Azure : Azure Files
Filestore 讀寫速度超級快,作為 file storage 並支持併發同時訪問同一個檔案,還提供其他不同種類的存儲類型一些可選替代方案,例如把 Filestore 作為一種「 Persistent Disk 的 block storage 存儲種類 」或者「 類似 Cloud Storage FUSE 的 object storage 存儲種類」等等,因此它適用連接整合到多種 GCP Client 端服務如:VM、GKE、Cloud Run 等等。
Cloud Storage 簡稱為 GCS ,是 Google 提供的 Object Storage,會把物件儲存在一個名叫 Bucket 的容器內,而 Bucket 還可以有類似劃分資料夾的功能稱 Managed Folders,可以針對這些資料夾加上個別的 IAM 來提供更精細的存取權限。對應其他的雲端服務是 :
- Amazon Web Services (AWS) : Simple Storage Service (S3)
- Microsoft Azure : Azure Blob Storage
Cloud Storage 是具有高性能 BLOB(Binary Large Object)儲存裝置,基本上可當成是近乎無限大的檔案儲存空間,不用預先配置容量也無需花費心力去管理容量,並提供 User 以 Google Web Console 介面 、SDK 或 RESTful API 的方式,簡單直觀地存取儲存的 Object。