取代 SQLite 的移动端数据库 Realm (React Native 版) 基本介绍

相比服务器端众多的各类数据库,10 多年来移动端都没有一个新的数据库诞生(见下图)。这和快速发展的移动互联网技术不符。终于在最近 2 年有一个开源的免费数据库 Realm 诞生。

数据库历史

Realm 是一个起始于 2011 年由 Y Combinator 孵化的一个移动端数据库。最开始它是作为一个闭源软件使用,开始的用户有 Zynga 等公司。在 2014 年变为开源免费。

Realm 是一个移动优先(mobile first)的数据库,它一开始的目的就是为手机、平板和可穿戴设备设计的。截止到现在 (2016 年 3 月)它有 iOS、OS X 和 Android 版本,支持的语言 Objective-C、Java 和 JavaScript(React Native)。RN 版本是 2016 年 2 月才开源。

Realm 作为一个新的数据库,性能是很优异的。在 iOS 和 Android 上都比 SQLite 快 2-10 倍。

iOS insert iOS 每秒插入数据比较

Android insert Android 每秒插入数据比较

iOS query iOS 每秒读取数据比较

Android query Android 每秒读取数据比较

Realm 不是一个 ORM,也不是基于 key-value,而是重新用 C++ 开发的数据库,有自己的引擎。

另外一个值得注意的是 Realm 有 32 位的 float 类型,其他 JavaScript 的数据类型在 Realm 的 RN 版本里都有对应的类型。