Riak против Amazon SimpleDB

Я ищу в конечном итоге согласованное хранилище данных о ключевых значениях, и я решил выбрать между Amazon SimpleDB и Riak, чтобы любой мог поделиться своим ценным опытом, сравнивая оба.

Заранее спасибо Федрик


person Fedrick    schedule 23.02.2010    source источник
comment
Я ничего не знаю о Риаке больше, чем то, что я читал на сайте. Наиболее очевидное различие заключается в том, что один - это услуга с оплатой по мере использования, а другой - продукт с открытым исходным кодом.   -  person Mocky    schedule 23.02.2010


Ответы (2)


Riak - это хранилище ключей и значений. Значения данных, которые вы храните, непрозрачны для базы данных, поэтому у вас нет вторичных индексов. Но у вас есть возможность запустить map-reduce, если ваши данные JSON (или, я думаю, XML). Вы можете запустить map-reduce для всех данных или только для их подмножества («исходных ключей»). Он также имеет функцию «перехода по ссылкам», при которой документы могут ссылаться на другие документы, которые можно выбрать автоматически. В настоящее время у них нет инкрементного сокращения карты, такого как CouchDB, что означает, что любые вторичные запросы (не ключевые) довольно дороги. У них есть планы исправить это.

SimpleDB фактически находится на полпути между хранилищем документов и хранилищем ключей: каждый элемент key-> поддерживает несколько атрибутов, но идет только на один уровень. Вы можете запросить свой ключ или значения атрибутов.

В процессе производства Riak должен быть довольно "невнимательным". Если он медленный или заполняется, просто запустите новый сервер и скажите ему присоединиться к кластеру. (в отличие от CouchDB или MongoDB, где вам нужно работать с несколькими файлами конфигурации).

SimpleDB может выдержать нагрузку (десятки тысяч запросов в секунду, как я слышал), но вы несете ответственность за масштабирование данных (т.е. не нарушайте ограничения на размер домена, иначе оно замедлится).

person Anonymouse    schedule 03.03.2010
comment
Поддержка вторичных индексов была добавлена ​​в Riak 1.0: basho.com/news_riak_v1_0.php - person Savino Sguera; 28.09.2011

Я использую SimpleDB около 6 месяцев. Я собираюсь запустить его в производство. Он работает хорошо, но я бы хотел, чтобы это было быстрее. Я выполняю запросы типа% like% для поиска, и мне кажется, что я не могу заставить его погрузиться в значения, превышающие несколько МБ в секунду. Но поисковые запросы, отличные от% like%, выполняются намного быстрее. У меня такое чувство, что это можно было бы ускорить, если бы кто-нибудь в Amazon написал несколько алгоритмов на старом-добром c, а не на Erlang, но опять же, я являюсь программистом на c.

Кроме того, первые несколько запросов к недавно открытому домену займут больше времени, поскольку система все это считывает.

В целом это сработало для меня, но если я хочу масштабироваться выше, мне придется пойти на что-то другое.

Кроме того, я думаю, что почти все, что я использую, будет бесплатно - здесь много места и т. Д.

Убедитесь, что вы спланировали, что SimpleDB в настоящее время не имеет режимов доступа «только для чтения» и т. Д. Любой пользователь, который может его использовать, может его редактировать.

--Том

person Tom Andersen    schedule 13.09.2010
comment
То, что SimpleDB не имеет режима доступа «только для чтения», неверно. Amazon развернул поддержку AWS Identity and Access Management (IAM) в SimpleDB 3 сентября 2010 г. Прочтите это: developer.amazonwebservices.com/connect/ann.jspa?annID=755 - person Ashley Tate; 14.10.2010
comment
Замечательно. Я как-то пропустил исходное сообщение. Возможности IAM решают для нас множество проблем. Часть только для чтения великолепна. Кроме того, он работает со всеми видами услуг. - person Tom Andersen; 16.10.2010
comment
Подробный SO-ответ об использовании IAM для доступа только для чтения http://stackoverflow.com/questions/4988367/anonymous-read-with-amazon-simpledb - person toolbear; 22.11.2011