Опубликован выпуск СУБД AlaSQL 2.5.0, предназначенной для использования в web-приложениях в браузере, в мобильных приложениях на базе web-технологий или в серверных обработчиках на основе платформы Node.js. СУБД оформлена в виде JavaScript-библиотеки и позволяет использовать для манипуляции с данными язык SQL. Поддерживается как хранение в традиционных реляционных таблицах, так и в форме вложенных JSON-структур, не требующих жёсткого определения схемы хранения. Для манипуляции с данными из командной строки предоставляется утилита alasql. Код проекта написан на JavaScript и распространяется под лицензией MIT.
Библиотека изначально рассчитана на быструю обработку данных в оперативной памяти для приложений бизнес-аналитики и поддерживает такие оптимизации, как кэширование запросов в форме скомпилированных функций, упреждающая индексация слияния таблиц и фильтрация выражений WHERE перед операциями слияния. При сравнении с другими похожими проектами, AlaSQL оказалась быстрее SQL.js в три раза при выборке с операциями SUM, JOIN и GROUP BY, быстрее Linq в два раза при использовании GROUP BY и примерно на том же уровне, что и API WebSQL (надстройка над SQLite, которая скоро будет удалена из Chrome) при выборке с операциями SUM, JOIN и GROUP BY.
СУБД AlaSQL спроектирована для использования парадигмы ETL (Extract, Transform, Load) и манипуляции с данными в форме импорт/обработка/экспорт. Для хранения, экспорта и импорта могут использоваться форматы localStorage, IndexedDB, CSV, TAB, TXT, JSON, SQLite и Excel (.xls и .xlsx), подразумевается что можно напрямую выполнять запросы из данных, хранимых в отмеченных форматах, или импортировать и экспортировать данные. Также возможно выполнение операции SELECT над любыми данными в объектах JavaScript.
В СУБД поддерживается большая часть языка SQL-99, а также предоставляются дополнения для обработки в стиле NoSQL (без определения схемы хранения) и манипуляции с графами. В SQL-запросах можно производить операции слияния (JOIN), группировки (GROUP), объединения (UNION), использовать подзапросы и выражения типа ANY, ALL и IN, применять функции ROLLUP(), CUBE() и GROUPING SETS(). Имеется ограниченная поддержка транзакций. Поддерживается определение пользовательских функций, которые можно использовать в SQL-запросах. Для быстрого вызова функции и SQL-выражения могут быть скомпилированы (аналог SQL-оператора PREPARE).