Lovefield

0
Ваша оценка: Нет

JavaScript-движок запросов в БД, предназначенный для веба и предоставляющий SQL-подобный синтаксис.

Необходимость такого движка появилась несколько лет назад. Однако попытки разработать и стандартизировать WebSQL, начавшиеся в 2010 году, завершились ничем. Соответственно, разработчики так и не получили кроссбраузерного решения для реляционных БД в веб-клиентах. Существующие решения вроде IndexedDB и LocalStorage больше соответствуют объектно-ориентированным хранилищам и не обладают возможностями, соответствующими реляционным СУБД.

Эту задачу и решает богатый возможностями движок запросов Lovefield. В качестве бэкенда он использует IndexedDB и предоставляет интуитивный SQL-подобный декларативный синтаксис, снижая тем самым трудозатраты разработчиков. В движке не используется парсинг запросов, что обеспечивает иммунитет к SQL-инъекциям. Возможности Lovefield включают в себя:

  • поддерживаются запросы SELECT, INSERT, UPDATE, DELETE;
  • атомарность с понятной семантикой транзакций;
  • проверки на сохранение целостности;
  • поддержка агрегатных функций: COUNT, MIN, MAX, SUM, AVG, STDDEV, DISTINCT;
  • группировка посредством GROUP BY;
  • использование запросов для нескольких таблиц (JOIN);
  • поддержка веб-браузеров Chrome, Firefox, IE 10.

На текущий момент Lovefield по критерию производительности подходит для баз меньше 50 000 строк. Разработчики планируют увеличить производительность в будущих версиях, а также реализовать поддержку внешних ключей, каскадного добавления и удаления и др.

Исходный код Lovefield опубликован на GitHub под свободной лицензией Apache Licence 2.0.

Сайт разработчика: https://github.com/google/lovefield


Разместил: vikos 1 Декабрь 2014 в 18:58