Dịch vụ lưu trữ cho các hệ thống IoT cần khả năng truy vấn nhanh, linh hoạt có thể mở rộng. Do đó, CSDL lưu trữ theo cấu trúc NoSQL là phù hợp nhất theo như thiết kế của ứng dụng nhà thông minh mà nhóm nghiên cứu đang thử nghiệm. Bài viết này sẽ cung cấp thông tin các dịch vụ cơ sở dữ liệu được cung cấp bởi Google Cloud Platform và so sánh chi tiết giữa Cloud Firestore và Firebase Realtime Database.
Hình 1: So sánh các dịch vụ CSDL được hỗ trợ bởi GCP (Nguồn: GCP)
Trong các dịch vụ CSDL NoSQL ở Hình 1, Cloud Firestore và Firebase Realtime Database là hai dịch vụ có thể triển khai theo cơ chế không máy chủ (serverless), hỗ trợ đồng bộ dữ liệu thời gian thực [1] phù hợp với thiết kế hệ thống ban đầu. So sánh chi tiết giữa Cloud Firestore và Firebase Realtime Database được trình bày ở Hình 2:
Hình 2: So sánh Cloud Firestore và Firebase Realtime Database
Cả 2 dịch vụ CSDL trên đều cung cấp khả năng bảo mật, truy vấn dữ liệu theo thời gian thực, tuy nhiên dịch vụ Cloud Firestore có khả năng mở rộng tốt hơn, có thể triển khai CSDL với độ phức tạp cao hơn so với Firebase Realtime Database. Vì vậy trong đề tài nghiên cứu về nhà thông minh, nhóm nghiên cứu tại TAPIT đã sử dụng dịch vụ CSDL Cloud Firestore làm CSDL chính cho hệ thống đã thiết kế.
Mô tả dịch vụ CSDL Cloud Firestore: là CSDL tài liệu NoSQL được xây dựng để tự động mở rộng quy mô, hiệu suất cao và dễ phát triển ứng dụng, đây là CSDL kết hợp giữa ưu điểm về dữ liệu thời gian thực (của Firebase) và khả năng mở rộng (của GCP). Trong Firestore có các khái niệm sau: collections (tương đương với bảng trong SQL), documents (tương đương với bản ghi trong SQL). Mỗi “document” gồm nhiều fields (tương đương với trường) chứa các dữ liệu thực tế [2].
Hình 3: Giao diện tổ chức dữ liệu của Cloud Firestore
Chuỗi bài viết được thực hiện và chia sẻ bởi LCV.Khải và Các nhóm nghiên cứu tại Cộng đồng Kỹ thuật TAPIT
Chúc các bạn thành công!
Tài liệu tham khảo
[1] GCP (2020), “Google Cloud Databases – What are you bulding?”, https://cloud.google.com/products/databases.
[2] GCP (2020), “Firestore Documentation”, https://cloud.google.com/firestore/docs.