Google представил Lovefield — SQL- подобный движок запросов к БД на основе Javascript

Сегодня Google представил релиз библиотеки с SQL-подобным синтаксисом, написанную на языке Javascript.

Поскольку начиная с 2010 года сообществу так и не удалось выработать стандарта WebSQL, в этой области не существовало реляционной БД, которая могла обеспечить полноценную кросс-браузерность.

Имеющиеся решения — IndexedDB и LocalStorage были по сути объектно-ориентированными хранилищами и не имели свойств, которыми обладают реляционные БД.

Lovefield создан, чтобы заполнить этот пробел в подобном ПО.

Он предоставляет мощный и гибкий движок запросов. В качестве бэкэнда в нем используется IndexedDB.

Синтаксис самих SQL-запросов декларативен, т.е. отсутствует прямой парсинг запросов, что делает систему устойчивой к SQL-инъекциям, а также простой в изучении для разработчиков, уже хорошо знакомых с традиционным SQL.

На данные момент движок Lovefield реализует такую функциональность:

Поддержка запросов select, insert, update и delete; Простая семантика транзакций для обеспечения атомарности операций; Возможность задания ограничений для проверки сохранения целостности (primary key, unique, nullable/not-nullable). Поддержка агрегатных функций (count, min, max, sum, avg, stddev, distinct); Поддержка группировки в SELECT-запросах через выражение «group by»; Возможность формирования запросов, охватывающих несколько таблиц (INNER JOIN, OUTER JOIN); Более простой, чем в IndexedDB, механизм изменения схемы данных; Кроссбраузерность — поддерживаются браузеры Chrome, Firefox, IE10. В плане производительности новый движок использует оптимизатор запросов, который оценивает различные варианты выполнения и выбирает наиболее эффективный.

Lovefield обеспечивает приемлемую производительность для БД размером до 50 тысяч строк.

В ближайшем будущем разработчики планируют добавить поддержку таких возможностей как внешние ключи, самосоединения таблиц, каскадное добавление/удаление записей и другое.

 google, javascript, sql, web

©  Linux.org.ru