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