Сравнение самостоятельных распределенных хранилищ для datomic?

Из того, что я знаю о списке поддерживаемых систем хранения, кажется, что следующее может быть < strong>размещаются самостоятельно и распространяются.

  • Кассандра
  • Риак
  • Couchbase
  • Кластер памяти Infinispan

Для тех, кто не знает большинство из них, в чем их отличия, когда дело доходит до использования только для Datomic. Datomic не слишком заботится о соответствующих функциях систем хранения, поскольку они используются только как «тупое» хранилище ключей/значений.

Итак, что важно для меня

  • простота настройки
  • простота обслуживания
  • представление

Особенно с точки зрения «простоты настройки», вероятно, существуют значительные различия, поскольку, согласно странице Datomic, для некоторых из них требуется кластер ZooKeeper, для работы одного требуется как минимум 3 узла и т. д.

Ответы приветствуются, даже если они не охватывают все упомянутые варианты хранения.


person Evgeniy Berezovsky    schedule 16.11.2016    source источник


Ответы (2)


Я согласен с рекомендациями Августа.

Я бы также добавил, что если самостоятельный хостинг не является жестким требованием, настройка Datomic на AWS с использованием DynamoDB, как правило, является самым быстрым путем.

-M

person Marshall    schedule 16.11.2016

Если вы ищете простоту установки, обычная база данных SQL, вероятно, будет хорошим выбором. Datomic может использовать большинство популярных баз данных SQL в качестве хранилища (используя JDBC из JVM), поэтому можно использовать MySQL, PostgreSQL и т. д. Они широко доступны, и обычно их легко установить и запустить на большинстве установок.

Что касается производительности, у меня нет большого опыта, чтобы поделиться, только мои мысли. Мне кажется, что основным узким местом, вероятно, будет сам Datomic, так как он записывает транзакции в хранилище в один поток. Я не могу себе представить, что использование кластера Riak из 5 серверов будет намного быстрее, чем SQL-сервер. Что касается чтения, Datomic поддерживает кэширование памяти между хранилищем и одноранговыми узлами, поэтому разница минимальна как для чтения, так и для записи.

Самостоятельное хранилище предназначено для конфигураций разработки/тестирования/постановки. Внутри он использует интерфейс SQL и H2 непосредственно в транзакторе. H2 считается стабильным, но у меня была повреждена база данных H2 в тесте/постановке, когда сервер неожиданно перезапустился, поэтому я бы не рекомендовал его для производства.

person August Lilleaas    schedule 16.11.2016
comment
Я прошу конкретно распределенную систему хранения, потому что я хочу, чтобы она была устойчивой к сбоям в работе машины. Это, конечно, можно сделать с большинством систем баз данных SQL, но это не так просто настроить и поддерживать. Еще одно преимущество заключается в том, что вы можете легко масштабировать распределенные системы и, таким образом, повышать производительность чтения (для данных, которые не кэшируются рассматриваемым одноранговым узлом Datomic). Что касается самостоятельного хостинга, то я имею в виду не внутрипроцессный, а внутренний хостинг, в отличие от некоторых облачных систем, таких как DynamoDB. - person Evgeniy Berezovsky; 17.11.2016