楼主: jerker
1975 2

[讨论交流] 5个用于移动开发的最流行数据库 [推广有奖]

学术权威

80%

还不是VIP/贵宾

-

TA的文库  其他...

数据科学(Data Science)

威望
6
论坛币
50724 个
通用积分
3499.1153
学术水平
3272 点
热心指数
3508 点
信用等级
3023 点
经验
306 点
帖子
5811
精华
28
在线时间
3530 小时
注册时间
2009-11-19
最后登录
2024-3-27

初级学术勋章 中级热心勋章 初级热心勋章 初级信用勋章 中级学术勋章 高级学术勋章 特级学术勋章 高级热心勋章 特级热心勋章 中级信用勋章 高级信用勋章 特级信用勋章

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
嵌入式数据库是轻量级的,独立的库,没有服务器组件,无需管理,一个小的代码尺寸,以及有限的资源需求。目前有几种嵌入式数据库,你可以在移动应用程序中使用。让我们来看看这些最流行的数据库。
QQ截图20150421081414.png


    berkeleydb
20140914080808663738.PNG
  Berkeley DB是由美国Sleepycat Software公司开发的一套开放源代码的嵌入式数据库管理系统(已被Oracle收购),它为应用程序提供可伸缩的、高性能的、有事务保护功能的数据管理服务。
  Berkeley DB(BDB)是一个高效的嵌入式数据库编程库,C语言、C++、Java、Perl、Python、Tcl以 及其他很多语言都有其对应的API。Berkeley DB可以保存任意类型的键/值对(Key/Value Pair),而且可以为一个键保存多个数据。Berkeley DB支持让数千的并发线程同时操作数据库,支持最大256TB的数据,广泛用于各种操作系统,其中包括大多数类Unix操作系统、Windows操作系统以及实时操作系统。


  Couchbase Lite
20140914080808844544.PNG
  Couchbase Lite  是一个为满足在线和离线的移动应用所开发的超轻量的,可靠的,并且安全的JSON数据库。即使在最不确定的网络条件下,亦可以给您的移动应用提供富有成效 的和可靠的信誉。除此之外,’同步门户’功能亦可以提供协作, 社交互动或者是用户的更新。
  Couchbase移动平台的亮点
  JSON Anywhere
  使用专为面向对象的移动应用设计的灵活的数据模型,即时适应你的应用程序需要而无需大幅改动应用程序
  易于同步 (轻松同步)
  只须几行代码就可以同步就绪;使开发者可以更专注于应用开发本身,而非同步问题。
  原生 APIs
  使用专门为iOS和Android优化的API管理移动数据库
  REST APIs
  基于你的开发需求, REST APIs 提供了一种替代的访问方法。


  LevelDB
20140914080808553188.PNG
  LevelDB是Google开源出的一个Key/Value存储引擎,它采用C++编写的,支持高并发访问和写入,特别适合对于高写入业务环境。
  对于LevelDB的概览可以参考数据分析与处理之二(Leveldb 实现原理)对LevelDB的一个描述,本文的图解更多的是LevelDB的一个实现层的纠缠,版本为LevelDB 1.7.02。
  LevelDB存储主要分为SSTable和MemTable,前者为不可变且存储于持久设备上,后者位于内存上并且可变(在LevelDB中有两 个MemTable,一个为当前写入MemTable,另一个为等待持久化的不可变MemTable)。首先来看SSTable的实现层分析。


  SQLite
20140914080808709362.PNG
  SQLite 是一个开源的嵌入式关系数据库,实现自包容、零配置、支持事务的SQL数据库引擎。 其特点是高度便携、使用方便、结构紧凑、高效、可靠。 与其他数据库管理系统不同,SQLite 的安装和运行非常简单,在大多数情况下 - 只要确保SQLite的二进制文件存在即可开始创建、连接和使用数据库。如果您正在寻找一个嵌入式数据库项目或解决方案,SQLite是绝对值得考虑。


  UnQLite
20140914080808177276.PNG
  UnQLite是,由 Symisc Systems公司出品的一个嵌入式C语言软件库,它实现了一个自包含、无服务器、零配置、事务化的NoSQL数据库引擎。UnQLite是一个文档存储数据库,类似于MongoDB、Redis、CouchDB等。同时,也是一个标准的Key/Value存储,与BerkeleyDB和LevelDB等类似。
  UnQLite是一个嵌入式NoSQL(键/值存储和文档存储)数据库引擎。不同于其他绝大多数NoSQL数据库,UnQLite没有一个独立的服务器进程。UnQLite直接读/写普通的磁盘文件。包含多个数据集的一个完整的数据库,存储在单一的磁盘文件中。数据库文件格式是跨平台的,可以在32位和64位系统或大端和小端架构之间,自由拷贝一个数据库。UnQLite的主要特点,如下:
`无服务器`数据库引擎。
`事务化` (ACID) 数据库。
`零配置`。
`单一数据库文件`,不使用临时文件。
`跨平台`的`文件格式`。
UnQLite是一个自包含的C语言程序库,`无任何外部依赖`。
标准的`Key/Value`存储。
基于`Jx9`的`文档存储`(JSON)数据库。
支持`游标`,满足线性记录遍历。
`插件式`运行时可交换存储引擎。
支持`磁盘持久化`和`内存模式`的数据库。
内建强大的磁盘存储引擎,支持`O(1)`查询。
`线程安全`,完全可重入。
简单、清晰,很容易使用的`API`。
支持`TB(Terabyte)尺寸`的数据库。
采用`BSD开源许可协议`。
合并:UnQLite和Jx9相关所有C源代码文件,都合并到`单一的文件中`。
很好的`在线支持`。
  可以通过UnQLite特点一页,了解更多的细节。(想想:有几分SQLite的味儿?)
  UnQLite是,一个自包含的C库,无外部依赖。它要求非常小的外部库或来自操作系统的支持。特别适合应用于嵌入式设备,也适用于应用程序内部(那些需要运行于大量的计算机,而无需修改各种配置)。
  UnQLite是,100%手工编码,使用ANSI C,线程安全,完全可重入,编译无需修改,而且可运行于绝大多数的平台,包括受限的嵌入式设备,仅需要一个C编译器。UnQLite已经在非常广泛的平台 进行了测试,包括Windows和UNIX系统,特别是Linux、FreeBSD、Oracle Solaris及Mac OS X。
  UnQLite是,一个标准的key/value存储,与BerkeleyDB和LevelDB等相似。但是,拥有更加丰富的特性集,包括支持事务 (ACID),并发读等。在KV存储下,键和值都被视为简单的字节数组,所以内容可以是任何东西,包括ASCII字符串、二进制对象和磁盘文件等。应用程 序,可以通过接口API来访问KV层,包括
unqlite_kv_store()
unqlite_kv_append()
unqlite_kv_fetch_callback()
unqlite_kv_append_fmt()
unqlite_kv_delete()
  等等。
  UnQLite用来在数据库中存储JSON文档(如,对象、数组、字符串等)的文档存储接口,是通过Jx9编程语言支撑/实现的。Jx9是一种嵌入式的脚本语言,也叫扩展语言,被设计用于通用过程化编程,具备数据表述的特性。Jx9是一个图灵完备(Turing-Complete),基于JSON的,动态类型编程语言,作为UnQLite内核的一个库而存在。
信息来源:WEB开发者

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:数据库 Berkeley software anywhere Complete 数据库 开发 流行

已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
fantuanxiaot + 30 + 30 + 1 + 1 + 1 精彩帖子

总评分: 经验 + 30  论坛币 + 30  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

本帖被以下文库推荐

沙发
rrjj101022 发表于 2015-4-21 10:09:14 |只看作者 |坛友微信交流群
谢谢分享~~~

使用道具

藤椅
jerker 发表于 2015-4-21 10:12:17 |只看作者 |坛友微信交流群
rrjj101022 发表于 2015-4-21 10:09
谢谢分享~~~

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jr
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-25 13:43