Giới thiệu Realm Database

Gần đây, có một công cụ rất hữu ích cho các nhà phát triển ứng dựng mobile, đó là Realm. Realm là một cơ sở dữ liệu mobile mà có thể thay thế được cho CoreData và SQlite. Realm chạy nhanh hơn CoreData và SQLite. Dưới đây tôi đưa ra 5 lý do tại sao nên dùng Realm:

  1. Dễ dàng sử dụng:

Tôi chưa bao giờ là một fan của CoreData và tôi chắc chắn nhiều người cũng giống tôi. Nó là một công cụ hữu ích nhưng nó không dễ dàng để bảo trì. Realm models được định nghĩa sử dụng NSObject- style với @properties. Việc subclass RLMObject sẽ tạo các object data model Reaml:

1.png

Reaml objects có thể được tạo và sử dụng độc lập như regular objects. Chia sẻ được objects giữa các luồng và tái sử dụng chúng giữa mỗi lần chạy, bạn phải thêm và lấy lại chúng từ một Reaml. Tất cả thay đổi tới một object (thêm, sửa, xoá) phải được thực hiện trong một transaction:

2.png

Để Truy vấn và lưu Reaml objects, sử dụng [RLMObject allObjects], sẽ trả về tất cả trường RLMObject của các subclass từ Reaml mặc định.

3.png

Rất dễ sử dụng phải không 😄

  1. Tốc độ:

Thực sự ngạc nhiên khi thấy Reaml thực sự chạy nhanh hơn nhiều các giải pháp về lưu trữ dữ liệu phổ biên trên mobile, đặc biệt truy vấn rất nhanh. Chắc không cần phải diễn tả nhiều, hãy cùng xem bảng benchmarks dưới đây:

4.png

  1. Realm Browser

Cũng giống như các cơ sở dữ liệu khác đều có các công cụ truy vấn dữ liệu trực quan như: SQLite Professional, Core Data Editor, Core Data pro, ..., thì Realm có Reaml Browser. Nó giúp bạn dễ dàng truy vấn và chỉnh sửa cơ sở dữ liệu Reaml. Rất trực quan phải không?

5.png

  1. Cross-platform

Reaml cũng đã phát hành phiên bản cho Android. Reaml cho phép chia sẽ cơ sở dữ liệu (same models) giữa các nền tảng (iOS, Android). Đó là điều rất khó có thể làm được đối với CoreData và SQLite. Bên cạnh đó, Realm vẫn đang không ngừng phát triển và cải tiến, vì vậy chúng ta hoàn toàn có thể hi vọng Reaml sễ hỗ trợ nhiều nền tảng hơn nữa trong tương lai.

  1. Miễn phí, tài liệu đầy đủ

Chắc một số bạn sẽ ngạc nhiên rằng tại sao Reaml lại miễn phí khi nhìn vào các ưu điểm đã so sánh với các giải pháp ở trên, nhưng Reaml thực sự hoàn toàn miễn phí. Tài liệu khá đầy đủ, luôn có người hỗ trợ trả lời khi bạn đặt câu hỏi. Reaml hỗ trợ cả objective-C và Swift cho thấy Reaml sẽ còn phát triển cải thiện lâu dài nên chúng ta hãy tin tưởng vào giải pháp này. Tài liệu tham khảo:

http://sebastiandobrincu.com/blog/5-reasons-why-you-should-choose-realm-over-coredata

https://www.raywenderlich.com/112544/realm-tutorial-getting-started