Tìm hiểu realm la gi | Sen Tây Hồ

Realm là gì?

Realm gồm 2 sản phầm là Realm database và Realm Platform. Trong đấy Realm databse là cơ sở dữ liệu mã nguồn mở, miễn chi phí trên cell (hiện nay đã hộ trợ Android và iOS, trong tương lai sắp sẽ có thêm React Native và Xamarin). Realm Platform hiện new ra phiên bản Beta tương trợ trên MacOS, cho phép tương tác quản lý có cơ sở dữ liệu cả offline và mô hình client-server chạy realtime, giải quyết vấn đề muôn thuở là đồng bộ dữ liệu, bắt những sự kiện (reactive occasion dealing with). Realm Platform thì có 2 phiên bản, 1 bản miễn chi phí dành cho mọi khách hàng, thích hợp cho phát triển thành ứng dụng bé; bản Enterprise Version thì có thời kì dùng thử và sẽ nên trả chi phí, thích hợp có phát triển thành ứng dụng lớn.

Siêu phẩm này có vẽ hữu dụng để phát triển thành ứng dụng có những vấn đề khó như xử lý đồng bộ. Trong video demo của Realm Platform có trình diễn 1 dí dụ khá thú vi:

Screen Shot 2016-11-27 at 7.45.38 PM.png

Có 2 người cùng chat facetime và tạo 1 tài liệu chung, họ cùng vẽ lên tài liệu đấy, ngạc nhiên là phần vẽ của người kia hầu như hiện ngay trên giao diện của người còn lại, siêu trực quan. Hiệu năng đạt tới như thế này thì siêu đáng để xem xét đây! Hyperlink video: sentayho.com.vn/information/introducing-realm-mobile-platform/ (Siêu tiếc vì video này họ ko đưa lên youtube nên chỉ có thể xem trên trang chủ của họ)

Xem Thêm  #20 quán cơm ngon nhất trên Đà Lạt chỉ có "thổ địa" new biết

Realm được phát triển thành bởi những nhà phát triển thành Realm Inc. Trước tiên Realm tương trợ iOS chính thức phát hành 5 sentayho.com.vn phát hành 5 2000, trước đấy 14 5 và trên cơ sở phát triển thành bền vững của SQL. Vậy Realm có gì hay ho?

1. Realm mã nguồn mở

2. Mọi mọi phương thức của Realm đều từ objects

Mô hình dữ liệu của Realms là object nên cấu trúc trong cơ sở dữ liệu của bạn chính là mannequin mà bạn dùng luôn. Dí dụ trong ứng dụng Android, cơ sở dữ liệu Realm có bảng Instance thì nó sẽ được định nghĩa như thế này:

public class Person extends RealmObject { @PrimaryKey non-public String identify; non-public int age; @Ignore non-public int sessionId; public String getName() { return identify; } public void setName(String identify) { sentayho.com.vn = identify; } public int getAge() { return age; } public void setAge(int age) { sentayho.com.vn = age; }

Realm sẽ tự động động tạo 1 bảng tên Person có những trường y như trong object Person đã định nghĩa.

Properly executed! so sánh có SQL thì chỗ này Realm hơn hẳn này. Nhưng hiệu năng thì sao?

3. Realm nhanh hơn SQLite

Kết quả điểm benchmark lúc truy vấn Realm và SQLite 1409992444050.png

Tại sao Reaml nhanh hơn?

Trên Realm dữ liệu kết nối quản lý có CSDL chứ ko tạo ra bản sao lúc truy vấn -> dẫn tới những thực hiện có cơ sở dữ liệu sau thời điểm truy vấn đều thực hành thẳng trên CSDL -> tốc độ thực thi nâng cao lên đáng nhắc.

Xem Thêm  Gió là gì? Có mấy loại? Nguyên nhân nào sinh ra gió?

4. Dễ dùng

Ghi dữ liệu

non-public void writeToDb() { Realm realm = sentayho.com.vnnstance(this); sentayho.com.vnnTransaction(); Person consumer = sentayho.com.vnteObject(Person.class); sentayho.com.vnessionId(1); sentayho.com.vname(“Binh”); sentayho.com.vnge(23); sentayho.com.vnitTransaction(); }

Kiếm tìm

non-public void readFromDb() { Realm realm = sentayho.com.vnnstance(this); Person consumer = sentayho.com.vne(Person.class).equaTo(“age”,23).findFirst(); }

5. Cross-platform

1 CSDL từ Android có thể export ra .realm file dùng đúng file đấy import vào iOS, và ngược lại chỉ có vài dòng lệnh

Bên cạnh ra Realm còn tương trợ Encryption, Realm Brower, Realm platform, tài liệu khá chi tiết và đày đủ.

Chỉ mất khoảng hơn 1h để có thể thực hành có Realm và theo cá nhân tôi thực hành thì thấy công sức implemnt nhanh hơn SQLite nhiều lần.

Hello vọng phân phối cho bạn 1 công cụ hữu ích lúc khiến việc có CSDL trên cell.

Ẹjnoy coding!