KV型数据存储引擎LevelDB/BerkeleyDB/lmdb/comdb/rocksdb/UnQLite

简介: KV型数据存储引擎LevelDB/BerkeleyDB/lmdb/comdb/rocksdb/UnQLite

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


https://en.wikipedia.org/wiki/Embedded_database



Berkeley DB


Berkeley DB是由美国Sleepycat Software公司(Sleepycat现已被甲骨文(ORACLE)公司收购。)开发的一套开放源代码的嵌入式数据库管理系统(已被Oracle收购),它为应用程序提供可伸缩的、高性能的、有事务保护功能的数据管理服务。


Berkeley DB(BDB)是一个高效的嵌入式数据库编程库,C语言、C++、Java、Perl、Python、Tcl以及其他很多语言都有其对应的API。Berkeley DB可以保存任意类型的键/值对(Key/Value Pair),而且可以为一个键保存多个数据。Berkeley DB支持让数千的并发线程同时操作数据库,支持最大256TB的数据,广泛用于各种操作系统,其中包括大多数类Unix操作系统、Windows操作系统以及实时操作系统。


https://www.oracle.com/database/technologies/related/berkeleydb.html



Couchbase Lite


Couchbase Lite是一个为满足在线和离线的移动应用所开发的超轻量的,可靠的,并且安全的JSON数据库。即使在最不确定的网络条件下,亦可以给您的移动应用提供富有成效的和可靠的信誉。除此之外,’同步门户’功能亦可以提供协作,社交互动或者是用户的更新。


Couchbase移动平台的亮点:


1.JSON Anywhere:使用专为面向对象的移动应用设计的灵活的数据模型,即时适应你的应用程序需要而无需大幅改动应用程序。


2.易于同步(轻松同步):只须几行代码就可以同步就绪;使开发者可以更专注于应用开发本身,而非同步问题。


3.原生APIs:使用专门为iOS和Android优化的API管理移动数据库。


4.REST APIs:基于你的开发需求,REST APIs提供了一种替代的访问方法。



LevelDB


LevelDB是Google开源出的一个Key/Value存储引擎,它采用C++编写的,支持高并发访问和写入,特别适合对于高写入业务环境。LevelDB存储主要分为SSTable和MemTable,前者为不可变且存储于持久设备上,后者位于内存上并且可变(在LevelDB中有两个MemTable,一个为当前写入MemTable,另一个为等待持久化的不可变MemTable)。


依赖Boost库,囧


https://github.com/google/leveldb



SQLite


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


https://www.sqlite.org/index.html



UnQLite


UnQLite是,由Symisc Systems公司出品的一个嵌入式C语言软件库。UnQLite是一个进程内软件库,它实现了自包含的,无服务器的,零配置的事务性NoSQL数据库引擎。 UnQLite是类似于MongoDB,Redis,CouchDB等的文档存储数据库,也是类似于BerkeleyDB,LevelDB等的标准键/值存储。

UnQLite是嵌入式NoSQL(键/值存储和文档存储)数据库引擎。 与大多数其他NoSQL数据库不同,UnQLite没有单独的服务器进程。 UnQLite直接读取和写入普通磁盘文件。 具有多个集合的完整数据库包含在单个磁盘文件中。 数据库文件格式是跨平台的,您可以在32位和64位系统之间或在big-endian和little-endian体系结构之间自由复制数据库。


https://www.unqlite.org/


https://github.com/symisc/unqlite



Firebird

http://www.firebirdsql.org/



嵌入式数据库特性对比

产品名称 SQLite   Berkeley DB   Firebird嵌入服务器版


当前版本: 3.3.8、4.5.20、2.0

速度:最快、快、快

稳定性:好、好、好

数据库容量:2TB、256TB、64TB

SQL支持:大部份SQL- 92、不支持、完全SQL-92与大部份SQL-99

Win32平台下最小体积:374KB、840KB、3.68MB

数据操纵:SQL、仅应用程序接口、SQL


开发接口:C, C++, PHP, Java, Delphi, Python .net(有些是第三方厂商开发的)


从以上对比中,我们可以看到,最短小精悍的是SQLite,它的性能也是最高的,Berkeley DB比较特殊,因为它不是用SQL语言来操纵数据的,Firebird嵌入版的体积对比之下显得稍大了些,但它对关系数据库特性的支持是最好的,如果要考虑到今后或许要将数据库升级成网络版本,就要选Firebird了。


相关文章
|
3月前
|
存储 JSON 关系型数据库
【干货满满】解密 API 数据解析:从 JSON 到数据库存储的完整流程
本文详解电商API开发中JSON数据解析与数据库存储的全流程,涵盖数据提取、清洗、转换及优化策略,结合Python实战代码与主流数据库方案,助开发者构建高效、可靠的数据处理管道。
|
10天前
|
数据采集 数据可视化 数据挖掘
阿里云瑶池数据库 Data Agent,数据安全,分析准确,让数据更有价值!
Data Agent 是阿里云瑶池数据库推出的智能数据体产品,融合 Data+AI 与 Agentic AI 技术,覆盖数据全生命周期。支持多源数据接入,可自主规划分析任务、生成代码并输出可视化洞察报告,让业务人员零门槛获取专业级分析结果,助力企业高效实现数据驱动决策。
|
13天前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
|
13天前
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。
|
24天前
|
人工智能 Java 关系型数据库
使用数据连接池进行数据库操作
使用数据连接池进行数据库操作
67 11
|
2月前
|
存储 数据管理 数据库
数据字典是什么?和数据库、数据仓库有什么关系?
在数据处理中,你是否常困惑于字段含义、指标计算或数据来源?数据字典正是解答这些问题的关键工具,它清晰定义数据的名称、类型、来源、计算方式等,服务于开发者、分析师和数据管理者。本文详解数据字典的定义、组成及其与数据库、数据仓库的关系,助你夯实数据基础。
数据字典是什么?和数据库、数据仓库有什么关系?
|
6月前
|
存储 缓存 数据库
数据库数据删除策略:硬删除vs软删除的最佳实践指南
在项目开发中,“删除”操作常见但方式多样,主要分为硬删除与软删除。硬删除直接从数据库移除数据,操作简单、高效,但不可恢复;适用于临时或敏感数据。软删除通过标记字段保留数据,支持恢复和审计,但增加查询复杂度与数据量;适合需追踪历史或可恢复的场景。两者各有优劣,实际开发中常结合使用以满足不同需求。
435 4
|
18天前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
|
2月前
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL数据库的WAL日志与数据写入的过程
PostgreSQL中的WAL(预写日志)是保证数据完整性的关键技术。在数据修改前,系统会先将日志写入WAL,确保宕机时可通过日志恢复数据。它减少了磁盘I/O,提升了性能,并支持手动切换日志文件。WAL文件默认存储在pg_wal目录下,采用16进制命名规则。此外,PostgreSQL提供pg_waldump工具解析日志内容。
171 0

热门文章

最新文章