首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据模型指南,用于更改筛选标准的聚合的数据库选择

数据模型指南,用于更改筛选标准的聚合的数据库选择
EN

Stack Overflow用户
提问于 2019-12-16 11:55:52
回答 1查看 119关注 0票数 1

问题:

我们正在寻找关于使用哪些数据库以及如何对数据建模以有效查询聚合统计数据以及与特定实体相关的统计信息的一些指导。

我们有不同的底层数据,但是这个例子应该展示基本的问题:

假设您有Facebook好友请求的数据以及随着时间的推移而进行的交互。你现在想回答以下问题:

  • 2018年,哪个美国人有着最喜欢ACDC的德国朋友?
  • 在话题Y上,X最常与之交往的朋友是什么?

一般的问题是,对于我们想要计算统计量的实体和计算这些统计量的相关实体,我们都有很多变化的过滤标准(国家、主题、兴趣、时间)。

非功能需求:

  • 这是一个离线用例,意味着没有插入、删除或更新发生,而是每隔X周导入一个新的完整转储来替换旧数据。
  • 我们希望有10秒的上限来回答我们的问题。查询速度越快,查询的最长2秒就越好。
  • 实际数据约有1亿到2亿条目,增长率呈线性关系.
  • 该系统必须为有限数量的并发用户服务,最多可达100人。

问题:

  • 什么是正确的数据库技术或混合技术来解决我们的问题?
  • 什么是一个有效的数据模型,用于计算在多个维度上有变化的过滤标准的聚合?
  • (奖金)给定特定技术的估计硬件需求是多少?

到目前为止我们尝试过的:

  • 设置具有非规范化条目的文档存储。问题:它在一般查询上表现不佳,因为它必须扫描太多条目以获得聚合。
  • 建立一个具有规范化条目的图形数据库。问题:在聚合方面执行得更差。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-25 20:30:30

您将讨论使用哪个数据库,但听起来您需要一个数据仓库或业务智能解决方案,而不仅仅是一个数据库。

区别(简单地说)是数据仓库(DW)可以支持多个报告视图、自定义数据模型和/或预聚合,从而允许您进行高级分析和详细筛选。数据仓库倾向于存储大量的数据,通常构建的数据仓库具有很强的可扩展性和灵活性(就数据的使用方式而言)。有关数据仓库和数据库之间差异的更多细节,请查看这篇文章

商业智能(BI)工具是数据仓库的“更轻”版本,其目标是以极快的速度回答特定的数据问题,而不需要大量的终端用户技术知识。BI工具提供了许多可视化功能(易于配置图形和过滤器)。BI工具通常与数据仓库一起使用:数据被建模、清理并存储在仓库中,BI工具将准备好的数据拉到特定的可视化或报告中。然而,许多公司(特别是较小的公司)在没有数据仓库的情况下使用BI工具。

现在的问题是使用哪种数据仓库和/或BI解决方案.

这是一个完整的主题&远远超出了我在这里所写的范围,但是这里有几个流行的工具名称可以帮助您入门: Tableau、PowerBI、Domo、雪花、Redshift等等。

最后,还有它的数据建模部分.

总结您的需求,您有“许多变化的筛选标准”和各种统计数据,您将需要,为各种实体。

DW内部的数据模型通常使用星型、雪花或数据库模式。(网上有很多解释这些的文章。)如果您使用的是纯BI工具,您可以将数据去规范化为一个组合数据集,这将允许您选择各种过滤和计算选项,同时仍然保持高性能和速度。

让我们看一下您给出的示例:

随着时间的推移,Facebook好友请求和互动的数据。你需要回答:

  1. 2018年,哪个美国人有最喜欢ACDC的德国朋友?
  2. 在话题Y上,X最常与之交往的朋友是哪些?

您需要根据国家、主题、兴趣、时间来筛选/重新计算这些问题的答案。

一个潜在的数据集可以构造如下:

互动日期?启动人的国家?应答人的国家主题??交互作用类型?启动人的最高利益?应答者的最高利益。

这将使您能够轻松地计算按任何列分组和/或过滤的交互量。

正如你所知道的,这只是一个巨大的话题的表面,但你所要求的绝对是可行的&希望这篇文章能帮助你开始工作。还有很多咨询公司也很乐意提供帮助。(免责声明:我为其中一家咨询公司工作:)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59356144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档