Phần 2 - Firebase Cloud Firestore cùng học và tìm hiểu - tháng 8.2021

Written by Tommy
Posted on Sat, 08/28/2021 - 09:22
58 views

Share Everywhere

Table of contents

10 điểm hạn chế của Firebase

Mặc dù đây là một nền tảng tuyệt vời, nhưng Firebase cũng có một số nhược điểm. Tôi sẽ phân tích ngay bên dưới để bạn có cái nhìn đa chiều hơn về nền tảng này nhé. 

  • Không phải là mã nguồn mở
  • Người dùng không có quyền truy cập mã nguồn
  • Firebase không hoạt động ở nhiều quốc gia
  • Chỉ hoạt động với Cơ sở dữ liệu NoSQL
  • Truy vấn chậm
  • Không phải tất cả các dịch vụ Firebase đều miễn phí
  • Firebase khá đắt và giá không ổn định
  • Chỉ chạy trên Google Cloud
  • Thiếu Dedicated Servers và hợp đồng doanh nghiệp
  • Không cung cấp các API GraphQL

Không phải là mã nguồn mở

Firebase không phải là một tùy chọn mã nguồn mở để phát triển ứng dụng di động. Điều này khiến nó trở thành một lựa chọn không tối ưu cho nhiều nhà phát triển. Người dùng không thể sửa đổi mã nguồn Firebase. Theo tôi thì đây là hạn chế lớn nhất của Firebase và ngăn cộng đồng cải tiến sản phẩm.

Xem phần 1 qua đường link sau: Phần 1 - Firebase Cloud Firestore tự học và tìm hiểu Firebase

Người dùng không có quyền truy cập mã nguồn

Đây là một hạn chế lớn khác của Firebase cho người dùng. Việc không có quyền truy cập vào mã nguồn có thể khá khó khăn đối với một số nhà phát triển. Đặc biệt, đối với các ứng dụng lớn, việc chuyển sang các nhà cung cấp khác không phải là một nhiệm vụ dễ dàng và để thực hiện việc này, toàn bộ Backend sẽ cần được xây dựng lại từ đầu.

Firebase không hoạt động ở nhiều quốc gia

Firebase là một Subdomain của Google. trang Web chính thức của nó là https://firebase.google.com và bị chặn ở nhiều quốc gia. Theo tôi được biết, Google cùng với các dịch vụ khác của Google bị chặn và không thể truy cập được ở nhiều quốc gia, trong đó có Trung Quốc.

Chỉ hoạt động với Cơ sở dữ liệu NoSQL

Cả Firestore và Firebase Realtime Database đều cung cấp cấu trúc NoSQL. Chúng không có tùy chọn nào để sử dụng cơ sở dữ liệu quan hệ.

Mặc dù Firebase đã thực hiện những cải tiến đáng kể trên Cloud Firestore so với RTDB, nhưng việc chạy các truy vấn phức tạp vẫn là một thách thức đối với một số người dùng nhất định.

Với Firebase, người dùng không thể xử lý nhanh chóng việc di chuyển dữ liệu tương tự như cơ sở dữ liệu SQL đơn giản. Firebase sử dụng JSON và hầu như không có tính năng SQL nào. Vì vậy, việc di chuyển từ cơ sở dữ liệu sẽ không dễ dàng.

Truy vấn chậm

Không phải tất cả cơ sở dữ liệu đều lý tưởng cho mọi trường hợp sử dụng và Cloud Firestore cũng không ngoại lệ. Mặc dù đó là một giải pháp tuyệt vời để mở rộng ứng dụng của bạn, cung cấp hỗ trợ truy vấn ngoại tuyến và cập nhật thời gian thực, nhưng nó cũng có những hạn chế như:

  • Kích thước yêu cầu API tối đa 10 MiB.
  • Không có truy vấn tổng hợp gốc.
  • Giới hạn kích thước tài liệu là 1 MiB.
  • Kết nối đồng thời tối đa 1M.
  • Truy vấn hiệu suất chậm.

Không phải tất cả các dịch vụ Firebase đều miễn phí

Các chức năng đám mây chỉ khả dụng trên gói Blaze và người dùng không thể dùng thử dịch vụ trong gói Spark.

API Cloud Vision trong tính năng học máy cũng không khả dụng trong gói Spark miễn phí của nền tảng này.. Dịch vụ này chỉ có sẵn cho người dùng của gói Blaze và tính phí 1,5 USD/ k API.

Firebase khá đắt và giá không ổn định

Firebase là một nền tảng phát triển ứng dụng di động có nhiều tính năng nhưng cũng là một nền tảng đắt tiền đối với một số người. Nó cung cấp một gói miễn phí nhưng có hạn chế nhất định. 

Firebase cung cấp nhiều tính năng hữu ích hơn nhưng giá cũng sẽ cao hơn so với một nhà cung cấp IaaS thuần túy. Nói chung, tôi cho rằng việc tự lưu trữ một ứng dụng sẽ rẻ hơn so với sử dụng Firebase.

Trước khi sử dụng Firebase, tôi khuyên bạn hãy so sánh chính xác chi phí trả trước của việc thiết lập một cụm tại nhà cung cấp IaaS và chi phí đang thực hiện để duy trì máy chủ so với chạy ứng dụng trực tiếp trên Firebase. 

Một khía cạnh khác khiến Firebase trở nên đắt đỏ là nó là một công nghệ độc quyền. Firebase phải bù đắp khoản đầu tư kỹ thuật cho cơ sở người dùng của nó. 

Firebase cung cấp dịch vụ theo mô hình định giá dựa trên mức sử dụng và không có cách nào để giới hạn giá cả. Không có bảng giá cố định cho nền tảng và việc theo dõi mức độ sử dụng tài nguyên có thể là một vấn đề phức tạp.

Việc ước tính chi phí của Firebase có thể khó khăn đối với một số người dùng, đặc biệt là khi không thể dự đoán được các yêu cầu về khả năng mở rộng. Việc định giá rất phức tạp và Firebase có giá cụ thể cho mọi tính năng.

Theo thông tin tôi được biết, Firebase từng cung cấp gói Flame. Đó là gói có giá cố định 25 USD / tháng. Nhưng nó đã được gỡ bỏ vào tháng 1/ 2020.