1.Berkeley DB常用嵌入式数据库有哪些
Berkeley
DB(BDB)是一个高效的嵌入式数据库编程库,C语言、C++、Java、Perl、Python、Tcl以及其他很多语言都有其对应的API。
Berkeley DB可以保存任意类型的键/值对(Key/Value Pair),而且可以为一个键保存多个数据。Berkeley
DB支持让数千的并发线程同时 *** 作数据库,支持最大256TB的数据,广泛用于各种 *** 作系统,其中包括大多数类Unix *** 作系统、Windows *** 作系统
以及实时 *** 作系统。
2.Couchbase Lite
Couchbase Lite
是一个为满足在线和离线的移动应用所开发的超轻量的,可靠的,并且安全的JSON数据库。即使在最不确定的网络条件下,亦可以给您的移动应用提供富有成效
的和可靠的信誉。除此之外,’同步门户’功能亦可以提供协作, 社交互动或者是用户的更新。
3.LevelDB
LevelDB是Google开源出的一个Key/Value存储引擎,它采用C++编写的,支持高并发访问和写入,特别适合对于高写入业务环境。
4. SQLite
SQLite 是一个开源的嵌入式关系数据库,实现自包容、零配置、支持事务的SQL数据库引擎。
其特点是高度便携、使用方便、结构紧凑、高效、可靠。 与其他数据库管理系统不同,SQLite 的安装和运行非常简单,在大多数情况下 -
只要确保SQLite的二进制文件存在即可开始创建、连接和使用数据库。
5.UnQLite
UnQLite是,由Symisc
Systems公司出品的一个嵌入式C语言软件库,它实现了一个自包含、无服务器、零配置、事务化的NoSQL数据库引擎。UnQLite是一个文档存储
数据库,类似于MongoDB、Redis、CouchDB等。同时,也是一个标准的Key/Value存储,与BerkeleyDB和LevelDB等
类似。
NoSQL描述的是大量结构化数据存储方法的集合,根据结构化方法以及应用场合的不同,主要可以将NoSQL分为以下几类。(1)Column-Oriented
面向检索的列式存储,其存储结构为列式结构,同于关系型数据库的行式结构,这种结构会让很多统计聚合 *** 作更简单方便,使系统具有较高的可扩展性。这类数据库还可以适应海量数据的增加以及数据结构的变化,这个特点与云计算所需的相关需求是相符合的,比如GoogleAppengine的BigTable以及相同设计理念的Hadoop子系统HaBase就是这类的典型代表。需要特别指出的是,Big Table特别适用于MapReduce处理,这对于云计算的发展有很高的适应性。
(2)Key-Value。
面向高性能并发读/写的缓存存储,其结构类似于数据结构中的Hash表,每个Key分别对应一个Value,能够提供非常快的查询速度、大数据存放量和高并发 *** 作,非常适合通过主键对数据进行查询和修改等 *** 作。Key-Value数据库的主要特点是具有极高的并发读/写性能,非常适合作为缓存系统使用。MemcacheDB、BerkeleyDB、Redis、Flare就是Key-Value数据库的代表。
(3)Document-Oriented。
面向海量数据访问的文档存储,这类存储的结构与Key-Value非常相似,也是每个Key分别对应一个Value,但是这个Value主要以JSON(JavaScriptObjectNotations)或者XML等格式的文档来进行存储。这种存储方式可以很方便地被面向对象的语言所使用。这类数据库可在海量的数据中快速查询数据,典型代表为MongoDB、CouchDB等。
NoSQL具有扩展简单、高并发、高稳定性、成本低廉等优势,也存在一些问题。例如,NoSQL暂不提供SQL的支持,会造成开发人员的额外学习成本NoSQL大多为开源软件其成熟度与商用的关系型数据库系统相比有差距NoSQL的架构特性决定了其很难保证数据的完整性,适合在一些特殊的应用场景使用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)