The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"Google представил Lovefield, SQL-подобную БД для JavaScript"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Google представил Lovefield, SQL-подобную БД для JavaScript"  +1 +/
Сообщение от opennews (??), 18-Ноя-14, 09:23 
Компания Google открыла (http://google-opensource.blogspot.ru/2014/11/lovefield-power...) под лицензией Apache код проекта Lovefield (https://github.com/google/lovefield), в рамках которого подготовлен движок для работы с традиционными реляционными базами данных в web-приложениях. Lovefield использует для постоянного хранения данных API IndexedDB (http://www.w3.org/TR/IndexedDB/) и позволяет манипулировать данными с использованием SQL-подобных запросов. Движок оформлен в виде JavaScript-библиотеки, которую можно использовать в различных браузерах, в том числе в Chrome 37+, Firefox 31+ и IE 10+.


Запросы оформляются в виде (https://github.com/google/lovefield/blob/master/docs/spec_in...) похожем на SQL, но имеют декларативный синтаксис, что позволяет обойтись без стадии парсинга и обеспечить защиту от атак по подстановке SQL-запросов. Разработчик вначале составялет (https://github.com/google/lovefield/blob/master/docs/quick_s...) схему, определяющую структуру БД. Затем данная схема компилируется в JavaScript-файл с обработчиком, который подключается к web-проекту и позволяет отправлять запросы только в рамках определённой схемы. Запросы отправляются в объектной форме, например, "var query = db.select().from(card).where(card.id.eq('12345'));".


Для достижения высокой производительности в  Lovefield используется оптимизатор запросов, который рассматривает оптимальность различных планов выполнения запроса и выбирает наиболее эффективный. Lovefield обеспечивает приемлемую производительность для БД размером до 50 тысяч строк. В дальнейшем планируется внести оптимизации, которые позволят использовать Lovefield  и для более крупных наборов данных.

Основные особенности (https://github.com/google/lovefield/blob/master/docs/spec_in...) Lovefield:


-  Поддержка запросов  select, insert, update и delete;
-  Простая семантика транзакций для обеспечения атомарности операций;
-  Возможность задания ограничений для проверки сохранения целостности (primary key, unique, nullable/not-nullable).
-  Поддержка агрегатных функций(count, min, max, sum, avg, stddev, distinct);
-  Поддержка группировки в SELECT-запросах через выражение "group by";
-  Возможность (https://github.com/google/lovefield/blob/master/docs/spec/04...) формирования запросов, охватывающих несколько таблиц (INNER JOIN, OUTER JOIN);
-  Более простой, чем в IndexedDB, механизм изменения схемы данных.

URL: http://google-opensource.blogspot.ru/2014/11/lovefield-power...
Новость: http://www.opennet.ru/opennews/art.shtml?num=41078

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Google представил Lovefield, SQL-подобную БД для JavaScript"  +/
Сообщение от Аноним (1), 18-Ноя-14, 09:23 
Чем больше ресурсов, тем больше они распыляются :(

p.s. Говорят что уровень парниковых газов в атмосфере продолжает активно расти, не смотря на все применяемые меры, думаю использование интерпретаторов интерпретаторов в программных контейнерах уже вносит значительную лепту в этот рост

Ответить | Правка | Наверх | Cообщить модератору

4. "Google представил Lovefield, SQL-подобную БД для JavaScript"  –1 +/
Сообщение от Константавр (ok), 18-Ноя-14, 09:46 
Да, мощности компьютеров растут не для больших вычислений, а для абстракций абстракций. В конце концов, интерпретаторы интерпретаторов дорастут до одной команды - "Сделать звиздато" или "Принеси мне целое состояние"
Ответить | Правка | Наверх | Cообщить модератору

7. "Google представил Lovefield, SQL-подобную БД для JavaScript"  +5 +/
Сообщение от Отражение луны (ok), 18-Ноя-14, 10:11 
У абстракций абстракций зато отличная стабильность стабильности и высокая переиспользуемость переиспользуемости.
Ответить | Правка | Наверх | Cообщить модератору

8. "Google представил Lovefield, SQL-подобную БД для JavaScript"  +4 +/
Сообщение от Константавр (ok), 18-Ноя-14, 10:25 
Не, против абстракций, как таковых, я ничего не имею. В конце концов, даже писать на асме - это уже абстракция :) Но когда всё переносится в веб технологии, это уже перебор.  Должна быть та грань, за которую нельзя переходить.
Ответить | Правка | Наверх | Cообщить модератору

38. "Google представил Lovefield, SQL-подобную БД для JavaScript"  +/
Сообщение от жжж (?), 20-Ноя-14, 09:54 
Это вам следовало сказать когда выпустили первую Джаву.
Ответить | Правка | Наверх | Cообщить модератору

5. "Google представил Lovefield, SQL-подобную БД для JavaScript"  +3 +/
Сообщение от мшефд (?), 18-Ноя-14, 09:50 
Для работы с сабжем требуется: Java, Python, node.js, closure !
Ответить | Правка | Наверх | Cообщить модератору

11. "Google представил Lovefield, SQL-подобную БД для JavaScript"  +1 +/
Сообщение от Аноним (-), 18-Ноя-14, 10:45 
>Запросы оформляются в виде похожем на SQL, но имеют декларативный синтаксис

А у SQL синтаксис недекларативный, да?

Ответить | Правка | Наверх | Cообщить модератору

16. "Google представил Lovefield, SQL-подобную БД для JavaScript"  +/
Сообщение от Аноним (1), 18-Ноя-14, 12:19 
>>Запросы оформляются в виде похожем на SQL, но имеют декларативный синтаксис
> А у SQL синтаксис недекларативный, да?

они решили решить неразрешимую для многих решателей пишущих решения  на js|php и т.п. проблему query("select name from "+valTable+" where "+valField+"=" + valID ";") нетрадиционным способом, но забыли о том что теперь можно написать:
eval("db.select.from("+valTable+").where("+valField+".eq("+valID+"))")...

в принципе похвально конечно, теперь можно будет знатокам js и sql писать код а потом компилировать его в c++ :)

Ответить | Правка | Наверх | Cообщить модератору

24. "Google представил Lovefield, SQL-подобную БД для JavaScript"  +/
Сообщение от Orduemail (ok), 18-Ноя-14, 13:53 
> забыли о том что теперь можно написать:
> eval("db.select.from("+valTable+").where("+valField+".eq("+valID+"))")...

Это вы к:

>обойтись без стадии парсинга и обеспечить защиту от атак по подстановке SQL-запросов.

?

Ну дык чтобы eval сработал надо внедрить код, а там уже всё бесполезно. Речь идёт про другие атаки, про т.н. SQL-inj, когда в valTable оказывается совершенно иной sql запрос. Когда составление sql-запроса -- это не тупо конкатенация строк, а так как в этом фреймворке сделано, фреймворк может экранировать всё, причём прозрачно. Правда тут есть другой косяк: он экранировать будет всё, даже то что передано в виде literal'ов, потому что в рантайме не сможет отследить, что литерально, а что из переменной берётся. Но жабаскрипту на это пенальти к производительности я полагаю насрать: одним пенальти больше, одним меньше -- всё равно тормоз.

Ответить | Правка | Наверх | Cообщить модератору

27. "Google представил Lovefield, SQL-подобную БД для JavaScript"  +/
Сообщение от Аноним (1), 18-Ноя-14, 14:54 

Никто не мешает составлять запросы через параметры, как это делается в нормальных системах, но увы и в нормальных системах у многих выходит через контактацию строк :)


Ответить | Правка | Наверх | Cообщить модератору

13. "Google представил Lovefield, SQL-подобную БД для JavaScript"  +/
Сообщение от Аноним (-), 18-Ноя-14, 11:40 
Поясните для тупых: БД прямо в браузер передаётся?
Ответить | Правка | Наверх | Cообщить модератору

17. "Google представил Lovefield, SQL-подобную БД для JavaScript"  +/
Сообщение от Аноним (1), 18-Ноя-14, 12:20 
> Поясните для тупых: БД прямо в браузер передаётся?

БД прямо в нём живёт на 10-м уровне изоляции в виде куков ;)

Ответить | Правка | Наверх | Cообщить модератору

25. "Google представил Lovefield, SQL-подобную БД для JavaScript"  +/
Сообщение от Cotan (ok), 18-Ноя-14, 14:21 
Не только куков. История, закладки, пароли, - всё лежит в БД. Даже копирасты вроде Apple используют SQLite для своих браузеров.
Ответить | Правка | Наверх | Cообщить модератору

28. "Google представил Lovefield, SQL-подобную БД для JavaScript"  +/
Сообщение от Аноним (1), 18-Ноя-14, 14:55 
> Не только куков. История, закладки, пароли, - всё лежит в БД. Даже
> копирасты вроде Apple используют SQLite для своих браузеров.

и у вас есть доступ со старницы в SQLit-овскую БД?

Ответить | Правка | Наверх | Cообщить модератору

30. "Google представил Lovefield, SQL-подобную БД для JavaScript"  +/
Сообщение от Cotan (ok), 18-Ноя-14, 17:23 
Нет, этого я не говорил. Было бы глупо давать доступ сайтам к этой информации. Бездонное поле для уязвимостей.
Ответить | Правка | Наверх | Cообщить модератору

33. "Google представил Lovefield, SQL-подобную БД для JavaScript"  +/
Сообщение от Нимо Ан (?), 18-Ноя-14, 18:46 
Кстати вот очень жаль, что нет. При том, что она присутствует и в Firefox и в Chrome и в других браузерах на их основе (т.е. совокупно - на большинстве клиентов) давно пора дать к web-приложениям к ней доступ через нормальный SQL и перестать морочить людям голову. Хотя нет, они сами себе её заморочат - тут же нагородят кучу всяких ORM...
Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

23. "Google представил Lovefield, SQL-подобную БД для JavaScript"  +1 +/
Сообщение от Аноним (-), 18-Ноя-14, 13:45 
Это хорошая и давно ожидаемая новость.

В конечном итоге можно будет писать single-page application с нормальной MVC и постоянным хранением данных на стороне клиента.

Представьте RoR-подобный framework на стороне пользователя.

Ответить | Правка | Наверх | Cообщить модератору

29. "Google представил Lovefield, SQL-подобную БД для JavaScript"  +2 +/
Сообщение от Crazy Alex (ok), 18-Ноя-14, 16:59 
С нормальной - очень вряд ли. Я пока в веб-приложениях ничего нормального не видел. Ни модульности, ни описания GUI, ни работы с данными. Вот костылей - да, много.
Ответить | Правка | Наверх | Cообщить модератору

34. "Google представил Lovefield, SQL-подобную БД для JavaScript"  +1 +/
Сообщение от Okarin (ok), 18-Ноя-14, 18:48 
А их и не будет. До тех пор, пока из сверхпримитивных элементов будем пытаться построить GUI. Пора бы нам признать, что из "языка разметки гипертекста" не выйдет нормального фреймворка для гуевых сетевых приложений.
Ответить | Правка | Наверх | Cообщить модератору

35. "Google представил Lovefield, SQL-подобную БД для JavaScript"  +/
Сообщение от waf (ok), 18-Ноя-14, 23:08 
>В конечном итоге можно будет писать single-page application

Нинада! Вот только что: http://mobile.dzone.com/articles/single-page-web-apps-worst .

Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

26. "Google представил Lovefield, SQL-подобную БД для JavaScript"  +/
Сообщение от Аноним (-), 18-Ноя-14, 14:53 
> в Chrome 37+, Firefox 31+ и IE 10+

Opera 12 нет, значит не нужно.

Ответить | Правка | Наверх | Cообщить модератору

31. "Google представил Lovefield, SQL-подобную БД для JavaScript"  +/
Сообщение от Anonim (??), 18-Ноя-14, 17:26 
Толсто или тонко? А браузер (O12) до сих пор рабочий.
Ответить | Правка | Наверх | Cообщить модератору

32. "Google представил Lovefield, SQL-подобную БД для JavaScript"  +/
Сообщение от Okarin (ok), 18-Ноя-14, 18:42 
Так есть уже куки, Local Storage, IndexedDb и Web SQL Database. Но нужно больше хранилищ!

Кстати, "db.select().from(card).where(card.id.eq('12345'));" - не SQL ни разу, это как раз пародия на без того убогий API MongoDB. Зачем он на клиенте - я правда не знаю.

Ответить | Правка | Наверх | Cообщить модератору

37. "Google представил Lovefield, SQL-подобную БД для JavaScript"  +/
Сообщение от Анонисимус (?), 20-Ноя-14, 06:44 
Вот как раз на замену Web SQL Database, его же выпилить собираются, а первые два ключ-значение.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру