- Apache Hive
- Apache Derby
- OpenLink Virtuoso
- Apache Drill
- Percona Server
- Apache Phoenix
- Apache Tajo
The world’s most popular open source database
Language: C, C++
The world’s most advanced open source database
SQLite is a in-process library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine
The Apache Hive ™ data warehouse software facilitates querying and managing large datasets residing in distributed storage.
Hive provides a mechanism to project structure onto this data and query the data using a SQL-like language called HiveQL.
At the same time this language also allows traditional map/reduce programmers to plug in their custom mappers and reducers when it is inconvenient or inefficient to express this logic in HiveQL.
One of the most popular database servers.
Made by the original developers of MySQL.
Guaranteed to stay open source.
Firebird is a relational database offering many ANSI SQL standard features that runs on Linux, Windows, and a variety of Unix platforms.
Firebird offers excellent concurrency, high performance, and powerful language support for stored procedures and triggers.
It has been used in production systems, under a variety of names, since 1981.
Language: C, C++
HSQLDB (HyperSQL DataBase) is the leading SQL relational database software written in Java.
It offers a small, fast multithreaded and transactional database engine with in-memory and disk-based tables and supports embedded and server modes.
It includes a powerful command line SQL tool and simple GUI query tools.
- Supports most of ANSI-92 SQL. Embedded or server use.
- Can use text tables
- TCP and HTTP servers
- SQL Language
- Supports several transactional models
The main features of H2 are:
- Very fast, open source, JDBC API
- Embedded and server modes; in-memory databases
- Browser based Console application
- Small footprint: around 1.5 MB jar file size
- Embedded and server modes. ~1Mb footprint
- H2 Console
- TCP, HTTP and PostgreSQL servers
- CSV support
- Built in connection pool
- Full-text search
- Derby has a small footprint — about 2.6 megabytes for the base engine
and embedded JDBC driver.
- Derby is based on the Java, JDBC, and
- Derby provides an embedded JDBC driver that lets you
Derby in any Java-based solution.
- Derby also supports the more familiar client/server mode with the
Derby Network Client JDBC
driver and Derby Network Server.
- Derby is easy to install, deploy, and use.
- ~2.6Mb footprint.
- Quick Start
- Can be used embedded or client-server
- Includes a command line, ij
- Apache Derby Papers
- SQL language reference
At core, Virtuoso is a high-performance object-relational SQL database.
As a database, it provides transactions, a smart SQL compiler, powerful stored-procedure language with optional Java and .Net server-side hosting, hot backup, SQL-99 support and more.
It has all major data-access interfaces, such as ODBC, JDBC, ADO .Net and OLE/DB.
- Web server
MemSQL is a high-performance, in-memory database that combines the horizontal scalability of distributed systems with the familiarity of SQL.
Language: C, C++
Schema-free SQL Query Engine for Hadoop, NoSQL and Cloud Storage
Is a free, fully compatible, enhanced, open source drop-in replacement for MySQL that provides superior performance, scalability and instrumentation.
With over 1,900,000 downloads, Percona Server’s self-tuning algorithms and support for extremely high-performance hardware delivers excellent performance and reliability.
Language: C, C++
For high-performance applications in data mining, OLAP, GIS, XML Query, text and multimedia retrieval
Object-relational database management system (DBMS) optimized for Web services
Langauge: C, C++
Apache Phoenix is a relational database layer over HBase delivered as a client-embedded JDBC driver targeting low latency queries over HBase data.
Apache Phoenix takes your SQL query, compiles it into a series of HBase scans, and orchestrates the running of those scans to produce regular JDBC result sets.
The table metadata is stored in an HBase table and versioned, such that snapshot queries over prior versions will automatically use the correct schema.
Direct use of the HBase API, along with coprocessors and custom filters, results in performance on the order of milliseconds for small queries, or seconds for tens of millions of rows.
Presto is an open source distributed SQL query engine for running interactive analytic queries against data sources of all sizes ranging from gigabytes to petabytes.
Presto was designed and written from the ground up for interactive analytics and approaches the speed of commercial data warehouses while scaling to the size of organizations like Facebook.
Apache Tajo is a robust big data relational and distributed data warehouse system for Apache Hadoop.
Tajo is designed for low-latency and scalable ad-hoc queries, online aggregation, and ETL (extract-transform-load process) on large-data sets stored on HDFS (Hadoop Distributed File System) and other data sources.
By supporting SQL standards and leveraging advanced database techniques, Tajo allows direct control of distributed execution and data flow across a variety of query evaluation strategies and optimization opportunities.
An ADO.NET wrapper for the H2 Database Engine written in C#
- Uses IKVM.NET
SmallSQL is small, fast, embeddable, SQL 99 conformance, platform independent and
100% pure Java
The SQL::Statement module implements a pure Perl SQL parsing and execution engine.
While it by no means implements full ANSI standard, it does support many features including column and table aliases, built-in and user-defined functions, implicit and explicit joins, complex nested search conditions, and other features.
SQL::Statement is a small embeddable Database Management System (DBMS).
This means that it provides all of the services of a simple DBMS except that instead of a persistent storage mechanism, it has two things:
1) an in-memory storage mechanism that allows you to prepare, execute, and fetch from SQL statements using temporary tables and
2) a set of software sockets where any author can plug in any storage mechanism.
There are three main uses for SQL::Statement.
One or another (hopefully not all) may be irrelevant for your needs:
1) to access and manipulate data in CSV, XML, and other formats
2) to build your own DBD for a new data source
3) to parse and examine the structure of SQL statements.
- Pure Perl SQL parsing and execution engine
- Acts as an abstract base class for RDBMS implementations
tinySQL is a SQL engine written in Java.
It uses dBase format files compatible with MS Excel.
tinySQL comes with a command line interpreter which you can use to create, drop, or update tables.
- Java SQL engine
- Uses dBase format files