October 18, 2021
Google Cloud Storage Icon

TỔNG QUAN VỀ DỊCH VỤ STORAGE CỦA GCP

TỔNG QUAN VỀ DỊCH VỤ STORAGE CỦA GCP

1.Đặc điểm

Google Cloud Storage

Google Cloud Storage (GCS) là một Object Storage. Đây là một kho lưu trữ dữ liệu với chức năng quản lý đơn giản, nhưng vô cùng ưu việt và có khả năng mở rộng gần như vô hạn.

Đương nhiên, để sử dụng dịch vụ này ta cần có những kiến thức tổng quan về dịch vụ như sau:

  • GCP Project :  Đơn vị để tính phí thanh toán dịch vụ
  • Bucket : Xem như là một Container để lưu trữ file
  • Object : File được lưu trữ

Đầu tiên chúng ta phải khởi tạo bucket để lưu trữ dữ liệu. Sau đó, ta sẽ chỉ định tên của bucket, nơi lưu trữ dữ liệu và Storage class cho bucket đó.

(Ta có thể thay đổi Storage class theo từng Object)

Trong GCS, có tất cả 4 Storage Class với khả năng sử dụng, thời gian lưu trữ tối thiểu, phí sử dụng khác nhau tuỳ theo từng class.

SLAThời gian lưu trữ tối thiểuPhí sử dụng(GB/tháng)Tần suất sử dụng (tham khảo)
Multi-Regional99.95%No$0.026

Truy xuất dữ liệu: Free

Thường xuyên, giữa các region
Regional99.9%No$0.023*

Truy xuất dữ liệu: free

Thường xuyên, trong region
Nearline99.0%30 ngày$0.016*

Truy xuất dữ liệu: $0.01/GB

Khoảng 1lần / tháng
Coldline99.0%90 ngày$0.01*

Truy xuất dữ liệu: $0.05/GB

Khoảng 1 lần / năm

*Phí sử dụng được tính tại region Tokyo(asia-northeast1)

Ngoài ra, dưới đây là những chức năng mà tất cả các class trên đều hỗ trợ:

  • Sử dụng Tools giống nhau hoặc API để truy cập dữ liệu
  • (XML API, JSON API, gsutil, GCP Console, Client Library)
  • Bảo mật dữ liệu bằng chứng thực OAuth…
  • Đảm bảo độ bền dữ liệu lên đến 99.9999999% (9 số 9)
  • Latency thấp
  • Mã hoá dữ liệu

Performance (Hiệu năng sử dụng)

Khả năng Input / output (I/O) ban đầu của bucket vào khoảng 1000 request Input và 5000 request output mỗi giây. Như vậy, đối với một Object có dung lượng của 1MB, thì 1 tháng trung bình có thể thực hiện 2.5 PB Input và 13PB output.  Trường hợp số request vào bucket chỉ định tăng đột biến, thì GCS sẽ tự động phân bố tài nguyên vào các server khác để tăng dung lượng I/O của bucket đó.

Access Control ( Kiểm soát truy cập)

Chúng ta cần phải hiểu về hệ thống Access Control của GCS. Các option ta có thể chọn như sau:

  • Indentity and Access Management  (Quyền IAM) : Cho phép tất cả truy cập vào Object và Bucket của tất cả Project.  Với Quyền IAM trong tay, ta có thể kiểm soát được tổng quan Project, nhưng không thể kiểm soát được từng Bucket và Object chi tiết.
  • Access Control List ( ACL) : Cho phép truy cập chi tiết vào từng Bucket và Object. Nên sử dụng ACL khi bạn muốn kiểm soát chi tiết từng nguồn tài nguyên.
  • Signed URLs : Cho phép Input/output vào Object với thời gian cho phép thông quan URL được tạo thành. Tất cả thành viên nhận được link URL, không cần quan tâm thành viên đó có tài khoản Google hay không, đều có thể access được vào Object với thời gian được chỉ định.
  • Signed Policy Document : Chỉ định nội dung có thể upload được vào Object. Với tính năng này, bạn có thể kiểm soát được chi tiết hơn như dung lượng, kiểu nội dung upload… so với Singed URL. Tính năng này sẽ giúp cho quản trị viên website có thể hạn chế được khả năng upload dữ liệu lên GCS của người truy cập.  

Kiểm soát truy cập với Google Cloud Bigtable.

Bigtable là một NoSQL Database với khả năng mở rộng lớn (high scability), thích hợp cho những workload yêu cầu low latency và high Throughput.

Bigtable là một công cụ quản lý dữ liệu dưới dạng bảng, với vài trăm ngàn hàng vài vài ngàn cột. Bigtable có thể lưu trữ dữ liệu lên đến hàng TB, PB. Dữ liệu được nạp vào table được lưu trữ trên 3 server khác nhau.

 Khi sử dụng bigtable thì request từ client sẽ thông qua Front-end server, sau đó được gửi đến Bigtable Nood. (Bigtable Node > Bigtable Cluster > Bigtable Instance). Mỗi Noob sẽ xử lý một phần request đối với cluster, do đó nếu tăng số nood vào cluster thì phạm vi xử lý request cũng sẽ tăng theo.

Các table của Bigtable được phân chia vào nhiều tablets. Các tablets này được chứa trong file system của Google. Mỗi tablet có thể liên kết với nhiều Bigtable Nood.

Dữ liệu không được lưu trữ tại các nood. Các noods có nhiệm vụ lưu trữ pointer cho từng tablet. Nhờ đó:

  • Việc di chuyển tablet giữa các nood trở nên nhanh hơn.

          →Vì chỉ cần update pointer giữa các noods, mà không cần phải copy dữ liệu thực

  • Tốc độ khôi phục noods khi xảy ra sự cố sẽ nhanh hơn rất nhiều.

          →Chỉ cần chuyển Metadata về các vị trí noods mới.

  • Dữ liệu không bị mất khi noods xảy ra sự cố.

Khi bắt đầu sử dụng, ta sẽ tạo một Bigtable Instance. Khi khởi tạo, mặc định là sẽ có 3 nood, nhưng ta có thể tăng nood để tăng dung lượng ThroughPut và QPS (Số Query trong 1 giây).

Với Bigtable, dữ liệu sẽ được nạp vào một table có khả năng mở rộng cực lớn. Table được chia theo hàng và cột. Giá trị đầu tiên của mỗi hàng sẽ được lưu vào index và được xem là “key” của hàng đó. Ta có thể scan được bằng “key”, nhưng không thể scan được bằng tên column. Ngoài ra, các Transaction chỉ có thể xử lý theo đơn vị hàng.

Performance (Hiệu năng)

Dưới đây là bảng tham khảo về hiệu năng trên mỗi nood, trong trường hợp không xảy ra bất kì sự cố gí. Số liệu có thể thay đổi tuỳ vào size của các hàng và tài nguyên.

Kiểu StorageOutputInputScan
SSD10,000 QPS*

@ 6 ms

10,000 QPS

@ 6 ms

220 MB/s
HDD500 QPS

@ 200 ms

10,000 QPS

@ 50 ms

180 MB/s

*QPS(Query Per Second): Số Query trong 1 giây

Google Cloud Datastore

Datastore là một Full managed NoSQL Database với khả năng mở rộng cực lớn, được sử dụng trong Back-end của các ứng dụng. Datastore sẽ tự động xử lý Sharding (phân chia dữ liệu rôi nạp vào các server khác nhau) và replication rồi tự động tiến hành scale cho phù hợp với tài nguyên của ứng dụng đó. Một chức năng vô cùng hữu dụng đối với databse. Ngoài ra, Datastore cũng thường được sử dụng làm databse của GAE nhờ vao tính năng tự động scale này.

Với cấu trúc chức năng cơ bản giống như Bigtable, Datastore được xem là một bản nâng cao hơn, với những chức năng mà Bigtable còn thiếu. Dữ liệu sẽ được chuyển theo kiểu byte array, rồi được lưu vào Bigtable.

  • ACID Transaction: So với Bigtable chỉ hỗ trợ Transaction với 1 dòng duy nhất, thì Datastore có thể thực hiện với tối đa 25 dòng.
  • SQL Like query
  • Với Datastore, bạn có thể lấy được các object phù hơp với điều kiện được chỉ định bằng cách sử dụng Index.
  • Các truy vấn (query) của Datastore sẽ lấy kết quả bằng cách sử dụng 1 hoặc nhiều index. Index được định nghĩa từ danh sách xếp theo thứ tự xử lý các thuộc tính khác nhau theo từng entity (thực thể) đặc thù.

Google Cloud SQL

Google Cloud SQL cung cấp một hệ quản trị cơ sở dữ liệu (databse) My SQL và PostgreSQL (bảng beta). Đây là Full-managed Database được cấu trúc trên Google Cloud Platform.

Cloud SQL có thể mở rộng lên đến 10TB dung lượng Storage, 25000 IOPS, 208GB RAM cho mỗi instance.

Các bạn không cần phải lo bất kỳ điều gì về back-up, replication, patch, update. Google sẽ tự động xử lý tất cả các khâu này.

Khả năng mở rộng của Cloud SQL cũng rất lớn dựa vào Live Migration do sử dụng instance của GCE.

Ngoài ra, Cloud SQL cũng có thể dễ dàng kết nối với các dịch vụ khác của GCP như GCE, GAE.

Tóm lược

Cloud StorageBigtableDatastoreCloud SQL
Kiểu StorageObject Storage (BLOB)NoSQL, Wide-ColumnNo SQL, DocumentRelational SQL
Kiểu dữ liệu OutputBinary Data, Object DataRAW ký tự tính theo byteSố nguyên, Float, ký tự, ngày tháng, Binary dataBao gồm tất cả các kiểu mà MySQL hỗ trợ như số nguyên, float, ký tự, ngày tháng, binary, BLOB…
LatencyKhoảng =<5s

(Với điều kiện trong cùng một region)

Transaction××
Vị trí lưu trữ data・Multi-Regional

(US/EU/Asia)

・Regional

(US/EU/Asia)

Hai dịch vụ trên có thể chọn  zone

Chọn zone

(US/EU/Asia)

・Multi-Regional

(US/EU)

・Regional

(US/EU/Asia)

Hai dịch vụ trên có thể chọn zone

Regional

(US/EU/Asia)

Có thể chọn Region Tokyo×

(Ở châu Á chỉ có thể chọn Đài Loan)

Truy vấn phức tạp×××
Mã hoá dữ liệu
  1. Phí sử dụng

Google Cloud Storage

Storage ClassPhí (1GB / tháng)
Multi-Regional$0.026

Lấy dữ liệu: Free

Regional$0.023*

Lấy dữ liệu: Free

Nearline$0.016*

Lấy dữ liệu: $0.01/GB

Coldline$0.01*

Lấy dữ liệu: $0.05/GB

*Phí sử dụng được tính trên Tokyo Region

Google Cloud Bigtable

Phí sử dụng được tính dựa trên kiểu instance và số nood

Instance typePhí sử dụng
Production $0.65/h/nood(Tối thiểu 3 nood)

Mỗi nood xử lý tối đa được 10.000 QPS, transfer data 10 MB/s

Development$0.65/h

・Phí sử dụng Storage trên table

SSD Storage(GB/thángHDD storage(GB/tháng)
$0.17$0.026

Google Cloud Datastore

Google cho bạn hạn mức sử dụng miễn phí Cloud Datastore trong 1 ngày . Bạn chỉ phải trả phí cho phần vượt quá mức free trên.

Hạn mức free / 1 ngày Phí cho phần vượt quá hạn mức
Lưu data (GB/tháng)1 GB Storage$0.23
input Entity

(/100.000 entity)

50,000$0.08
output entity

(/100.000 entity)

20,000$0.23
Delete entity

(/100.000 entity)

20,000$0.03
Tạc vụ khácfreefree

*Chi phí tính trên region Tokyo

Google Cloud SQL

Phí sử dụng instance

Phí sử dụng sẽ tính theo từng phút cho mỗi instance đang hoạt động. Phí sẽ được tính theo từng loại instance. Về cơ bản, loại instance sẽ là Google Compute Enine (GCE)

Phí (standard)giảm giá nếu sử dụng lâu dài
600 MB~208 GB RAM$0.0195 – $5.2312 / h$0.0137 – $3.6618 /h
vd:1CPU, Memory 3.75GM Machine type ‘db-n1-standard-1’$0.1255/h$0.0878/h

Phí sử dụng Storage

Tính theo region Tokyo

SSD$0.22 /GB/tháng
HDD$0.12 /GB/tháng
Back up$0.10 /GB/tháng

Tổng quan chi phí

Cloud StorageBigtableDatastoreCloud SQL
Lưu trữ data (GB/tháng)
  • $0.026
  • (Multi-Regional)
  • $0.023
  • (Regional)
  • $0.016
  • (Nearline)
  • $0.01
  • (Coldline)
  • $0.17 (SSD)
  • $0.026 (HDD)
$0.23

(miễn phí 1GB/ngày)

  • $0.22 (SSD)
  • $0.12 (PD Standard)
  • $0.10 (backups)
Input
  • $0.01(Nearline)
  • $0.05(Coldline)
No$0.08(/100.000 entity)

Có hạn mức free

No
OutputNoNo$0.23(/100.000 entity)

Có hạn mức free

No
Instance(/h)No$0.65No$0.0195 – $5.2312(Japan)
  1. Vậy ta sẽ sử dụng các dịch vụ trên như thế nào?

Google Cloud Storage

Goolge Cloud Storage sẽ là sự lựa chọn tuyệt vời khi ta muốn lưu trữ một kiểu dữ liệu BLOB bất biến có dung lượng vượt quá 10MB, ví dụ như kho ảnh hay phim…

Công việc (work-load) chủ yếu của GCS sẽ là:

  • Lưu trữ Multimedia và Streaming
  • Lưu trữ các hệ thống phân tích dữ liệu lớn
  • Archive, Back up, Disaster recovery

Google Cloud Bigtable

Bigtable thích hợp sự dụng cho các ứng dụng có yêu cầu cao về scability và ThroughPut, làm việc với các kiểu dữ liệu phi cấu trúc (Với độ lớn của từng trị dữ liệu không quá 10MB). Ngoài ra, Bigtable cũng rất ưu việt khi sử dụng cho các ứng dụng Maching Learning, phân tích xử lý stream, tổng hợp xử lý với Mapreduce.

Bigtable không phải là một Relational Database, do đó không thể hỗ trợ truy vấn, kết hợp SQL hay thực hiện transaction nhiều hàng. Chính vì vậy, nếu như không cần dùng đến chức năng ACID Transaction, hoặc không cần dữ liệu được cấu trúc với độ chính xác cao, thì Bigtable là sự lựa chọn phù hợp.

Ngoài ra, Bigtable sẽ phát huy được khả năng của nó nếu bạn muốn xử lý một lượng dữ liệu cực lớn (lên đến vài TB hoặc PB) trong một thời gian dài. Đương nhiên, nó không được thiết kế để xử lý những dữ liệu có dung lượng nhỏ (dưới 1TB) trong khoảng thời gian ngắn.

Bigtable có thể ứng dụng trong :

  • IoT, Finance, Adtech
  • Monitoring
  • Dataset giữa các vùng cách xa nhau
  • Graph

Google Cloud Datastore

Ưu điểm của Datastore chính là khả năng duy trì tốc độ xử lý, nhờ vào chức năng tự động scale cho dù quy mô sử dụng của bạn có mở rộng đến vô hạn. Có nghĩa là, nguồn tài nguyên của bạn có lớn đến thế nào đi chăng nữa, thì tốc độ xử lý vẫn không thay đổi.

Datastore thích hợp với những ứng dụng có cấu trúc dữ liệu với khả năng mở rộng cực lớn.

Ngoài ra, Datastore còn được sử dụng làm databse cho GAE (Google App Engine). Nếu kết hợp với GAE, bạn sẽ dễ dàng tạo được những ứng dụng có chức năng auto scale một cách đơn giản.

Datastore sẽ thích hợp sử dụng với:

  • Lưu trữ Profile user
  • Product Catalogue
  • Game data

Google Cloud SQL

GCS thích hợp sử dụng như một Relation Dabatase cho nhưng hệ thống xử lý transaction online, có hỗ trợ SQL.

Ngoài ra, GCS còn được sử dụng cho những ứng dụng đang dùng MySQL hay PostgreSQL muốn chuyển lên GCP.

Những ứng dụng cụ thể của GCS như:

  • Hệ thống quản lý nội dung website, blog (CMS)
  • Các hệ thông Business Intelligence (BI)
  • ERP, CRM, ứng dụng thương mại điện tử
  • Ứng dụng được sử dụng trên nhiều vùng lãnh thổ khác nhau

Tổng kết

Hại não chưa!!!

Bài viết này đã giới thiệu khái quát những điểm cơ bản nhất của 4 dịch vụ storage mà GCP cung cấp bao gồm : đặc điểm, phí sử dụng, ứng dụng cụ thể. Nắm được những nội dung trên sẽ giúp cho các bạn có một sự lựa chọn phù hợp cho sản phẩm của mình.

Bài viết tới chúng tôi sẽ giới thiệu cho các bạn về Compute Service. Cứ từ từ mà tận hưởng!

Ngoài ra, nếu bạn cần hỗ trợ về các vấn đề liên quan đến GCP, cứ liên hệ với chúng tôi. Với sự hỗ trợ của nhiều chuyên gia đầy kinh nghiệm trong nền tảng GCP, chúng tôi sẽ mang lại cho các bạn một sự lựa chọn hoàn hảo nhất.

CÔNG TY TNHH CLOUD ACE

Pham Van Tuyen

Anh Tuyen Pham là Tổng giám đốc của Cloud Ace Việt Nam và là GDG Cloud HCM Chapter Lead. Anh là diễn giả quen thuộc tại các sự kiện do Google tổ chức tại Việt Nam như Kubernetes Vietnam, Google Cloud Next Extended. Anh đã có các chứng chỉ của Google Cloud như Google Cloud Architect và Data Engineer.

View all posts by Pham Van Tuyen →