【发布时间】:2011-08-06 15:20:31
【问题描述】:
假设我有一个遗留应用程序,由于各种原因,以前的开发人员决定必须有一个任意灵活的模式,他们再次重新发明了实体-属性-值模型。他们实际上是在尝试构建一个文档存储库,Mongo 或 Couch 等工具现在更适合当今世界,但以前的团队不可用或不知道。
为了保持竞争力,假设我们需要构建更强大的方法来查询和分析系统中的信息。从属性的数量和种类来看,似乎 map/reduce 更适合我们的问题,而不是逐渐将系统重构为更具关系的模式。
原始源数据库有数百万个文档,但只有少数不同的文档类型。不同的文档类型有一些共同点。
从 MySql 中的大规模 EAV 实施迁移到像 Mongo 或 Couch 这样的面向文档的存储的有效策略是什么?
我当然可以想出一种方法来解决这个问题,但我真的很想看到一个教程或战争故事,向已经解决过这类问题的人学习。
有哪些策略可以很好地进行这种转换?你学到了什么?我应该避免哪些陷阱?您如何处理仍希望能够与现有数据库交互的旧版应用程序?
【问题讨论】:
标签: mongodb couchdb entity-attribute-value