Посоветуйте пожалуйста распределенное сетевое хранилище. Необходимо хранить данные в формате ключ - значение. Необходима возможность заблокировать ключ, прочитать его состояние, возможно изменить его и снять блокировку, любая параллельная попытка заблокировать ключ для изменения должна ожидать снятия блокировки. При обрыве соединения блокировка должна сниматься. В идеале это должна быть транзакция аналогичная:begin; select for update; update; commit;
Должна быть возможность добавлять сервера и перераспределять на них данные как с целью ускорения операций так и с целью повышения надежности.
В настоящий момент используется получение хеша ключа, вычисление по хешу mecached сервера и postgresql сервера.
Соответственно SQL и memcached/redis не предлагать, интересуют другие решения.