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