Hive là gì?

  • Hive là một cơ sở dữ liệu NoSQL được thiết kế riêng cho Flutter, dùng để lưu trữ dữ liệu local (nội bộ trên thiết bị).

  • Không cần internet, không cần native code, hiệu suất rất nhanh.

  • Hive phù hợp để lưu:

    • Ghi chú cá nhân

    • Cài đặt ứng dụng

    • Danh sách todo

    • Dữ liệu dạng key-value hoặc model object đơn giản

Các kiến thức cơ bản

 Box là gì?

  • Box trong Hive giống như “hộp dữ liệu” hoặc một “kho lưu trữ” chứa các cặp key – value.

  • Mỗi box là một file lưu dữ liệu trên thiết bị.

  • Bạn có thể mở nhiều box, mỗi box chứa một loại dữ liệu riêng (ví dụ: notesBox, settingsBox…)

 Cấu trúc dữ liệu trong Hive

  • Hive lưu dữ liệu dưới dạng key-value:
  • Hoặc lưu danh sách (list):

Các thao tác cơ bản

 

Hành động Code ví dụ Ghi chú
Mở box Hive.openBox(‘notesBox’) Thường đặt trong main()
Thêm dữ liệu box.add(‘Note mới’) Tự động tạo key
Lấy dữ liệu box.get(key) hoặc box.values.toList() Truy xuất theo key hoặc toàn bộ
Xóa dữ liệu box.deleteAt(index) Xóa theo chỉ số
Xóa toàn bộ dữ liệu box.clear() Cẩn thận, sẽ xóa toàn bộ box

So sánh Hive và SQLite

 

Tiêu chí Hive SQLite
Loại dữ liệu NoSQL (key-value, object) SQL (table, row, column)
Cách dùng Rất dễ, không cần schema Cần viết SQL hoặc hàm truy vấn
Tốc độ Rất nhanh với dữ liệu nhỏ Nhanh, nhưng cần xử lý phức tạp
Thích hợp cho App nhỏ, cài đặt, ghi chú Dữ liệu quan hệ phức tạp

About the Author

Tấn Phước

View all author's posts

Leave a Comment

Your email address will not be published. Required fields are marked *

Bài viết khác

Kanban

1. Kanban là gì? Kanban là một phương pháp quản lý công việc trực quan, giúp bạn theo dõi tiến độ từng nhiệm vụ. Kanban bắt nguồn từ Nhật Bản, ban đầu được Toyota dùng để quản lý dây chuyền sản xuất, nhưng ngày nay được áp dụng rộng rãi trong các lĩnh vực như […]

Scum

1. Scrum là gì? Scrum là một khung làm việc (framework) giúp các nhóm làm việc cùng nhau để phát triển sản phẩm một cách linh hoạt và hiệu quả. Nó thuộc phương pháp Agile – đề cao sự thích nghi, cộng tác và cải tiến liên tục trong quá trình làm việc. 2. Các […]

So sánh Realm, Hive, Sqflite, và Drift

So sánh Tiêu chí Realm Hive Sqflite Drift Mức độ phổ biến Tăng nhanh (Meta hỗ trợ) Rất phổ biến Rất phổ biến Trung bình (cộng đồng ổn định) Dễ sử dụng, dễ tích hợp Trung bình (cần setup Realm SDK) ★ Rất dễ (NoSQL, không cần SQL) Trung bình (phải viết SQL tay) Trung […]

Testing

I. Testing là gì? Testing (kiểm thử phần mềm) là quá trình đánh giá một hệ thống phần mềm để xác định xem sản phẩm có đáp ứng các yêu cầu được đặt ra hay không, và nhằm phát hiện lỗi nếu có. Testing là một phần quan trọng trong vòng đời phát triển phần […]

Application security

Ứng dụng bảo mật là gì? Application Security (Bảo mật ứng dụng) là quá trình bảo vệ ứng dụng khỏi các lỗ hổng và tấn công từ các mối đe dọa bên ngoài. Quá trình này bao gồm các biện pháp bảo vệ trong suốt vòng đời phát triển phần mềm (SDLC): từ thiết kế, […]

MVC/MVP

1. Giới thiệu chung Trong phát triển phần mềm, việc tổ chức mã theo mô hình kiến trúc rõ ràng là rất quan trọng để dễ dàng bảo trì, mở rộng và kiểm thử. Hai mô hình phổ biến trong phát triển ứng dụng là: MVC (Model – View – Controller) MVP (Model – View […]