AlaSQL andmebaasi versioon 4.0 on nüüd saadaval, mis on mõeldud kasutamiseks veebirakendustes brauseris, mobiilirakendustes, mis põhinevad veebitehnoloogiatel, või serveriteenindites, mis on loodud Node.js platvormi alusel. Andmebaas on vormistatud JavaScripti raamatukoguna ja võimaldab kasutada SQL keelt. Toetatakse andmete salvestamist traditsioonilistes relatsioonilistes tabelites või pesakonnas olevates JSON-struktuurides, mis ei nõua ranget salvestuse skeemi määratlemist. Andmete käsitlemiseks käsurealt on saadaval utiliit alasql. Projekti kood on kirjutatud JavaScriptis ja jagatakse MIT litsentsi alusel.
AlaSQL toetab enamikku SQL-99 keelest, samuti pakub lisade toetust NoSQL stiilis töötlemiseks (ilma salvestusskeemi määratlemiseta) ja graafide manipuleerimiseks. SQL-päringutes on võimalik teostada ühinemistoiminguid (JOIN), rühmitamisi (GROUP), ühendamisi (UNION), kasutada allpäringuid ja selliseid väljendeid nagu ANY, ALL ja IN, rakendada funktsioone ROLLUP(), CUBE() ja GROUPING SETS(). Piiratud tugi on olemas tehingutele. Toetatakse kohandatud funktsioonide määratlemist, mida saab kasutada SQL-päringutes. Funktsioone ja SQL-väljendeid saab kiiresti kutsuda, kuna need võivad olla kompileeritud (sarnane SQL-käsule PREPARE).
AlaSQL andmebaas on kavandatud ETL (Extract, Transform, Load) paradigmade ja andmete käsitlemise jaoks, mis toimub importimise / töötlemise / ekspordi vormis. Salvestamiseks, ekspordiks ja impordiks võivad kasutada vormate nagu localStorage, IndexedDB, CSV, TAB, TXT, JSON, SQLite ja Excel (.xls ja .xlsx), eeldades, et saab otse päringute tegemiseks kasutada andmeid, mis on salvestatud nimetatud formaatidesse, või andmeid importida ja eksportida. Samuti on võimalik sooritada SELECT-operatsiooni kõigi JavaScripti objektides olevate andmete üle.
Raamatukogu on algselt loodud kiire andmete töötlemise jaoks mälus ärianalüüsirakendustes ja toetab selliseid optimeerimisi nagu päringute vahemälude koostamine, tabelite ühendamise eelne indikeerimine ja WHERE väljendi filtreerimine enne ühenduste tegemist. Võrreldes teiste sarnaste projektidega oli AlaSQL kolm korda kiirem kui SQL.js, kui tehti SUM, JOIN ja GROUP BY operatsioone, kaks korda kiirem Linq'ist GROUP BY kasutamisel ja ligilähedasel tasemel API WebSQL-iga (SQLite'i pealispind, mis eemaldatakse peagi Chromest), tehes SUM, JOIN ja GROUP BY operatsioone.
Allikas: opennet.ru
