[转]开源嵌入式数据库列表

45 篇文章 0 订阅

http://embedded-databases.com/

Hello and welcome to the open source embedded database list. We hope this list helps you to find a library for your development needs. In addition to an (incomplete) list of open source database engines, you will find articles about the use of embedded databases and helpful tips to select one.

When should I use an embedded database?

EEmbedded databases obviously are not related to embedded platforms, although they also can run on phones, tablets or a Raspberry Pi. “Embedded” means they are directly linked into your application. If users install your program then there is no need to install (and administrate) a separate database. Your installation routines will be a lot simpler, you do not have to provide support for potential database problems and your users have less hassle. Your code will usually run faster, too, because you avoid the inter-process communication between your application and the external database server.

upscaledb embedded database

Your reliable and fast embedded database solution. upscaledb is the only embedded key/value database engine which optimizes storage and algorithms for your specific data types.

Optional compression further reduces file size and I/O, and can keep more data in memory to increase performance and scalability when running full-table scans to query and analyze your data.

Blazingly fast analytical functions and database cursors make it a natural fit to process data whenever a SQL database is not fast enough.

Download upscaledb for free!

The list of embedded databases

Accuracer Database System

A Windows/Linux cross-platform BDE alternative embedded Delphi database with SQL support for software developers working in the Embarcadero RAD Studio, Borland (CodeGear) Delphi/C++Builder and Borland Kylix. Closed source.

Author: AidAim Software
License: Commercial
Features: Concurrent; SQL; Encryption; Transactions; ODBC 
Platforms: Linux, Windows
Languages: C/C++, Delphi, Kylix

Apache Derby

Derby is an embeddable SQL engine written entirely in Java. Fully transactional, multi-user with a decent SQL subset, Derby is a mature engine and freely available under the Apache license and is actively maintained. It is also distributed as part of Oracle's Java SE Development Kit (JDK) under the name of Java DB.

Author: The Apache Software Foundation
License: APL
Features: SQL; Transactions
Platforms: All JVM implementations
Languages: Java

BerkeleyDB

Berkeley DB is a fast, open-source embedded database and is used in several well-known open-source products, including the Linux and BSD Unix operating systems, Apache Web server, OpenOffice productivity suite. Implements B+tree and hash table indices. Implemented in C, open source.

Author: Initially SleepyCat, now Oracle
License: Affero GPL v3; Commercial licenses available
Features: File- or in-memory-based; Transactions; Cursors; Concurrency; Compression; Encryption; High Availability 
Platforms: Unix/Linux/MacOSX, Windows, Android, iOS and many others
Languages: C/C++, Java, .NET, Erlang, Ruby, PHP, Perl and many others

Empress Embedded Database

Empress is an ACID compliant, SQL database engine. Applications developed using these APIs may be run in standalone and/or server modes. Deployed in various environments including medical systems, network routers, nuclear power plant monitors, satellite management systems, and other embedded system applications.

Author: Empress Software, Inc.
License: Commercial
Features: SQL; Transactions; Encryption; Spatial search; Text search
Platforms: Unix/Linux/MacOSX, Windows, Realtime OSs and many others
Languages: C/C++, ODBC, JDBC, .NET

Extensible Storage Engine

ESE is an Indexed Sequential Access Method (ISAM) data storage technology from Microsoft. ESE is notably a core of Microsoft Exchange Server and Active Directory. Its purpose is to allow applications to store and retrieve data via indexed and sequential access. Windows Mail and Desktop Search in the Windows Vista operating system also make use of ESE to store indexes and property information respectively.

Author: Microsoft
License: unknown 
Features: Schema support; Transactions; Cursors; Indices; Queries
Platforms: Windows
Languages: C/C++, ODBC, JDBC, .NET

eXtremeDB

A database system product family including real-time performance, high availability and support for hybrid (RAM and disk) database. eXtremeDB was designed in 2001 explicitly for real-time applications and for embedded systems. Hundreds of licensees have deployed >25 million run-time copies of eXtremeDB in network equipment, aerospace & defense, consumer electronics and industrial control.

Author: McObject
License: Commercial
Features: In-memory & persistent; High Availability; Cluster; SQL; ACID
Platforms: Unix, Linux, MacOS/iOS, Windows, VxWorks, INTEGRITY, QNX and many others
Languages: C/C++, Java, C#, Python

ITTIA DB SQL

ITTIA DB SQL is a relational database management software library for embedded systems and intelligent mobile devices. It is a full-featured robust data management technology that scales down to meet the constrained resource requirements of embedded systems. ITTIA DB SQL is a solid database framework for the development of a variety of mission critical systems from consumer electronics, medical devices, robotics, industrial automation, and solar systems to many other markets.

Author: ITTIA L.L.C.
License: Commercial
Features: Transactional; In-memory & persistent; Portable file format; SQL; Encryption; Authentication
Platforms: Unix, Linux, MacOS/iOS, Windows, VxWorks, INTEGRITY, QNX and many others
Languages: C/C++, ODBC, JDBC, Lua, Python, Ruby

Kyoto Cabinet

Fast and mature key/value store with sorted (Btree) and unsorted (Hash table) databases. Implemented in C, open source.

Author: Mikio Hirabayashi, FAL labs
License: GPL, LGPL; Commercial licenses available
Features: Transactions; Cursors
Platforms: Unix/Linux/MacOSX, Windows
Languages: C/C++, Java, .NET, Ruby, PHP, Perl and many others

LevelDB

An ordered key/value store created by Google as a lightweight implementation of the BigTable storage design. Features a write-optimised LSM tree. Google distributes LevelDB under the New BSD License. Implemented in C++.

Author: Initially Google, now the LevelDB community
License: BSD
Features: Compression; Cursors
Platforms: Unix/Linux/MacOSX, Windows
Languages: C/C++, Java, .NET, Erlang, Ruby, PHP, Perl and many others

Perst

An object-oriented database system product in pure Java and pure C# versions. Perst gives developers the ability to sort, store and retrieve objects (e.g. Plain Old Java Objects, POJOs) in their applications with maximum speed and with low memory and storage overhead, while leveraging the object-oriented paradigm of Java and C#.

Author: McObject
License: GPL; Commercial licenses available
Features: In-memory & persistent; Replication; ACID
Platforms: JVM, .NET, J2EE, J2ME
Languages: Java, C#

Raima Database Manager (RDM)

RDM is a In Memory, small footprint, high performance, ACID-compliant embedded database management system. RDM has been designed to utilize multi-core computers, networking (local or wide area), and on-disk or in-memory storage management. With Raima Database Manager (RDM) 14.0, data is up to date and reliably available in real time. With RDM 14.0 we have developed a brand new in-memory database platform that has the potential to transform your enterprise application for access to critical information in near real time.

Author: Raima
License: Commercial (free eval version)
Features: In-memory & persistent; Compression; High Availability; SQL; SQL PL; Encryption; Relational and Network model; Platform independent file format; Dynamic DDL and ACID
Platforms: MS Windows, Linux, Android, QNX, VxWorks, Integrity, Mac OSX, iOS, HPUX, Solaris SPARC, AIX
Languages: C/C++, ODBC, JDBC, ADO.NET, LabView interface

Rockall-DB

A completely new approach to transactional databases. There are no complicated data models, function calls or SQL in Rockall-DB. Instead, the transactional database is built into, and works in conjunction with, the memory allocator. Consequently, main memory becomes part of the transactional database. Any data structure you can build in main memory you can store as an ACID-compliant transactional database with Rockall-DB.

Author: Rockall Software Ltd.
License: Commercial (free evaluation version)
Features: ACID, In-Memory and/or Disk, Compression, High Availability, Embedded, Encryption, Multi-model DB support (i.e. Graph, Hierarchic, JSON, Key value, Object oriented, Relational, XML
Platforms: Windows, Linux (in development)
Languages: C++

RocksDB

Built on LevelDB, with improved scalability for servers with many CPU cores. API and functionality is similar to LevelDB. Written in C++.

Author: Facebook
License: BSD
Features: Compression; Cursors
Platforms: Unix/Linux/MacOSX, Windows
Languages: C/C++, Java, .NET, Erlang, Ruby, PHP, Perl and many others

Symas Lightning MDB (LMDB)

Compact memory-mapped database, originally written for the OpenLDAP project. API is modeled after BerkeleyDB. Implements B+trees with multiversion concurrency control (MVCC), Single level store, Copy on write and provides full ACID transactions with no deadlocks.

Author: Symas Corp.
License: OpenLDAP Public License
Features: Transactions; Cursors; Concurrency; Hot Backups
Platforms: Unix/Linux/MacOSX, Windows, Android, iOS
Languages: C/C++, Java, .NET, Erlang, Ruby, PHP, Perl and many others

Sophia

Very fast hybrid (Ram and Disk) key/value store. Automatically moves read-intensive data to RAM or flash storage; uses disk for cold data. Implemented in C.

Author: Dmitry Simonenko (@pmwkaa)
License: BSD
Features: Transactions; Cursors
Platforms: Unix/Linux/MacOSX
Languages: C/C++, Java, .NET, Erlang, Ruby, PHP, Perl and many others

SQLite

A software library that implements a self-contained, server-less, zero-configuration, transactional SQL database engine. SQLite is the most widely deployed SQL database engine in the world. The source code is in the public domain.

Author: The SQLite developer community
License: Public Domain
Features: SQL; File- or in-memory-based; Transactions; Cursors
Platforms: Unix/Linux/MacOSX, Windows, Android, iOS and many others
Languages: C/C++, Java, .NET, Erlang, Ruby, PHP, Perl and many others

UnQLite

A fast transactional key/value database with a builtin JSON document store. Includes a scripting language to access and modify the documents.

Author: Symic Systems
License: BSD; Compression and encryption require a commercial license
Features: File- or in-memory-based; Transactions; Cursors; JSON document store
Platforms: Unix/Linux/MacOSX, Windows
Languages: C/C++, Java, .NET, Ruby, PHP, Perl and many others

upscaledb

High performance key/value store with a parameterized B+-tree. Keys and records are "typed" (i.e. 32bit integers, floats, variable length or fixed length binary data). Has built-in query language to aggregate and filter data.

Author: Christoph Rupp (@cruppstahl)
License: GPLv2 or later, with many exceptions; Commercial licenses available
Features: File- or in-memory-based; Transactions; Cursors; Compression; Encryption; Remote access; Built-in analytical functions
Platforms: Unix/Linux/MacOSX, Windows, Android, iOS
Languages: C/C++, Java, .NET, Erlang, PHP, Python

Vedis

A transactional key/value store supporting more than 70 commands of the Redis database. Based on UnQLite.

Author: Symic Systems
License: Free for non-commercial use; Commercial licenses available
Features: Transactions; Concurrency; Redis compatibility
Platforms: Unix/Linux/MacOSX, Windows
Languages: C/C++, .NET, node.js

WiredTiger

Inofficial successor of BerkeleyDB. Very high write throughput. Implements B+tree and LSM indices. Includes a LevelDB compatibility layer.

Author: Initially WiredTiger, now MongoDB
License: GPL v2 or later; Commercial licenses available
Features: Transactions; Cursors; Schema support including indices and projections; Compression
Platforms: Unix/Linux/MacOSX, Windows
Languages: C/C++, Java, .NET, Python, Perl, PHP and many others

嵌入式开源数据库资料+源码 学习 PostgresSQL Postgres 可追溯至1986年的加州柏克莱大学。该大学在1994年以BSD授权方式将程式码开放给开源码社群,社群则加入了SQL支援,然後一直研发该软体至今。部分原始程式码与设计依然留存至今,不论在Postgres或Informix资料库都还看得到,後者一开始就采用Postgres的程式码,现在则由 IBM所有。Postgres是公认最先进的开放原始码资料库,但文件品质则相当受到诟病。 MySQL 瑞典的MySQL AB公司於1995年开始同时以开放原始码模式与商业授权模式来推出此一产品,该公司表示此一「双轨授权」策略有助於站稳财务基础,有利於未来持续改善资料库产品。MySQL以100名员工可称得上是全球最大的开放原始码资料库组织,号称有400万安装基础,也被赞美为最好用的开放原始码资料库。该公司还提供另一个原本由ERP大厂SAP所拥有的开放原码资料库MaxDB,并加以认证用在R/3套装软体中。 Firebird Borland於2000年将Interbase关连资料库第六版的测试原始码公诸大众,使得它成为全球最新的开放原始码资料库。Firebird现在进入1.5版,优点是体积小,且SQL引擎非常稳定。 BerkeleyDB 属於内嵌资料库,包括Apache、Sendmail、 Mozilla浏览器,甚至是Google都采用BerkeleyDB。EMC在部分储存装置上也有使用,而昇阳的LDAP伺服器则仰赖这套程式码。思科与Sony都仅是用户。号称拥有2亿个部署基础,且跟MySQL一样,都采双轨授权策略。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值