Tag Archives: RDBMS

Open source SQL engines

Contents

MySQL

The world’s most popular open source database

Language: C, C++

Connectors

PostgreSQL

The world’s most advanced open source database

Language: C

Connectors

SQLite

SQLite is a in-process library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine

Language: C

Connectors

Apache Hive

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.

Language: Java

Connectors

MariaDB

One of the most popular database servers.
Made by the original developers of MySQL.
Guaranteed to stay open source.

Language: C

Connectors

Firebird

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++

Connectors

HyperSQL

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.

Language: Java

Connectors

  • JDBC

H2

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

Language: Java

Connectors

Apache Derby

Apache Derby,
an Apache DB subproject,
is an open source relational database implemented entirely in Java
and available
under the Apache License, Version 2.0.
Some key advantages include:

  • 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
    SQL
    standards.
  • Derby provides an embedded JDBC driver that lets you
    embed
    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.

Language: Java

Connectors

OpenLink Virtuoso

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.

Language: C++

  • Web server
  • SOAP
  • REST
  • WS-*
  • BPEL
  • WebDAV
  • SPARQL

Connectors

MemSQL

MemSQL is a high-performance, in-memory database that combines the horizontal scalability of distributed systems with the familiarity of SQL.

Language: C, C++

Apache Drill

Schema-free SQL Query Engine for Hadoop, NoSQL and Cloud Storage

Language: Java

Connectors

Percona Server

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++

Connectors

MonetDB

For high-performance applications in data mining, OLAP, GIS, XML Query, text and multimedia retrieval

Connectors

CUBRID

Object-relational database management system (DBMS) optimized for Web services

Langauge: C, C++

Connectors

Apache Phoenix

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.

Language: Java

Connectors

  • JDBC

Presto

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.

Connectors

Apache Tajo

Language: Java

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.

Connectors

EffiProz

C#

h2sharp

An ADO.NET wrapper for the H2 Database Engine written in C#

Language: Java

Connectors

  • ADO.NET

SmallSQL

SmallSQL is small, fast, embeddable, SQL 99 conformance, platform independent and
100% pure Java

Language: Java

Connectors

  • JDBC

SQL::Statement

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.

Language: Perl

  • Pure Perl SQL parsing and execution engine
  • Acts as an abstract base class for RDBMS implementations

tinySQL

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.

Language: Java

  • Java SQL engine
  • Uses dBase format files