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.
SLA | Thời gian lưu trữ tối thiểu | Phí sử dụng(GB/tháng) | Tần suất sử dụng (tham khảo) | |
Multi-Regional | 99.95% | No | $0.026 Truy xuất dữ liệu: Free | Thường xuyên, giữa các region |
Regional | 99.9% | No | $0.023* Truy xuất dữ liệu: free | Thường xuyên, trong region |
Nearline | 99.0% | 30 ngày | $0.016* Truy xuất dữ liệu: $0.01/GB | Khoảng 1lần / tháng |
Coldline | 99.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 Storage | Output | Input | Scan |
SSD | 10,000 QPS* @ 6 ms | 10,000 QPS @ 6 ms | 220 MB/s |
HDD | 500 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 Storage | Bigtable | Datastore | Cloud SQL | |
Kiểu Storage | Object Storage (BLOB) | NoSQL, Wide-Column | No SQL, Document | Relational SQL |
Kiểu dữ liệu Output | Binary Data, Object Data | RAW ký tự tính theo byte | Số nguyên, Float, ký tự, ngày tháng, Binary data | Bao 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… |
Latency | Khoả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 | ◯ | ◯ | ◯ | ◯ |
Phí sử dụng
Google Cloud Storage
Storage Class | Phí (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 type | Phí 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áng | HDD 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ác | free | free |
*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 Storage | Bigtable | Datastore | Cloud SQL | |
Lưu trữ data (GB/tháng) |
|
| $0.23 (miễn phí 1GB/ngày) |
|
Input |
| No | $0.08(/100.000 entity) Có hạn mức free | No |
Output | No | No | $0.23(/100.000 entity) Có hạn mức free | No |
Instance(/h) | No | $0.65 | No | $0.0195 – $5.2312(Japan) |
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.