Megjelent az AlaSQL 4.0 adatbázis-kezelő rendszer, amely webalkalmazásokhoz, webtechnológiákon alapuló mobilalkalmazásokhoz, vagy Node.js alapú szerver-oldali feldolgozókhoz készült. Az adatbázis JavaScript könyvtár formájában érhető el, és támogatja az SQL nyelvet. Támogatott a hagyományos relációs táblákban való adatkezelés, illetve a rugalmas JSON struktúrák használata, amelyek nem igényelnek szigorú tárolási schémát. Az adatok parancssori manipulálásához elérhető az alasql eszköz. A projekt kódja JavaScript nyelven íródott, és MIT licenc alatt terjesztik.
Az AlaSQL támogatja a SQL-99 nyelv legnagyobb részét, valamint kiegészítéseket kínál NoSQL stílusú feldolgozáshoz (schéma meghatározása nélkül) és gráfokkal való manipulációhoz. SQL lekérdezésekben végezhetők egyesítési (JOIN), csoportosítási (GROUP), unió (UNION) műveletek, használhatók az alt lekérdezések és az ANY, ALL, IN kifejezések, alkalmazhatók a ROLLUP(), CUBE() és GROUPING SETS() függvények. Korlátozott támogatás elérhető a tranzakciókhoz. Támogatott a felhasználói függvények definiálása, amelyeket SQL lekérdezésekben használhatunk. A függvények és SQL kifejezések gyors hívásához előfeldolgozva (a SQL PREPARE utasítás lehetőségének megfelelően) használhatók.
Az AlaSQL adatbázis-kezelő rendszert az ETL (Extract, Transform, Load) paradigmák és az adatok manipulálására tervezték importálás/feldolgozás/exportálás formájában. A tároláshoz, exportáláshoz és importáláshoz használható formátumok között szerepel a localStorage, IndexedDB, CSV, TAB, TXT, JSON, SQLite és Excel (.xls és .xlsx). Feltételezhető, hogy közvetlen lekérdezéseket lehet végrehajtani a megjelölt formátumokban tárolt adatokon, vagy importálni/exportálni lehet az adatokat. A SELECT művelet az összes JavaScript objektumban található adaton is végrehajtható.
A könyvtár eredetileg a memóriában történő gyors adatfeldolgozásra lett optimalizálva az üzleti analitika alkalmazásai számára, és támogatja az olyan optimalizálásokat, mint a lekérdezések gyorsítótárazása előre fordított funkciók formájában, a táblák egyesítési előzetes indexelése és a WHERE kifejezések szűrése az egyesítési műveletek előtt. Összehasonlítva más hasonló projektekkel, az AlaSQL háromszor gyorsabb volt a SUM, JOIN és GROUP BY műveleteket tartalmazó lekérdezések esetén a SQL.js-hez képest, kétszer gyorsabb a Linq-nál a GROUP BY használatakor, és megközelítőleg ugyanolyan szinten, mint a WebSQL API (amely az SQLite-ra épül és hamarosan eltávolítják a Chrome-ból) a SUM, JOIN és GROUP BY műveleteket tartalmazó lekérdezések esetén.
Forrás: opennet.ru
