ALASQL project develops DBMS for browsers and node.js

published Issue DBMS alasql 2.5 .0 , designed for use in Web applications in a browser, in mobile applications based on Web technologies or in server handlers based on the Node.js. The DBMS is decorated in the form of a JavaScript library and allows you to use SQL language to manipulate data. It is supported both by storage in traditional relational tables and in the form of invested JSON structures that do not require a rigid determination of storage scheme. For manipulation with data from the command line, an ALASQL utility is provided. The project code is written on JavaScript and distributed under the license mit.

The library is initially designed to quickly process data in RAM for business applications Analysts and supports optimizations such as caching of requests in the form of compiled functions, proactively indexing the mergers of tables and filtering the express expressions before the merger operations. At comparison with other similar projects, Alasql turned out to be faster sql.js three times when sample with SUM, Join and Group by operations, faster than linq by twice when using Group by and approximately at the same level as the Websql API (superstructure over SQLite, which will soon be removed from Chrome) when sample with SUM, Join and Group by.

ALASQL DBMS is designed to use the paradigm etl (Extract, Transform, Load) and manipulations with data in the form of imports /export. For storage, export and imports, Localstorage, Indexedb, CSV, Tab, Txt, Json, SQLite and Excel (.xls and .xlsx) can be used, it is implied that it is possible to directly execute requests from data stored in marked formats, or import and export data. It is also possible to perform Select surgery over any data in JavaScript facilities.

In the DBMS maintained most of the SQL-99 language, and additions for nosql processing are provided (without determining the storage scheme) and manipulations with graphs. In the SQL processes, you can carry out merge operations (Join), grouping (Group), associations (union), use sub-checks and expressions such as ANY, All and In, apply the functions of rollup (), cube () and grouping sets (). There is limited transaction support. maintained determination of user functions that can be used in SQL queries. For a quick call to call the function and SQL expression can be compiled (an analogue of the SQL-operator Prepare).

/Media reports cited above.