The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск СУБД 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.ru/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.ru/opennews/art.shtml?num=42072

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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