RethinkDB

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
RethinkDB
Тип Распределённая система управления базами данных[вд]
Написана на C++, JavaScript, Bash
Операционные системы Unix, Linux, OS X, BSD, Windows
Первый выпуск 24 июля 2009 (2009-07-24)[1]
Последняя версия 2.4.4 (декабрь 11, 2023 (2023-12-11))
Репозиторий github.com/rethinkdb/ret…
Состояние активно разрабатывается[2]
Лицензия Apache License 2.0 (клиентский драйвер), GNU Affero General Public License (сервер)
Сайт rethinkdb.com

RethinkDB — распределённая документоориентированная СУБД с открытым исходным кодом, сохраняющая данные в бессхемном JSON-формате.

Ориентирована на применение для веб-приложений, требующих интенсивных обновлений базы данных. Отличительная особенность — поддержка реактивного стиля: база данных позволяет клиентскому приложению подписываться на изменения тех или иных данных[3].

Транслятор языка запросов в RethinkDB, называемого ReQL, реализован не на уровне сервера, а встраивается в качестве предметно-ориентированного языка в язык, на котором пишется клиентское приложение. Запросы ReQL представляют собой цепочку вызовов функций. ReQL официально реализован (в составе драйвера базы данных) на Java, Ruby, Python и JavaScript (включая Node.js), есть также неофициальные драйвера для других языков, в частности для C#, Go, Haskell, Erlang, Lua и PHP.

Таблицы базы данных хранят JSON-документы, допускающие любой уровень вложенности. Каждый документ имеет уникальный для таблицы-родителя первичный ключ «id», ссылаясь на который можно получить конкретный документ. Каждая функция ReQL-запроса работает с данными, полученными из предыдущей функции цепочки.

Драйвер базы данных транслирует запрос в специальный формат «RethinkDB’s JSON wire protocol format», реализованный поверх JSON.

Примечания

[править | править код]
  1. Jeremy Zawodny, RethinkDB: Rethinking the Database using Modern Assumptions Архивная копия от 9 ноября 2016 на Wayback Machine, Linux Magazine, August 24, 2009
  2. Announcing RethinkDB 2.3.6: the first release under community governance - RethinkDB. Дата обращения: 21 августа 2017. Архивировано 17 июля 2017 года.
  3. Peter Wayner. 11 cutting-edge databases worth exploring now. InfoWorld (21 сентября 2015). Дата обращения: 8 ноября 2016. Архивировано 8 ноября 2016 года.

Литература

[править | править код]