什么是用于的NoSql Key / Value数据库

时间:2012-08-29 01:44:42

标签: nosql key-value-store

我现在在网上听到很多关于nosql密钥/值数据库的信息。你能举例说明一个人的用途吗?什么样的现实世界数据最适合这类数据库?

1 个答案:

答案 0 :(得分:5)

我认为'What the heck are you actually using NoSQL for'对于NoSQL数据库的现实使用案例是一个很好的读物。我在这里引用其中的一些内容:

  • 管理大量非事务性数据流:Apache日志,应用程序日志,MySQL日志,点击流等。

  • 同步在线和离线数据。这是CouchDB针对的利基市场。 所有负载下的快速响应时间。

  • 当复杂联接的查询加载对于RDBMS而言变得太大时,避免重度联接。

  • 低延迟至关重要的软实时系统。游戏就是一个例子。

  • 需要支持各种不同的写入,读取,查询和一致性模式的应用程序。有些系统针对50%读取进行了优化,50%写入,95%写入或95%读取。

  • 需要极高速度和弹性的只读应用程序,简单 查询,并可以容忍稍微陈旧的数据。

  • 完全需要中等性能,读/写访问,简单查询的应用程序 权威数据。

  • 只读应用程序的复杂查询要求。

  • 负载平衡以适应数据和使用浓度,并帮助保持微处理器的忙碌。

  • 实时插入,更新和查询。

  • 分层数据,如线索讨论和零件爆炸。

  • 动态表格创建。

  • 通过快速NoSQL接口提供低延迟数据的两层应用程序,但数据本身可由高延迟Hadoop应用程序或其他低优先级应用程序计算和更新。

  • 顺序数据读取。需要选择正确的基础数据存储模型。 B树可能不是顺序读取的最佳模型。

  • 将可能需要更高性能/可扩展性的部分服务切换到自己的系统上。例如,用户登录可能需要具有高性能,此功能可以使用专用服务来实现这些目标。

  • 缓存。用于网站和其他应用程序的高性能缓存层。示例是大型强子对撞机使用的数据聚合系统的缓存。

  • 投票。

  • 实时网页浏览计数器。

  • 用户注册,个人资料和会话数据。

  • 文档,目录管理和内容管理系统。存储复杂文档的能力有一个整体而不是有组织的关系表,从而促进了这些。类似的逻辑适用于库存,购物车和其他结构化数据类型。

  • 归档。存储仍可在线访问的大量连续数据流。

  • 面向文档的数据库,具有灵活的架构,可以随时间处理架构更改。

  • 分析。使用MapReduce,Hive或Pig执行支持高写入负载的分析查询和横向扩展系统。