Inventory 2013:21 Best Open Source database

Source: Internet
Author: User
Keywords Open source can a function

As a software developer or DBA, one of the essential tasks is to deal with databases, such as MS SQL Server, MySQL, Oracle, PostgreSQL, MongoDB, and so on. As we all know, MySQL is currently the most widely used and the best free open source database, in addition, there are some you do not know or useless but excellent open source database, such as PostgreSQL, MongoDB, HBase, Cassandra, Couchbase, Neo4j, Riak, Redis, Firebird, etc.

In this article, the author summed up a total of 21 of the best open source database, let us take a look at it.

1.MySQL

MySQL is an open source relational database management system for Oracle products. Support for a variety of storage engines, clusters, full-text indexing, support for multithreading, the full use of CPU resources, support multi-user and many other very professional features.

MySQL has become the most popular open source database because of its high performance, low cost and good reliability, and is widely used in Web applications and other small and medium sized projects. From WordPress to movable type, MySQL is used as the default database. In addition, since Oracle acquired MySQL, there is a potential risk of MySQL closed source, so the community in a branch to avoid this risk, the development and operation of a fully compatible MySQL MARIADB database.

2.PostgreSQL

PostgreSQL can be referred to as "Postgres", is an object-relational database management system, PostgreSQL adopts a more classical C/s (CLIENT/SERVER) structure, that is, a client-side daemon process model. PostgreSQL has a very good drive and supports standard ansi-sql and extension features, and in many ways surpasses MySQL.

PostgreSQL is a fully functional free software database, and for a long time, PostgreSQL is the only database management system of free software that supports transactions, subqueries, multiple versions of parallel control systems (MVCC), data integrity checks, and so on. Many cloud service providers, such as Heroku, use PostgreSQL as their RDBMS storage.

Shortcomings, PostgreSQL also lacks some of the high-end database management system needs characteristics, such as database clustering, better management tools and more automated system optimization functions such as improving database performance mechanism.

3.MongoDB

MongoDB is an open source, document-oriented and currently popular NoSQL database, which is a product between relational and non relational databases. The most important feature of MONGO is that it supports a very powerful query language, its syntax is similar to the object-oriented query language, can almost achieve the most functions of similar relational database single table query, and also supports indexing data. Also has high-performance, easy to deploy, easy to use, storage data is very convenient and so on.

4.Hadoop (HBase)

Hadoop (HBase) is an open-source, column-storage-based, distributed database that is part of the Apache Hadoop project, and the development language is java.

Unlike a generic relational database, HBase is a database suitable for unstructured data storage. Another difference is that HBase is based on columns rather than on a row based pattern. And it is a distributed database with high reliability, high performance, scalable and based on relational model.

HBase is an open-source implementation of Google BigTable, similar to Google bigtable using GFS as its file storage system to store large structured data. HBase uses Hadoop HDFs as its file storage system; Google runs MapReduce to handle the massive amounts of data in BigTable, HBase also uses Hadoop mapreduce to handle the massive amounts of data in HBase; Google BigTable uses chubby as a collaborative service, HBase uses zookeeper as its counterpart.

5.Apache Cassandra

Apache Cassandra is a set of Open-source distributed NoSQL database systems, similar to Google's bigtable. It was originally developed by Facebook to store simple format data such as Inboxes, with a Google BigTable data model and a fully distributed architecture of Amazon Dynamo. In 2008, Facebook put open source.

The main characteristic of Cassandra is that it is not a database, but a distributed network service composed of a bunch of database nodes, and a write operation to Cassandra will be replicated to other nodes, and the Cassandra read operation will also be routed to a node to read. For a Cassandra cluster, extended performance is a relatively simple thing to do, just add nodes to the cluster.

6.Couchbase

Couchbase is a JSON-based document database that is a fork of the couchdb, capable of scaling horizontally and providing low latency access to data reading and writing. The couchbase is more comprehensive than the COUCHDB feature, and the Couchbase product contains a copy of Couchdb. Couchbase products to Couchdb added caching, clustering and other functions. In addition, Couchbase also contains some good integration features, for the data storage System, Couchbase is a good choice.

7.neo4j

NEO4J is an open source high-performance nosql Graph database that uses graph-related concepts to describe data models, saving data as nodes in diagrams and relationships between nodes. Supports Acid transactions (atomicity, independence, persistence, and consistency).

In reality, much of the data is expressed in graphs, such as the relationship between human beings in social networks, map data, or genetic information, and so on. The most basic concept in neo4j is node and relationship (relationship). Nodes represent entities and can have different relationships between two nodes.

8.Riak

Riak is based on Erlang and C language development, Riak is Amazon's highly available key-value repository, written in Erlang and based on Dynamo, is a highly scalable, distributed data store. Riak does not have the concept of a master node and is more flexible in handling failures. In the open source version, the SNMP distributed model is not included.

9.Redis

Redis is an open source, support network, memory based, key value pair storage database. Developers can dump entire hash values, lists, collections, and other complex result stores without storing numbers and strings, and Redis also provides functionality such as replication/synchronization and persistence.

Redis is a high-performance key-value pair database. The emergence of Redis, to a large extent, compensates for the shortage of such key/value storage in memcached, and in some cases can complement the relational database well.

10.Firebird

Firebird is a cross-platform relational database developed in C and C + +. Currently capable of running on Windows, Linux, and a variety of UNIX operating systems, you can provide high performance and strong language support for stored procedures and triggers.

Firebird can be used as a database server in multi-user environment, and also provide the implementation of embedded database.

11.Memcached

Memcached is a distributed cache system that can be used to store data in a variety of formats, including images, videos, files, and database retrieval results. It simply means that the data is called into memory and then read from memory, which greatly improves the reading speed.

Since memcached is often used only as a caching system, applications using memcached need additional code to update data within memcached when writing back to slower systems (like a backend database).

12.Oracle Berkeley DB

Oracle Berkeley DB is an efficient embedded database programming library. Berkeley db can hold any type of key/value pairs (Key/value Pair) and can hold multiple data for a key. Berkeley DB Support allows thousands of concurrent threads to operate the database concurrently, supporting up to 256TB of data, and widely used in a variety of operating systems, including most Unix-like operating systems, Windows operating systems, and real-time operating systems.

13.Hypertable

Hypertable is a high-performance distributed data storage System, using a similar model to Google's bigtable. High performance, scalable, scalable, and focused on large datasets.

Hypertable organizes data in a similar form, but at present hypertable does not support rich relational attributes in relational databases. Hypertable organizes data into a multidimensional sparse matrix. All the line information in the matrix can be sorted based on the primary key (Primary key).

14.Keyspace

Keyspace is a key to the database storage system, keyspace based on the Master-slave mode, all written by Master, and through the Paxos uniformly propagated to the slave, read can be based on basic routes to master or slave. Therefore, when Master is down or inaccessible, there is a master election mechanism that becomes the paxoslease algorithm in KEYSAPCE.

15.4store

4store is an efficient, scalable RDF database developed using ANSI C99 that can run more than 15GT of data queries at the same time, and Web applications developed with it can support thousands of people at the same time.

16.MariaDB

MARIADB database management System is a branch of MySQL, fully compatible with MySQL, including the API and command line, so that it can easily become a replacement for MySQL. On the storage engine side, use XTRADB instead of MySQL's InnoDB. Additional features are added to support local non-blocking operations and progress reports. This means that all connectors, libraries, and applications that use MySQL will also work under MARIADB.

MARIADB was led by MySQL founder Macker Vidnius, and as mentioned above, many companies have moved projects to mariadb, such as Wikipedia, Google, for fear of Oracle's risk of MySQL being closed.

17.Drizzle

Drizzle is a free/open source relational database management system, based on C + + development, which is a branch of MySQL 6.0. Like MySQL, drizzle is also using the classic C/S (client/server) architecture model, which focuses on providing a reliable and stable database for cloud applications.

18.HyperSQL

Hypersql is a Java-written SQL relational database engine, with a core of multithreading, support for two-way locks and MVCC, and a small, fast database engine for memory-and disk-based tables that support embedded/server mode. It also has a variety of tools, such as command-line SQL tools, GUI query applications, and more.

19.MonetDB

MonetDB is an open source, column-oriented database management system, which specializes in data mining, OLAP, GIS, XML query, text and multimedia retrieval to provide high-performance applications.

The MONETDB database management system contains Monetdb/sql, Monetdb/gis, and MONETDB servers. It also has automatic and Self tuning index, run-time query optimization, and modular software architecture.

20.Persevere

Persevere is an object storage engine and application server (based on Java/rhino), which provides a server JavaScript environment for persisting data storage of dynamic JSON data. Supports the use of standard JSON http/rest Web interfaces to create, read, update, and delete data.

Persevere is proud of its "Schema-free", a feature that makes it very different from other databases. Persevere allows you to add schema as you wish. Persevere does not refer to the top-level hierarchy as a domain (simpledb), or a document (COUCHDB), persevere called an object, and it even allows you to create subclasses of objects. If you want to violate the rules, you can also insist that certain fields use a certain type, but this is not recommended. Schema rules are optional.

21.exist-db

Exist-db is an Open-source XML database built using XML technology that stores XML data based on an XML data model, functionality, and an indexed XQuery process. The program interacts with the exist through a exist-bound HTTP server. The exist database also provides SOAP, XML-RPC, and restful interfaces through which developers can submit XPath, XQuery, and xupdate requests to the core server. Command line and GUI clients are also available.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.