LINUX.ORG.RU

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

 , , ,


2

2

Сегодня 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 тысяч строк.

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

>>> Подробности

★★★★★

Проверено: fallout4all ()
Последнее исправление: fallout4all (всего исправлений: 6)

Ответ на: комментарий от hobbit

Отличный фильм, кстати.

Не соглашусь. Унылое и неинтересное Мимино.

anonymous
()
Ответ на: комментарий от i1atf

Не факт

Для Рунета — факт.

А причём тут рунет?

Потому что для общемировой случая нет глобальной открытой статистики.

KRoN73 ★★★★★
()
Ответ на: комментарий от Deleted

Но ведь правда же

работал у меня один экземпляр, так он твердо верил, что этот язык в конце концов станет самым мейнстримом и вытеснит «всякие питончики с ссями, крестами и распятьями» ))). недолго правда он проработал )))

Но ведь он по сути прав. Это не значит, что JS - действительно хороший язык или даже что того, что он лучше тех, что потихоньку вытесняются им. Сейчас JS превратился в язык общего назначения с очень большой инфраструктурой вокруг себя. Куча средств разработки, куча разработчиков, всевозможные оптимизирующие компиляторы, несколько быстрых реализаций. Компиляция чего угодно в JS опять же. Уже даже чипы есть вроде адруины, но с JS в качестве основного языка. Мне бы тоже было приятнее видеть на месте JS какой-нибудь хороший язык, например, Common Lisp, но подлая индустрия не желает повиноваться мне :(.

Так что javascript имеет все шансы стать самым мейнстримом, ну или хотя бы одним из самых.

coredump
()
Ответ на: комментарий от PerdunJamesBond

еще одно на js...

Есть же даже закон такой, забыл правда имени кого: «Все, что может быть написано на javascript будет написано на javascript».

coredump
()
Ответ на: Но ведь правда же от coredump

js стал массовым из-за одной его фичи - асинхронности. Сейчас асинхронность - ключ производительности. V8 компилирует js в байт код машинный своим JIT так, что он работает быстрее java байткода и jit машинного java. А точнее, медленнее скомпилированного C на 30%-40% в лучшем случае и на 150% в худшем. А недавно на D запилили javascript vm машину и jit компилятор, который ещё быстрее и проще в поддержке.

menangen ★★★★★
()
Ответ на: комментарий от menangen

js стал массовым из-за одной его фичи - асинхронности.

Как еще такая асинхронность в самом языке JS? Да еще чтоб это выделило его среди остальных.

Стал он таким просто из-за развития веба и того, что он в браузерах работал.

coredump
()
Ответ на: комментарий от coredump

Да, я в смысле, это первый язык, который был ориентирован на асинхронность: колбеки. Писать те же самые колбеки на java - гораздо сложнее.

menangen ★★★★★
()
Ответ на: комментарий от menangen

Да ладно брось, когда JS создавался он вообще был ориентирован непонятно на что. Колбеки - костыль, который стали применять для асинхронности, а никакая не ориентация языка. И вообще от колбеков стараются избавлять максимально вроде как при нормальной разработке. Взгляни на тот же core.async в clojure, тут я понимаю - ориентирован. Чем там в JS принципиально легче писать колбэки-то?

coredump
()
Ответ на: комментарий от coredump

«Все, что может быть написано на javascript будет написано на javascript»

Закон Мёрфи на новый лад

EugeneBas ★★
()
Ответ на: комментарий от menangen

Лолшто? Автор жаваскрипта еще даже в школу не пошел, когда эта фича стала в языках появляться.

anonymous
()

Судя по комментам, я не один не понимаю, зачем это не нужно.

dexpl ★★★★★
()
Ответ на: комментарий от menangen

js стал массовым из-за одной его фичи - асинхронности

Глупости. JS стал массовым из-за того, что умеет лучше всех исполняться в браузерах.

tailgunner ★★★★★
()
Ответ на: комментарий от i1atf

Мейлрушный счётчик это конечно показатель.

Да. Или 90 млн. посетителей для тебя не показатель? Ты в курсе, сколько взрослого населения в России?

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Да. Или 90 млн. посетителей для тебя не показатель? Ты в курсе, сколько взрослого населения в России?

То есть ты подтверждаешь массовость?

i1atf
()
Ответ на: комментарий от i1atf

Я об этом выше уже писал. IE используется массово. Но пользуются им меньшинство пользователей. Соответственно, технология, которая сегодня будет ориентроваться на IE-only — обречена от рождения.

Соответственно, сегодня нет универсальной общеупотребимой браузерной программной платформы, кроме JS.

KRoN73 ★★★★★
()
Ответ на: комментарий от coredump

Чем там в JS принципиально легче писать колбэки-то?

Тем что мануалы есть, гы-гы :)

Vit ★★★★★
()
Ответ на: комментарий от MrClon

Не, ключевой момент в том, что интерфейс IndexedDB на уровне приложения абсолютно неюзабелен. Такое впечатление, что его изначально точили под обёртки.

Vit ★★★★★
()
Ответ на: комментарий от Vit

Майкрософт целый язык построила на одном только js (typescript). А гугловцы для простенькой обертки над kv-хранилищем приволокли всю тяжелую артиллерию (java, python, nodejs, closure compiler, YAML). Видать каждый индус делал свою часть работы на том, на чем умел, а потом тупо слепили всё воедино. Так что кто еще идиоты

makoven ★★★★★
()
Последнее исправление: makoven (всего исправлений: 2)
Ответ на: комментарий от makoven

Ну да, ну да. А где именно там используется ямл, настоящим яваскрипт-ниньзям понимать ни к чему. Объяснить ведь можно и так.

Vit ★★★★★
()
Ответ на: комментарий от makoven

Так обычно говорят пионеры, которые считают что все конфиги укладываются в полторы строчки. А еще эти пионеры гордятся тем, что умеют набивать json вручную. Видимо больше гордиться нечем.

Vit ★★★★★
()
Ответ на: комментарий от coredump

Есть же даже закон такой, забыл правда имени кого: «Все, что может быть написано на javascript будет написано на javascript».

Ну по сути это частный случай закона Мёрфи.

hobbit ★★★★★
()
Ответ на: комментарий от makoven

Очень аргументированно, да, как и все предыдущие посты.

Vit ★★★★★
()
Ответ на: комментарий от KRoN73

Соответственно, сегодня нет универсальной
общеупотребимой браузерной программной платформы, кроме JS.

так никто и не попытался оспорить очевидное.

jia ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.