我正在考虑使用Couchbase作为缓存层。我知道Couchbase提供的许多优势,比如易于扩展性。但更让我感兴趣的是Couchbase的丰富文档模型,与Memcached的简单键值模型相比。
我的关系型数据库管理系统是SQL Server,我们使用NHibernate。查询和数据库已经相当优化了,我认为缓存是进一步扩展的最佳选择。
我的项目是在实体之间实现一个简单的关系模型(比RDBMS中的模型简单得多),以处理无效操作。当应用程序使一个实体无效(从缓存中删除)时,所有相关实体也可以被删除。定义实体之间依赖关系的逻辑将由专门的组件在应用程序级别处理。大约会有10到12个不同的实体(我不想缓存所有应用程序域)。
我的Couchbase文档模型如下:
- 键(应用程序生成的键),键的格式取决于实体类型 - 散列键(为了获得统一的唯一键) - 实体 - 依赖项 - 要在删除主要实体时删除的实体的散列键列表
所以我的问题是:
- 在失效时,我们需要解决依赖关系图(异步)。查找大约500k个实体的特定键是否快速? - 对于这个想法有什么反馈?
维护实体之间的依赖关系可能会变得非常简单,而且可能并不是一个很大的问题。
Pierre
我的关系型数据库管理系统是SQL Server,我们使用NHibernate。查询和数据库已经相当优化了,我认为缓存是进一步扩展的最佳选择。
我的项目是在实体之间实现一个简单的关系模型(比RDBMS中的模型简单得多),以处理无效操作。当应用程序使一个实体无效(从缓存中删除)时,所有相关实体也可以被删除。定义实体之间依赖关系的逻辑将由专门的组件在应用程序级别处理。大约会有10到12个不同的实体(我不想缓存所有应用程序域)。
我的Couchbase文档模型如下:
- 键(应用程序生成的键),键的格式取决于实体类型 - 散列键(为了获得统一的唯一键) - 实体 - 依赖项 - 要在删除主要实体时删除的实体的散列键列表
所以我的问题是:
- 在失效时,我们需要解决依赖关系图(异步)。查找大约500k个实体的特定键是否快速? - 对于这个想法有什么反馈?
维护实体之间的依赖关系可能会变得非常简单,而且可能并不是一个很大的问题。
Pierre