Introduction to Free / Open Source Databases (Part - 1)

MongoDB is an open source, high performance, scalable, no model for the document (and JSON similar data model) of the database, it is the most popular programming languages, the driver, such as PHP, Python, Perl, Ruby , JavaScript, C + +, and support for full-text indexing, automatic film, extended across LAN or WAN, using Key / Value stored data. MongoDB server can run on Linux, Windows or OS X platform, to support 32-bit and 64-bit applications.

Hypertable is a high-performance distributed data storage system, designed to provide the best application performance, scalability and reliability, it is built on top of Google's BigTable, the main application for large data sets, the objective is to be the world's best high-performance database platform for large-scale concurrency.

 Apache CouchDB is a document-oriented database, you can use the JavaScript method by MapReduce queries and indexing, which provides a RESTful JSON API, so you can in any environment through HTTP access, CouchDB built-in Web management console, support management database through the browser. CouchDB prepared using Erlang, Erlang is a robust functional programming language, is very suitable for building distributed systems concurrency, Erlang's design is very flexible and its scalability and extensibility are great.

Neo4j is an embedded, disk-based, integrated services to support Java persistence engine instead of the image data stored in the table. Neo4j provides massive scalability on a single machine can handle billions of nodes / relationships / attributes of the image, can be extended to multiple machines in parallel. Relative to the relational database, the graphics are good at handling large, complex databases, Internet connection, low structure of the data, rapidly changing, requires frequent queries - in a relational database, these queries will be massive table connection, and therefore create performance problems. Neo4j focused on solving a large number of connections has a traditional RDBMS query performance when recession. By around the graphics data modeling, Neo4j will traverse the same node and edge rate, the traverse speed and the amount of data constitute the graphic has nothing to do. In addition, Neo4j also provides a very fast graphics algorithms, recommendation systems and OLAP-style analysis, and all this in the current RDBMS systems are not implemented.

Riak is a very suitable for Web application database, which provides to the center of the Key / Value Store, flexible map / reduce engine and friendly HTTP / JSON query interfaces. It is a true fault-tolerant systems, no single point of failure, in Riak world, there is no machine which is special or is the core server, they are all equal.

Oracle Berkeley DB is a series of open-source embedded database that enables developers to be a fast, scalable, with industrial grade reliability and availability of transaction processing database engine integrated into their applications. Berkeley DB first by the University of California, Berkeley, AT & T to remove the restrictions by the code from the BSD 4.3 , 4.4 software when rewritten. Berkeley DB runs on most operating systems , such as most UNIX systems, and windows systems, and real-time operating system

Cassandra is a highly scalable distributed database of the second generation is a mixed-type non-relational database, similar to Google's BigTable, supporting data structure is very loose, like the BJSON JSON format, so you can store more complex data type. Cassandra was originally developed by the Facebook, the latter transformed into open-source project. Cassandra's main features is that it is not a database, but by a bunch of database nodes together form a distributed network services, Cassandra's a write operation, will be replicated to other nodes up, the reading operation of the Cassandra, will also be Routing to a node above to read. Cassandra for a cluster for scalability is relatively simple things, simply add the nodes in the cluster which can be had. Facebook, Digg, Twitter, and Cisco and other large sites use Cassandra.

Memcached is the open-source distributed cache system, many large-scale web applications, including facebook, youtube, wikipedia, yahoo, etc. are using memcached to support their level of hundreds of millions of page views every day. Through the cache layer of integration with their web framework, and their application to improve performance while also greatly reducing the load on the database.
Memcached is the atomic deal with each key / value, key through a hash algorithm will be converted into hash-key, easy to find, and do as much as possible hash comparison.

Firebird is a relational database that can run on Linux, Windows and various Unix platforms, Firebird MySQL and PostgreSQL is relatively small, which it can be considered as an ideal embedded database that can be used with other applications server and application bundle. Firebird has the most mature database with features such as support for stored procedures, SQL-compatible, etc..

Redis is a fast Key / Value database engine, it is quick and easy to maintain key features of the database at the same time, they absorb some of the advantages of relational database, making it the location in the relational database and key databases. Redis Strings not only the type of data stored, but also save the Lists types (ordered) and Sets type (random) data, but also the completion of sorting (SORT) and other advanced features, in achieving the INCR, SETNX functions of time guarantee the atomicity of its operations, in addition, also supports features such as master-slave replication. Redis use the C language, can be thought of memcached as used on the traditional front-end database, which supports many programming languages used by many popular programs, such as GitHub and Engine Yard, a client written with PHP is called Rediska, specialized to manage Redis database.


  1. Your blog has given me that thing which I never expect to get from all over the websites. Nice post guys!


Post a Comment

Popular posts from this blog

Create Tables in Oracle Database using TOAD

How to create Oracle stored Procedures using TOAD for Oracle

How to Create Packages in Oracle Database using TOAD for Oracle