архитектура кэша "конвейер" - PullRequest
1 голос
/ 17 марта 2010

Я создаю приложение с несколькими специфическими внутренними коммуникационными характеристиками, которые делают обычные подозреваемые для хранения данных и транспортировки (Qs и RDBMS) плохо приспособленными. Мне интересно, есть ли продукт, который соответствует следующим характеристикам:

  • все введенные в него данные постоянны
  • все чтения доставляются из памяти
  • данные общедоступны
  • данные живут там, где они больше всего нужны
  • данные версионированы (приятно иметь)
  • обновления являются транзакционными (мне нужны характеристики ACID)
  • данные потенциально реплицируются, но всегда синхронизируются
  • работает на windows
  • основан или имеет привязки для .NET
  • действительно быстро
  • действительно устойчив
  • избыточно
  • масштабируется

Я смотрю на такие вещи, как Кодовое имя Microsoft "Velocity" , но я не уверен, соответствует ли он всем вышеперечисленным характеристикам. Кроме того, Memcached также не идеально подходит. Текущая версия этого приложения выбирает СУБД с системой сигнализации для межсистемной синхронизации, но задержка слишком высока, и управление версиями БД является проблемой. Мне нужна вся надежность, но без компромиссов.

1 Ответ

1 голос
/ 17 марта 2010

Velocity / AppFabric даст вам многое из этого, но я не уверен, что это то, что вы хотите - оно разработано, чтобы дополнять хранилище данных, а не заменять его. Он отвечает многим вашим потребностям, в частности масштабируемости и избыточности (хотя для полной избыточности вам придется платить за Windows Server Enterprise), но нет механизма постоянства или поддержки транзакций. Возможно, вы могли бы написать несколько методов расширения для транзакций, но в этот момент мне кажется, что вы боретесь с продуктом, а не работаете с ним.

Имейте также в виду, что он не ожидается до 3-го квартала этого года, и в настоящее время в Beta 2 нет действующей лицензии.

Я подозреваю , что memcached также будет иметь некоторые из тех же ограничений.

...