Udgaven af databasen AlaSQL 4.0 er tilgængelig, som er designet til brug i webapplikationer i browseren, i mobile applikationer baseret på webteknologier eller i serverbehandlere på Node.js-platformen. Databasen er lavet som et JavaScript-bibliotek og tillader brug af SQL-sproget. Der understøttes lagring af data i traditionelle relationelle tabeller eller som indlejrede JSON-strukturer, der ikke kræver en streng definition af lagringsskemaet. Der gives en værktøj kaldet alasql til at manipulere data fra kommandolinjen. Projektkoden er skrevet i JavaScript og distribueres under MIT-licensen.
I AlaSQL understøttes størstedelen af SQL-99-sproget, og der gives også udvidelser til behandling i NoSQL-stil (uden at definere lagringsskemaet) og til manipulation af grafer. I SQL-forespørgsler kan der udføres operationer som sammenslutninger (JOIN), grupperinger (GROUP), foreninger (UNION), brug af underforespørgsler og udtryk som ANY, ALL og IN, samt anvendelse af funktioner som ROLLUP(), CUBE() og GROUPING SETS(). Der er begrænset support for transaktioner. Der understøttes definition af brugerdefinerede funktioner, som kan bruges i SQL-forespørgsler. For hurtig kald af funktioner kan SQL-udtryk kompileres (svarende til SQL-kommandoen PREPARE).
Databasen AlaSQL er designet til at bruge ETL-paradigmet (Extract, Transform, Load) og manipulering af data i form af import/processing/export. For lagring, eksport og import kan formaterne localStorage, IndexedDB, CSV, TAB, TXT, JSON, SQLite og Excel (.xls og .xlsx) anvendes. Det antages, at forespørgsler kan udføres direkte på data, der opbevares i de angivne formater, eller at data kan importeres og eksporteres. Det er også muligt at udføre SELECT-operationer på alle data i JavaScript-objekter.
Biblioteket er oprindeligt designet til hurtig databehandling i hukommelsen for forretningsanalyse-applikationer og understøtter optimeringer som caching af forespørgsler i form af kompilerede funktioner, proaktiv indeksering af tabel-sammenslutninger og filtrering af WHERE-udtryk før sammenslæsningsoperationer. Sammenlignet med andre lignende projekter er AlaSQL tre gange hurtigere end SQL.js ved forespørgsler med SUM, JOIN og GROUP BY, to gange hurtigere end Linq ved brug af GROUP BY og omtrent på samme niveau som WebSQL API (en wrapper over SQLite, der snart vil blive fjernet fra Chrome) ved forespørgsler med SUM, JOIN og GROUP BY.
Kilde: opennet.ru
