Database design 设计非常大、低粒度数据库的提示/链接/书籍?

Database design 设计非常大、低粒度数据库的提示/链接/书籍?,database-design,postgresql,data-mining,data-warehouse,Database Design,Postgresql,Data Mining,Data Warehouse,我公司的SAS程序员与研究人员一起分析存储在大量大小约为1Tb的文本文件中的数据。由此产生的SAS进程可能需要几天才能运行。只要研究人员想稍微改变一个问题,就必须重新运行这个过程,这需要更多的时间 SAS程序员向我们的DBA团队寻求一种存储数据的方法,目的是大大提高查询性能 两个主要困难是: 我们只有少数几个示例查询,并且没有特别典型的查询集 许多查询的形式如下 选择计数(不同id) 来自表t 其中a=真 b=3 和c(3至10) 但其中WHERE过滤器参数未知,可能包括列和属性的任意组合。这就

我公司的SAS程序员与研究人员一起分析存储在大量大小约为1Tb的文本文件中的数据。由此产生的SAS进程可能需要几天才能运行。只要研究人员想稍微改变一个问题,就必须重新运行这个过程,这需要更多的时间

SAS程序员向我们的DBA团队寻求一种存储数据的方法,目的是大大提高查询性能

两个主要困难是:

  • 我们只有少数几个示例查询,并且没有特别典型的查询集
  • 许多查询的形式如下

    选择计数(不同id) 来自表t 其中a=真 b=3 和c(3至10)

  • 但其中WHERE过滤器参数未知,可能包括列和属性的任意组合。这就是说,在我看来(已经读了一些关于数据仓库的知识),我们的需求排除了一种典型的数据仓库方法,在这种方法中,我们执行一些聚合并使用更高粒度的记录

    我正在寻找任何可以用来设计具有类似约束的数据库的资源。在Bill Inmon的《构建数据仓库》中,他简要提到了“探索仓库”和“数据挖掘仓库”。使用这些术语,我发现这篇文章有点帮助:“为有效的数据挖掘设计数据仓库”[],但差不多就是这样。我在搜索re时发现的大部分内容:“数据挖掘”与OLAP有关

    我是一个DBA新手,我的任务是为这个设计提出一些建议。我认为在这一点上,我最有用的建议是建议我们尽可能避免昂贵的连接。我在这方面遇到了困难——我并不期待奇迹发生,但任何明智的建议或阅读建议都是非常受欢迎的


    谢谢

    我想发表评论以获得更多的澄清,但似乎我还不能! 比如

    • 读取文本文件需要多长时间
    • 是否可以发送和保存增量文本文件 维护一组SAS数据集,并将增量 数据
    这里有一些建议

    如果资金不是问题,那么切换到Netezza这样的后端DBMS将有助于解决此问题

    一种更简单的方法可能是将数据拆分为更小的数据集,然后更改查询以动态查看正确的数据集。e、 g.如果所有的查询都是针对一个变量,该变量为true或false,true或false约为50/50,那么将数据拆分为两个数据集可能会使给定示例的查询时间减半。这种方法唯一的问题是,它实际上取决于找到适合所有查询类型的最佳分割

    此外,索引可能有助于加快速度。您需要分析哪些变量将成为索引的候选变量

    如果你需要更多的信息,请告诉我

    谢谢,
    阅读拉尔夫·金博尔的《你能读的一切》

    典型的查询(
    从事实联接维度选择聚合,其中条件
    )是星型模式的最佳选择

    忘掉“数据挖掘”。这不是一个有用的术语


    关注“星型模式”。构建正确的数据结构

    你能描述一下每个分析背后的工作流程吗?你是否也测量了过程中哪一部分花费的时间最多?我同意,这是一本非常好的书。kindall也是“专业粒度”