Доступен (http://rethinkdb.com/blog/2.1-release/) релиз документо-ориентированной СУБД RethinkDB 2.1 (http://rethinkdb.com/), обеспечивающей хранение данных в формате JSON, предоставляющей специализированный язык запросов ReQL и реализующей модель подписки на изменения (возможность отправить запрос один раз и получать информацию об изменении результатов). Подробнее о возможностях RethinkDB можно прочитать в анонсе (http://www.opennet.me/opennews/art.shtml?num=42072) прошлого выпуска. Код СУБД написан на языке С++ и распространяется (https://github.com/rethinkdb/rethinkdb/) под лицензией AGPLv3.
Новая версия примечательна реализацией средств обеспечения высокой доступности и значительной переработкой средств кластеризации. В числе новых возможностей: режим автоматической замены сбойных узлов в кластере, поддержка добавления и удаления узлов без остановки работы кластера, Asynchronous API для выполнения запросов в асинхронном режиме (клиентская поддержка реализована через EventMachine в Ruby и Twisted, Tornado и через asyncio в Python), поддержка соединения клиентов с использованием шифрованного канала связи, новые математические команды в ReQL (floor, ceil и round).
URL: http://rethinkdb.com/blog/2.1-release/
Новость: http://www.opennet.me/opennews/art.shtml?num=42844
Не холивара ради. Интереуюсь у занатаков, в чем плюсы и минусы в сравнении с монгой?
Например, ReQL - язык запросов, к-й очень похож на SQL, но для манипулирования NoSQL. А самое главное - в RethinkDB нету вот такого - https://aphyr.com/posts/322-call-me-maybe-mongodb-stale-reads
Посмотрел на первый взгляд очень даже интересно выглядит. Есть даже джоины, ну и конечно же интересная фишка по слежению за изенениями. Буду пробовать.
https://www.youtube.com/watch?v=KW5pZXWwq6s
Мой вопрос немного не в тему, но все же, есть ли SQL БД живущие в RAM но которые можно легко дампить и восстанавливать в случае сбоя?
Скоро будут -
http://newsroom.intel.com/community/intel_newsroom/blog/2015...
Вам сюда http://www.memsql.com/
Много "вкусного", в том числе поддержка MySQL-протокола, multi-model scheme-free/lock, clusters, geo-data support, etc etc
> Вам сюда http://www.memsql.com/
> Много "вкусного", в том числе поддержка MySQL-протокола, multi-model scheme-free/lock,
> clusters, geo-data support, etc etcНикогда не слышал а такой СУБД, спасибо
redis же. уже провославный много лет как
С какого часа редис sql умеет?
sql то я и не заметил
а зачем он нужен?
поиск, сортировка, группировка, мерджи
> Мой вопрос немного не в тему, но все же, есть ли SQL БД живущие в RAM но которые можно легко дампить и восстанавливать в случае сбоя?Почти любая БД живёт в RAM пока она туда вмещается.
>> Мой вопрос немного не в тему, но все же, есть ли SQL БД живущие в RAM но которые можно легко дампить и восстанавливать в случае сбоя?
> Почти любая БД живёт в RAM пока она туда вмещается.А задачу "легко дампить и восстанавливать" решаем лёгким и непринуждённым добавлением N шпинделей, где N примерно определяем, как BD/(SPEED*secs), где speed - скорость чтения с 1 диска (мимо его кеша и мимо кеша контролера - они по любому много меньше BD). Например, чтобы 50ГБ "базы" поднять с дисков, читающих 15МБ/c, за 5 минут, 50E9/15e6/300 = 11,(1), двенадцати шпинделей должно хватить. В обрез. Так что лучше 18, чтоб уж точно. (Как я мучаюсь Ж) на 8 шпинделях с 5? или 10? МБ/с и базой 65ГБ! //Советвали же добрые люди - партишонинг и нет проблем. Ай, разгильдай.)
Расчёт флотилии из К серверов с локальными дисками, избыточным копированием, как в ОЗУ, как и на шпиндлях, в вариантах подъёма q серверов с N лок.дисков и M 10Гбит портов с соседних K-q серверов для q в 1..K .... Ой, к чему это я? День Знаний на носу ж! Уважаемые кроты, посчитаем! </не буду я понятнее!>
К чему ты тут это развел непонятно.
> К чему ты тут это развел непонятно.Это он как хороший доктор. Привезли пациента с ножевым ранением, так он ему еще и аппендицит вырезал и подтяжку сделал.
https://www.sqlite.org/inmemorydb.html
stop stop, а где сравнение с Pg9.5 с их JSONB? а монга уже слилась
ArangoDB круче)
Нет.
Или аргументируй.
как у этой базы с атомарным изменением записи? могу ли я сделать условно begin; select for update; update; commit и быть уверенным что я изменю именно то что прочитал в select и никто параллельно не сделает update этой записи?
Це называется транзакции и их там нет.