Компания Google анонсировала под свободной лицензией новый JavaScript-движок запросов в БД, предназначенный для веба и предоставляющий SQL-подобный синтаксис.
Необходимость такого движка появилась несколько лет назад. Однако попытки разработать и стандартизировать WebSQL, начавшиеся в 2010 году, завершились ничем. Соответственно, разработчики так и не получили кроссбраузерного решения для реляционных БД в веб-клиентах. Существующие решения вроде IndexedDB и LocalStorage больше соответствуют объектно-ориентированным хранилищам и не обладают, соответствующим реляционным БД возможностям.
Эту задачу и решает богатый возможностями движок запросов Lovefield. В качестве бекэнда он использует IndexedDB и предоставляет интуитивный SQL-подобный декларативный синтаксис, снижая тем самым трудозатраты разработчиков. В движке не используется парсинг запросов, что обеспечивает иммунитет к SQL-инъекциям. Возможности Lovefield включают в себя:
поддержка агрегатных функций: COUNT, MIN, MAX, SUM, AVG, STDDEV, DISTINCT;
группировка посредством «Group By»;
использование запросов для нескольких таблиц —JOIN;
поддержка Chrome, Firefox, IE10.
На текущий момент Lovefield по критерию производительности подходит для баз меньше 50 000 строк. Разработчики планируют увеличить производительность в будущих версиях, а также реализовать поддержку внешних ключей, каскадного добавления и удаления и др. Исходный код Lovefield опубликован на GitHub под свободной лицензией Apache Licence 2.0.