Випуск СУБД 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.

Джерело: opennet.ru

Додати коментар або відгук