【发布时间】:2017-09-29 13:25:59
【问题描述】:
我必须设计一个数据库才能进行报告。数据多种多样(从帐户到日志或社交媒体帖子)。量约为每天 100 万行。
在我看来:
SQL 专家:
用户的主要目标是发出这种请求:拥有 Skype 帐户的用户数量和超过 4Go 的存储空间。它涉及大量的连接,在这种情况下结构数据库更加连贯。
SQL 数据库对于本卷来说已经足够强大了
要存储与帐户关联的身份,我认为 SQL 结构更合适。
NoSQL 专家:
JSON 格式是一种资产,因为数据源由多值文档提供,并且某些字段可以轻松删除/添加。
数据库已“打开”,因此可以将新服务添加到数据库中。它涉及更多的体积,未知的数据。(nosql 可扩展性)
某些工具(如 kibana / 弹性搜索)似乎与 nosql 技术兼容。
我很难决定,一方面似乎很难将所有身份(+帐户+订单+其他信息)放在一个文档中,另一方面,一旦解决了这个问题,它似乎又强大又有趣( Json,可扩展性...)。
我会接受任何建议;)
【问题讨论】:
-
对此类问题的回答往往反映个人偏好。即使有一个明确的“那个”,如果没有很多更多细节(例如:“拥有 Skype 帐户的用户数和超过 4Go 的用户数存储”将在包含“从帐户到日志或社交媒体帖子”的数据的数据集上完成)。此外,“NoSQL”非常不具体——NoSQL 产品种类繁多,其中一些可以像普通的关系数据库一样使用,包括完整性、连接甚至酸,而 MySQL 也可以使用 json(至少在某种程度上) .
-
Elasticsearch 也可以从 JDBC 数据源加载数据。这不是使用 NoSQL 的理由(无论这意味着什么)。