【问题标题】:Can you use a key-value store as the primary database for your application?您可以使用键值存储作为应用程序的主数据库吗?
【发布时间】:2011-04-26 13:38:51
【问题描述】:
我正在开发一个将部署到 Amazon EC2 的应用程序。我已经很好地了解了 membase,它是一个可以很容易扩展的键值存储。但是,我不确定您是否可以将其用作主要(或至少,唯一)数据存储。即,您将需要能够保存可搜索/可查询数据的其他东西。
我错过了什么吗?为了让您查询数据,您需要有索引,但据我所知,键值存储没有索引功能。我是要手动实现索引还是尝试使用错误的工具来完成这项工作?
【问题讨论】:
标签:
design-patterns
database-design
amazon-ec2
scalability
【解决方案1】:
我需要手动实现索引还是尝试使用错误的工具来完成这项工作?
大概吧。
纯键值存储可以做到这一点:存储大量具有高可用性和快速访问时间的键控数据。
如果您需要开箱即用的更多功能(例如查询),则需要“向上”移动到基于文档的数据库(这些数据库确实管理索引,并且一些例如 MongoDB 甚至允许即席查询) .
【解决方案2】:
您可以对 MongoDB 进行搜索和查询。也许这可以解决你。 (不要让 FourSquare 的情况让你失望——他们已经解决了。)