URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 102172
[ Назад ]

Исходное сообщение
"Выпуск СУБД RethinkDB 2.0"

Отправлено opennews , 20-Апр-15 23:54 
Доступен (http://rethinkdb.com/blog/2.0-release/) выпуск документо-ориентированной СУБД RethinkDB 2.0 (http://rethinkdb.com/), нацеленной на хранение данных в формате JSON и предоставляющей специализированный язык запросов ReQL. Выпуск RethinkDB 2.0 позиционируется как первый релиз, пригодный для промышленного внедрения. Код СУБД написан на языке С++ и распространяется (https://github.com/rethinkdb/rethinkdb/) под лицензией AGPLv3. Библиотеки для работы с RethinkDB официально предоставляются для  JavaScript, Python и Ruby, неофициально сообществом развиваются (http://rethinkdb.com/docs/install-drivers/) драйверы для многих других языков, включая C++, PHP, Perl и Go.

Ключевым отличием  RethinkDB от других СУБД является реализация обратной модели доставки результатов запроса. Если традиционная модель "запрос-ответ" требует  для отслеживания изменений периодической повторной отправки запросов, то RethinkDB  позволяет подписаться на изменения (push-архитектура), т.е. даёт возможность отправить запрос один раз и в live-режиме непрерывно получать информацию об изменении связанных с ним результатов. Подобный подход информирования приложения об изменениях позволяет существенно упростить архитектуру приложений, обрабатывающих данные в режиме реального времени, и уйти от использования внешних очередей сообщений.


Второй важной особенностью RethinkDB является язык запросов ReQL, который интегрируется в объектную модель различных языков программирования. При использовании ReQL запросы формируются (http://www.rethinkdb.com/docs/quickstart/) в форме обращения к объекту, например, для отслеживания изменений в таблице, в который поле "db" равно "prod",  можно выполнить "<font color="#461b7e">r.db('rethinkdb').table('stats').filter({ 'db': 'prod' }).changes().run(conn)</font>", а для выборки записей, в которых значение поля "episodes" больше 100 - "<font color="#461b7e">r.table('tv_shows').filter(r.row('episodes').gt(100))</font>". ReQL поддерживает создание таблиц (каждая запись может иметь свою структуру), группировку результатов, агрегатные функции, возможность (http://www.rethinkdb.com/api/javascript/js/) использования в запросах кода на JavaScript и регулярных выражений.
Для обработки JavaScript-функций используется движок V8.


Некоторые другие (http://rob.conery.io/2015/04/17/rethinkdb-2-0-is-amazing/) особенности (http://rethinkdb.com/docs/comparison-tables/)  RethinkDB:


-  Возможность управления работой СУБД, в том числе анализ статистики и  перенос данных между узлами в кластере, через встроенный Web- или CLI-интерфейс.
<center><a href="http://rethinkdb.com/assets/images/landing/rethinkdb-ui_... src="http://www.opennet.dev/opennews/pics_base/0_1429559972.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>
-  API для монтиринга за работой СУБД;
-  Удобная система настройки репликации на другой сервер или шардинга данных в кластере. Поддержка как асинхронной, так и синхронной репликации;
-  Механизм кэширования запросов с произвольной настройкой размера кэша;

-  Возможность подсоединения клиента к любому узлу кластера. Все запросы будут автоматически маршрутизированы на нужные узлы. Если запросом охвачены данные на нескольких узлах, то запрос будет разделён на подзапросы к разным серверам, которые будут выполнены параллельно, а затем агрегированы для получения сводного результата;
-  Возможность использования механизма map-reduce (http://rethinkdb.com/docs/map-reduce/);
-  Размещение данных в B-Tree и хранение с использованием лог-подобных структур, созданных с оглядкой на архитектуру Btrfs. Наличие выполняемого в фоне инкрементального сборщика мусора и упаковщика данных. Гарантирование непротиворечивости данных после сбоя;

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


URL: http://rethinkdb.com/blog/2.0-release/
Новость: http://www.opennet.dev/opennews/art.shtml?num=42072


Содержание

Сообщения в этом обсуждении
"Выпуск СУБД RethinkDB 2.0"
Отправлено Аноним , 20-Апр-15 23:54 
Убийца MongoDB. Как-то необычайно по описанию хорош, в чём подвох?


"Выпуск СУБД RethinkDB 2.0"
Отправлено Аноним , 21-Апр-15 00:37 
Из минусов:
Пока-что нет встроенного полнотекстового индекса. Можно использовать внешний, например Elasticsearch.
Изменения структуры шардинга производится вручную. Автоматическую систему (на базе Raft) добавят в одном из следующих релизов.
Подсистема сохранения данных по описанию очень даже неплоха. Но пока нет никаких сравнений с WiredTiger из MongoDB 3.0.

"Выпуск СУБД RethinkDB 2.0"
Отправлено Аноним , 21-Апр-15 00:45 
Ещё добавлю:
разбивка данных по шардам производится по самому ключу (range, например А-К, Л-Т, У-Я) вместо хеша ключа (consistent hash) что имеет как плюсы, так и минусы (потребует перебалансировки) - планируют изменить.

"Выпуск СУБД RethinkDB 2.0"
Отправлено Хамоватый Аноним , 21-Апр-15 00:45 
>Убийца MongoDB. Как-то необычайно по описанию хорош, в чём подвох?

Ловись рыбка: большая и маленькая...


"Выпуск СУБД RethinkDB 2.0"
Отправлено jOKer , 21-Апр-15 06:01 
Как всегда, - в соответствии требованиям ACID

"Выпуск СУБД RethinkDB 2.0"
Отправлено Crazy Alex , 21-Апр-15 12:41 
Ну так чуть ли не весь поинт NoSQL в своё время был, что ACID нужен далеко не всегда. и, опять же, у монги с ним тоже не фонтан.

"Выпуск СУБД RethinkDB 2.0"
Отправлено Аноним , 21-Апр-15 15:28 
Это все булшит и маркетинг.

"Выпуск СУБД RethinkDB 2.0"
Отправлено Аноним , 21-Апр-15 08:22 
Мистер франкинштейн отдыхает. Какую техническую проблему решает данная БД лучше других БД я так и не понял.

"Выпуск СУБД RethinkDB 2.0"
Отправлено ДругойАноним , 21-Апр-15 00:49 
Хм, русские основали что-ли?

Slava Akhmechet
Founder at RethinkDB

Michael Glukhovsky
Founder at RethinkDB


"Выпуск СУБД RethinkDB 2.0"
Отправлено Аноним , 21-Апр-15 00:54 
> Хм, русские основали что-ли?

Таки да


"Выпуск СУБД RethinkDB 2.0"
Отправлено Аноним , 21-Апр-15 09:22 
Но не в Российской Федерации

"Выпуск СУБД RethinkDB 2.0"
Отправлено asdasd , 21-Апр-15 09:36 
Шишкин тоже не в РФ работает, только вот образование в МГУ получил.

"Выпуск СУБД RethinkDB 2.0"
Отправлено Аноним , 21-Апр-15 01:53 
Не жабе, в отличие от многих noSQL, которые на ней - годно.

"Выпуск СУБД RethinkDB 2.0"
Отправлено Аноним , 21-Апр-15 01:54 
Не на жабе, в смысле.

"Выпуск СУБД RethinkDB 2.0"
Отправлено fi , 21-Апр-15 02:03 
Ну и как, лучше чем Pg 9.4 ищет по json?
MongoDB вроде слилась.

"Выпуск СУБД RethinkDB 2.0"
Отправлено Аноним , 21-Апр-15 08:13 
Не несите чушь про слив. В pg jsonb дополнительный тип и не кто в здравом уме не будет его пихать по все дыры. С монго совсем друга история. Поражает дурость людская и попытки забивать гвозди микроскопом. А можно я буду забивать гвозди микроскопом? Можно разрешаю, но не рекомендую.

"Выпуск СУБД RethinkDB 2.0"
Отправлено Aleks Revo , 22-Апр-15 15:52 
Таки не несите чушь про Постгрес. В постгресе добрая часть всех возможностей - «дополнительные». Пользуйтесь MySQL ISAM, если дополнительные возможности не нужны )))

Лезут тут всякие, панимашь, гвозди забивать без молотка. Молоток им, видите ли, слишком круто для забивания гвоздей.


"Выпуск СУБД RethinkDB 2.0"
Отправлено Кирилл , 14-Июн-15 13:41 
> Не несите чушь про слив. В pg jsonb дополнительный тип и не
> кто в здравом уме не будет его пихать по все дыры.
> С монго совсем друга история. Поражает дурость людская и попытки забивать
> гвозди микроскопом. А можно я буду забивать гвозди микроскопом? Можно разрешаю,
> но не рекомендую.

)))) Там всё -- "дополнительный тип". Чем и ценна.


"Выпуск СУБД RethinkDB 2.0"
Отправлено Аноним , 21-Апр-15 03:59 
> созданных с оглядкой на архитектуру Btrfs.

Как видим, у Мэйсона есть чем поживиться :)


"Выпуск СУБД RethinkDB 2.0"
Отправлено Аноним , 21-Апр-15 07:02 
Юзер285, хватит уже к чужой славе примазываться. Ну полно же.

"Выпуск СУБД RethinkDB 2.0"
Отправлено cmp , 21-Апр-15 07:43 
Шикарно, у них даже репа к центосу есть

"Выпуск СУБД RethinkDB 2.0"
Отправлено Игорь , 21-Апр-15 08:56 
Что такое "API для монтиринга" ?

"Выпуск СУБД RethinkDB 2.0"
Отправлено Аноним , 21-Апр-15 10:11 
нужна база которая будет автоматом раскидывать ключи по серверам, перебалансировать ключи при добавлении/удалении серверов, поддерживать транзакционное изменение ключей на нескольких серверах - вот что нужно, пока это можно сделать только на postgres ручками

"Выпуск СУБД RethinkDB 2.0"
Отправлено funny_falcon , 21-Апр-15 12:21 
> транзакционное изменение ключей на нескольких серверах

Как вы это делаете на Postgres? двухфазный коммит? это ведь всё равно не надёжно.
Впрочем, если обеспечить тепличные условия, наверное работает.


"Выпуск СУБД RethinkDB 2.0"
Отправлено Аноним , 21-Апр-15 23:22 
PostgreXL

"Выпуск СУБД RethinkDB 2.0"
Отправлено funny_falcon , 22-Апр-15 15:54 
Сами используете, или слухи?

Если сами используете, то поделитесь опытом/наблюдениями, пожалуйста. Очень любопытно.


"Выпуск СУБД RethinkDB 2.0"
Отправлено Аноним , 21-Апр-15 11:48 
> Ключевым отличием RethinkDB от других СУБД

в MS SQL есть Query Notifications. Наверное имелось в ввиду "от других бесплатных СУБД"


"Выпуск СУБД RethinkDB 2.0"
Отправлено Аноним , 21-Апр-15 13:33 
как бы намекает что не только в MS http://www.postgresql.org/docs/9.0/static/sql-notify.html

"Выпуск СУБД RethinkDB 2.0"
Отправлено Аноним , 21-Апр-15 13:37 
>> Ключевым отличием RethinkDB от других СУБД
> в MS SQL есть Query Notifications. Наверное имелось в ввиду "от других
> бесплатных СУБД"

Как любят прибежать и рассказать что у них продукт тоже такое умеет и намекнуть что их конкуренты какаха. MS то платит хотя бы или вы за бесплатно пиарите?


"Выпуск СУБД RethinkDB 2.0"
Отправлено человек , 24-Апр-15 09:52 
Вы кажетесь расстроенным. Обидно наверное что революционной фичей всякие проприетарщики пользуются уже давно.

"Выпуск СУБД RethinkDB 2.0"
Отправлено Кирилл , 14-Июн-15 13:34 
> Вы кажетесь расстроенным. Обидно наверное что революционной фичей всякие проприетарщики
> пользуются уже давно.

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


"Выпуск СУБД RethinkDB 2.0"
Отправлено Аноним , 22-Апр-15 08:39 
Тупорылый далбаеб, что ты несеш

"Выпуск СУБД RethinkDB 2.0"
Отправлено Кирилл , 14-Июн-15 13:33 
В любой СУБД, в которой есть процедурные расширения, сделать аналог Наблюдателя не составляет труда. Но зачем это нужно? Это создаёт совершенно нерациональную инфраструктуру, которая банально 99% времени просто простаивает. Поэтому ни в одной "взрослой" СУБД подобная функциональность не стала востребованной, хотя в разные годы и предлагалась довольно назойливо.

"Выпуск СУБД RethinkDB 2.0"
Отправлено Аноним , 20-Май-16 11:29 
интересная штука на самом деле. с простым и логичным применением :=)nested обтектные поверх сеансового/событийного - смотрится колоритно. надо еще нативных ЯП поддержку расширять. я бы забрал фортрана и хаскеля и мб эрангда, наверное. про логику(процедуры)в теле запроса - потенциально головная боль для развивающих, но идея свежая =)