nixp.ru v3.0

24 апреля 2024,
среда,
09:55:29 MSK

26 ноября 2014, 16:24

Lovefield — функциональный SQL-подобный движок на JavaScript для запросов в БД

3
Google представила SQL-подобный движок для запросов в БД на JavaScript
Google представила SQL-подобный движок для запросов в БД на JavaScript
Иллюстрация с сайта Lifehack.Org

Компания Google анонсировала под свободной лицензией новый 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.

Постоянная ссылка к новости: http://www.nixp.ru/news/12975.html. Никита Лялин по материалам Google-opensource.Blogspot.Ru.

fb twitter vk
Читайте также в новостях:
Дмитрий Шурупов

Про IndexedDB можно тут почитать: https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API

Вкратце: «transactional database system, like a SQL-based RDBMS; however whereas the latter uses tables with fixed columns, IndexedDB is a JavaScript-based object-oriented database».

Diafour

Lovefield: мы любим ваши поля