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 ()
Ответ на: комментарий от Twissel

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

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

дадада, а потом меня мама разбудила и велела идти на горшок и собираться в садик :D

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

Открой любой сайт объявлений. В списке вакансий для разработчиков уже каждая третья по js так или иначе. Диванные аналитики могут долго вонять на форумах, показывая свою элитарность. Но JS уже мейнстрим. Хорошо это или плохо - покажут годы.

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

Но JS уже мейнстрим.

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

halturin ★★★★★ ()

Google представил Lovefield — SQL- подобную БД на основе Javascript

А по ссылке говорится database query engine.

В качестве бэкэнда в нем используется IndexedDB.

Короче, написали что-то вроде ORM.

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

В целом Вы правы.

Если подскажите как в околонаучном стиле перевести «движок» я подправлю, пока новость не подтведили/удалили

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

Например что-то вроде «SQL подобный движок запросов к БД».

i1atf ()

Вот же наплодили фекалий...

asaw ★★★★★ ()

Опять на js. Сколько можно ещё этих костылей? Почему сразу не взять что-то адекватное и нативное? Зачем опять для js городить какие-то api, базы данных?

th3m3 ★★★★ ()

вебстораджа для веба хватало с головой. ладно, придумали web sql, работало тоже нормально и во всех браузерах. но хухелю всё неймётся..

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

лол. скорее даже проснулся на лекции (со всеми вытекающими)

anonymous ()

кросс-браузерность.

аж сташнило!

anonymous ()

Lovefield

Вместо презервативов Гомбо покупает телевизор, кепку, велосипед и, вернувшись домой, втыкает в землю укрюк (монг. уурга) — шест с петлёй на конце, используемый для отлова лошадей из табуна, который в таком положении традиционно сигнализирует, что в данном месте пара занимается любовью.

anonymous ()

Lovefield обеспечивает приемлемую производительность
для БД размером до 50 тысяч строк.

а какова длинна этих строк?

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

Как я понял оно должно в браузере работать, так-что JS безальтернативен. Даже если писать на чём-то другом, потом всё-равно придётся компилять в JS, так-что на выходе получится JS-библиотека.

MrClon ★★★★★ ()

Идея замечательная. Это всяко лучше очередной key-value помойки. А вот реализация.. Для работы с этой хренью нужны установленные python, java и nodejs. И Closure compiler. И еще зачем-то прикрутили мертвый YAML. Как-будто JSON недостаточно

makoven ★★★★ ()

Один пацан писал все на JavaScript, и клиент, и сервер, говорил что нравится, удобно, читабельно. Потом его в дурку забрали, конечно.

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

Я тоже писал всё на js. И клиент и сервер. Проблем никаких не было. До тех пор пока не понадобилось скрещивать nodejs сишными либами. Тут выяснилось что V8 написан на плюсах, а его ffi - далеко не верх удобства. А еще выяснилось, что C++ - это уже давно не надмножество C (когда дело касается стандартов), а совершенно другой язык

makoven ★★★★ ()
db.select().
    from(infoCard).
    from(infoCardDetails).  // exception will be thrown here
    orderBy(infoCard.lang, lf.Order.ASC).
    orderBy(infoCard.itag)  // ok, sort itag after sorting lang

Сволочи, заканчивайте уже страдать ..нёй! Запилите уже в JS do-нотацию, инфиксные формы выражений, и интерфейс Monad!!!

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

А почему бы не написать на нормальном ЯП со статической типизацией, а потом пропихнуть в браузер?

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

Javascript

Очередное убожество.

А сегодняшние браузеры массово поддерживают что-нибудь ещё?

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

Не в браузер, а в браузеры. Новость прочти, всё началось с того что не смогли договориться о том что-бы пропихнуть во все браузеры что-то одно SQLное, поэтому сделали этот костыль, который использует то что в браузерах уже есть, и который никуда пропихивать не надо, а достаточно подключить к странице.

MrClon ★★★★★ ()

накойхерононадо?

anonymous ()

Напишите простым языком (прям для чайника) зачем оно надо, пожалуйста. Это позволит грузить данные из\в СУБД на страницу минуя бэкенд?

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

Javascript

Очередное убожество.

А сегодняшние браузеры массово поддерживают что-нибудь ещё?

но зачем вообще оно в браузере?

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

И еще зачем-то прикрутили мертвый YAML. Как-будто JSON недостаточно

YAML удобнее. И человекописабельнее.

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

И еще зачем-то прикрутили мертвый YAML. Как-будто JSON недостаточно

JSON — подмножество YAML. Так что при поддержке YAML автоматически и поддержка JSON получается.

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

YAML удобнее. И человекописабельнее.

Для рубистов. А джаваскриптеры в большинстве даже не знают о его существовании. У них JSON встроен в язык

makoven ★★★★ ()

это чтобы дизайнеры и прочии гуманитарии еще больше почувствовали себя девелоперами :)

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

Как будто бы сегодняшние браузеры массово не могут быть… :}

Mystra_x64 ★★★★★ ()

еще одно на js... надо написать интерпретатор js на js (или давно уже?) и запилить наконец ось полностью на js. гнум на js+css частично есть...

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

Javascript

Очередное убожество.

А сегодняшние браузеры массово поддерживают что-нибудь ещё?

А из IE уже выкинули VBS?

Кстати, недавно кто-то делал интерпретатор питона на JS :D

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

А сегодняшние браузеры массово поддерживают что-нибудь ещё?

А из IE уже выкинули VBS?

10% пользователей — это очень массово, это аргумент!

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

10% пользователей — это очень массово, это аргумент!

Это действительно очень много. Вас вон вообще всего 1% примерно, а шуму от вас будто 95%.

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

Вместо презервативов Гомбо покупает телевизор

Отличный фильм, кстати. Я даже думаю, что это был последний фильм великого режиссёра перед тем, как в него вселились Чужие и начали выпекать лютый кинотрэш под именем покойного.

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

Это действительно очень много

Разницу между «много» и «массово поддерживают» (=«есть почти всюду») надо разжёвывать или не всё безнадёжно?

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

Разницу между «много» и «массово поддерживают» (=«есть почти всюду») надо разжёвывать или не всё безнадёжно?

IE есть почти всюду.

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

IE есть почти всюду.

Но только 10% посетителей рунета пользуются им.

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

Но только 10%

Не факт.

посетителей рунета

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

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