AlaSQL

AlaSQL is a relational DBMS designed to run in web browsers and JavaScript-based application servers (Node.js). It supports both relational tables and document-oriented collections (JSON).

History

The author of AlaSQL is Andrey Gershun, a Russian developer. The initial commit for AlaSQL on Github was on October 26, 2014.

In 2014, there were a handful of NoSQL in-memory databases that can be directly used in browser. The lack of a SQL compliant alternative motivated the AlaSQL project.

One of the major milestones/releases of the AlaSQL project is version 0.1.4 in which foreign keys, unique/not-null/check constraints were added. In version 0.4.0, support for Typescript syntax checking was added.

Indexes

Hash Table

AlaSQL uses hash tables for its indexes. Upon index creation, all entries in the table are hashed and stored in a JavaScript object.

Query Interface

SQL

Currently, AlaSQL is only available for JavaScript. AlaSQL uses standard SQL interfaces. However, like many other database management systems, AlaSQL is not fully compliant with any revisions of the SQL database query language. For example, the ALLOCATE keyword, which is available since SQL-92, is not supported by AlaSQL.

Checkpoints

Not Supported

Data Model

Relational Document / XML

AlaSQL supports the relational model, but can also act as a document store. Most standard SQL data types are supported, in additional to a number of JavaScript data types, like JSON objects.

Logging

Not Supported

Joins

Hash Join

All SQL join types are supported. Prior to executing a join, both tables are pre-indexed, and WHERE predicates are evaluated.

Concurrency Control

Not Supported

Concurrency control is not supported, nor is parallel execution.

Storage Architecture

In-Memory

AlaSQL is an in-memory database that is intended for Node.js and in-browser usage.

AlaSQL Logo
Website

http://alasql.org

Source Code

https://github.com/agershun/alasql

Tech Docs

https://github.com/agershun/alasql/wiki

Developer

Andrey Gershun

Country of Origin

RU

Start Year

2014

Project Type

Open Source

Written in

JavaScript

Supported languages

JavaScript

Licenses

MIT