2012-02-07 73 views
4

我想将我的数据存储在SQL数据库和NoSQL数据库中。这种情况可以描述为Polyglot持久性。是否有任何实现Polyglot持久性的代码示例。多语言持久性示例

如果你不知道持续多语种请仔细阅读本link

+0

非常有趣的发现。你是否介意与我们分享为什么你需要存储这两种类型的数据库? – 2012-04-30 20:28:05

+0

不是代码示例,但请参阅幻灯片56中的这个幻​​灯片:http://martinfowler.com/bliki/PolyglotPersistence.html。它举例说明Twitter和Interactive Mediums(现在是SignalHQ,一种CRM)如何使用它。 – mahemoff 2012-06-26 17:14:51

回答

1

处理大规模数据时,这种技术是很常见的。但是,解决方案非常专业,所以我不能真正想到为什么会有一个通用的代码库。唯一的例外可能是将memcached放在其他数据存储之前。

做一个你正在谈论的一个常见的例子是配置一个Apache Solr服务器以保持与基于SQL的数据库同步。然后,您可以对Solr进行关键字/子字符串/同义词/词干/ etc查询的评分,但是可以在SQL中进行聚合。

另一个例子是使用相同的数据存储,但以多个聚合格式存储相同的数据。例如,拥有一个按日期汇总的数据集(每天获取记录)也可以由用户(每个用户获取记录)进行存储。根据您想要运行的查询,您可以选择能够提供最佳性能的设置。如果数据足够大,保持两套数据同步的开销就会超过查询速度。