October 16, 2021

Hướng dẫn lựa chọn Database/Storage trên GCP

Như các bạn đã biết, GCP cung cấp rất nhiều loại database cũng như storage để lưu trữ và sử dụng data tùy theo các nhu cầu khác nhau. Bài viết này đã giới thiệu khá tổng quan về các loại database đó, các bạn có thể tham khảo để có một cái nhìn tổng quan hơn. Còn hôm nay, mình sẽ làm rõ hơn về câu hỏi gần đây được nhiều bạn quan tâm: Bạn có nhu cầu muốn sử dụng GCP cho project của mình nhưng không biết nên chọn loại database nào cho hợp lý, phù hợp với nhu cầu sử dụng và ngân sách của mình?

Đầu tiên, mình sẽ sử dụng thuật ngữ Storage (hệ thống lưu trữ dữ liệu) thay vì chỉ giới hạn ở database. Điểm qua về các storage, điều bạn cần phân biệt rõ là loại storage theo cấu trúc lưu trữ:

  • Data không có cấu trúc: Cloud Storage, Cloud Storage for Firebase
  • NoSQL: Cloud Datastore, Cloud Bigtable, Cloud Firestore for Firebase, Firebase Realtime Database
  • Relational Database: Cloud SQL, Cloud Spaner
  • Data Warehouse: BigQuery

Bản thân loại storage đã tự cho thấy mỗi loại phù hợp với nhu cầu sử dụng nào:

  • Nếu bạn phát triển ứng dụng mobile thì nhóm storage bạn phải nghĩ tới đầu tiên là Firestore:
    • Cloud Storage for Firebase, Cloud Firestore for Firebase, Firebase Realtime Database. Đơn giản, hiệu quả, được tối ưu chuyên dụng cho mobile application.
  • Nếu bạn là nhà bán lẻ,
    • cần quản lý các giao dịch của khách hàng với sản phẩm của mình cũng như profile của khách hàng thì Cloud SQL là lựa chọn cần cân nhắc đầu tiên. Cloud SQL với MySQL và PostgreSQL khá là đủ cho nhu cầu của bạn rồi đấy. MySQL với những nâng cấp gần đây và liên tục được update thường xuyên thì không “yếu” như bạn nghĩ đâu.
  • Tuy nhiên Cloud SQL có giới hạn về dung lượng lưu trữ.
    • Nếu công ty của bạn cần “go global” cũng như dự tính phát sinh data rất nhiều thì Cloud Spanner lại là lựa chọn phù hợp hơn. Mình đặc biệt đánh giá cao Cloud Spanner ở khía cạnh auto scale vô cùng mạnh mẽ!
  • Nếu bạn làm việc trong lĩnh vực tài chính, chứng khoán …
    • với nhu cầu read/write liên tục và yêu cầu độ trễ thấp, cũng như khả năng phân tích dữ liệu liên tục: Cloud Bigtable là giải pháp dành riêng cho bạn!

Sơ đồ dưới đây của Google có thể giúp bạn dễ hơn trong việc ra quyết định.

Tất nhiên, bạn cũng có thể sử dụng kết hợp nhiều loại storage với nhau ngoài những case study mình nêu ở trên. Sử dụng Cloud Storage để lưu trữ file ảnh, video, … Sử dụng BigQuery cho Data Analytic. …

Hãy lựa chọn cẩn thận vì sử dụng đúng storage với nhu cầu của mình sẽ giúp bạn tiết kiệm được rất nhiều thời gian, công sức cũng như kinh phí cho doanh nghiệp của mình. Nếu bạn có bất kì băn khoăn nào về vấn đề này, Cloud-Ace Việt Nam luôn sẵn sàng giúp đỡ bạn.

Hieu

Hiếu hiện là Cloud Developer - Data Analyst của Cloud Ace Vietnam. Anh đã có chứng chỉ Data Engineer của Google Cloud, với hơn 3 năm phát triển ứng dụng thương mại điện tử trên Google Cloud Platform và kinh nghiệm về xây dựng hệ thống lưu trữ, phân tích dữ liệu trên cloud.

View all posts by Hieu →