在nosql数据中使用关系数据库,如schema

时间:2013-07-26 18:29:07

标签: nosql redis scalability analytics bigdata

我正在尝试创建一个基于redis的数据存储区,其中包含多个字段,可用于根据其值获取实体。数据就像是;

Person<Entity>
 Name
 Address
 Purchases<Another Entity>
 Reviews<list of another Entity>

在其他实体中也会存在同样的情况,因为这将是不同实体之间的多对多关系。

我不考虑传统数据库,因为我正在寻找这种示例中的可伸缩性和容错性。 我正在创建的是以下内容 Hash of Entity id映射到每个实体对象 包含说“人”和“购买”的关联以及另一个“购买者”等的关联 - 一个用于多对多关系的双方。

由于这个设计会涉及很多开销,我怀疑存在一些保持这种非标准化的缺陷。至于在数据库上使用内存存储的选择,我认为查询响应时间具有临界值。我正在寻找有关我的设计的建议,因为我正在实施此示例以了解如何处理bigdata挑战。

1 个答案:

答案 0 :(得分:4)

  

我正在寻找有关我的设计的建议,因为我正在实施此项目   学习如何处理bigdata挑战的例子。

您认为您的挑战是大数据的基础是什么?我们谈论了多少数据?在将关系数据库作为可能满足您需求的解决方案进行折扣之前,您需要首先问自己这个问题。

  

我不是在考虑我正在寻找的传统数据库   这种例子中的可扩展性和容错性。

Redis和关系数据库具有相同的可伸缩性问题;除非您实现或使用自定义分片技术,否则它们不能水平扩展。 Redis Cluster旨在解决此问题,但这是一项正在进行的工作,尚未准备好生产,与此同时您可以使用twemproxy。它是由Twitter开发的,它是在一组redis服务器上分发密钥的代理解决方案。

  

我正在尝试创建一个包含多个字段的基于redis的数据存储区   可用于根据实体值获取实体。

Redis不是基于值,句点来查询的;阅读thisthis以更好地理解原因。