2012-04-28 2 views
2

У меня возникли трудности с выяснением, следует ли использовать APPFabric-кеширование или SQL Server в контексте наших потребностей (учитывая тот факт, что в настоящее время мы используем SQL-сервер для большинства вещей).APPFabric Caching или SQL-сервер - Конкретный сценарий

Нам нужно (пока) кешировать небольшие фрагменты данных (~ 16 КБ), каждый из которых соответствует информации, связанной с конкретным запросом, который был отправлен с одного из аппликативного сервера (исходящий запрос).

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

ОДНАКО мы просто должны постоянно хранить информацию о размере ~ 16 КБ только один раз (очень редкие возможности обновлений) и иметь доступ к нему с любого прикладного сервера, но для доступа к нему только один раз в огромном в большинстве случаев. Так что в основном большую часть времени это будет одна запись с аппликативного сервера (кэширование), а затем, одна из которых читается с того же или другого аппликативного сервера.

В этом конкретном контексте будет ли получен переход от кластера кэша AppFabric вместо прямого перехода к базе данных (учитывая, что это будет простой оператор insert/select)?

Помня о масштабируемости, что означает, что в настоящее время мы не имеем высокой пропускной способности операций put_data/get_data (~ 160ops/sec), но мы можем достичь 1K/s .. 10k/s и, возможно, больше в ближайшем будущем.

Заранее благодарим за ответы.

ответ

1

Усиление AppFabric Cache по сравнению с SQL DB будет временем доступа. У вас будет более быстрое время доступа для AppFabric, поскольку он хранит все в памяти (ОЗУ), тогда как SQL должен запрашивать свои данные с диска.

Недостатком AppFabric Cache является то, что вы можете потерять данные, если только вы не внедрили HA (высокая доступность) в своем кластере, чтобы избежать потери данных при сбоях системы. БД SQL выигрывает здесь, потому что поддерживает восстановление данных (через журналы резервного копирования - LDF), если система базы данных терпит неудачу.

Если вам нужна гарантированная доставка сообщений, вам, вероятно, не следует использовать кластер AppFabric Cache, а SQL DB для временной настойчивости из-за надежной поддержки восстановления данных.