Я ищу в конечном итоге согласованное хранилище данных о ключевых значениях, и я решил выбрать между Amazon SimpleDB и Riak, чтобы любой мог поделиться своим ценным опытом, сравнивая оба.
Заранее спасибо Федрик
Я ищу в конечном итоге согласованное хранилище данных о ключевых значениях, и я решил выбрать между Amazon SimpleDB и Riak, чтобы любой мог поделиться своим ценным опытом, сравнивая оба.
Заранее спасибо Федрик
Riak - это хранилище ключей и значений. Значения данных, которые вы храните, непрозрачны для базы данных, поэтому у вас нет вторичных индексов. Но у вас есть возможность запустить map-reduce, если ваши данные JSON (или, я думаю, XML). Вы можете запустить map-reduce для всех данных или только для их подмножества («исходных ключей»). Он также имеет функцию «перехода по ссылкам», при которой документы могут ссылаться на другие документы, которые можно выбрать автоматически. В настоящее время у них нет инкрементного сокращения карты, такого как CouchDB, что означает, что любые вторичные запросы (не ключевые) довольно дороги. У них есть планы исправить это.
SimpleDB фактически находится на полпути между хранилищем документов и хранилищем ключей: каждый элемент key-> поддерживает несколько атрибутов, но идет только на один уровень. Вы можете запросить свой ключ или значения атрибутов.
В процессе производства Riak должен быть довольно "невнимательным". Если он медленный или заполняется, просто запустите новый сервер и скажите ему присоединиться к кластеру. (в отличие от CouchDB или MongoDB, где вам нужно работать с несколькими файлами конфигурации).
SimpleDB может выдержать нагрузку (десятки тысяч запросов в секунду, как я слышал), но вы несете ответственность за масштабирование данных (т.е. не нарушайте ограничения на размер домена, иначе оно замедлится).
Я использую SimpleDB около 6 месяцев. Я собираюсь запустить его в производство. Он работает хорошо, но я бы хотел, чтобы это было быстрее. Я выполняю запросы типа% like% для поиска, и мне кажется, что я не могу заставить его погрузиться в значения, превышающие несколько МБ в секунду. Но поисковые запросы, отличные от% like%, выполняются намного быстрее. У меня такое чувство, что это можно было бы ускорить, если бы кто-нибудь в Amazon написал несколько алгоритмов на старом-добром c, а не на Erlang, но опять же, я являюсь программистом на c.
Кроме того, первые несколько запросов к недавно открытому домену займут больше времени, поскольку система все это считывает.
В целом это сработало для меня, но если я хочу масштабироваться выше, мне придется пойти на что-то другое.
Кроме того, я думаю, что почти все, что я использую, будет бесплатно - здесь много места и т. Д.
Убедитесь, что вы спланировали, что SimpleDB в настоящее время не имеет режимов доступа «только для чтения» и т. Д. Любой пользователь, который может его использовать, может его редактировать.
--Том