【问题标题】:how to handle very large data?如何处理非常大的数据?
【发布时间】:2012-04-02 06:16:34
【问题描述】:

我即将开始一个新项目,它基本上是一个报告工具,应该有一个相当大的数据库。

表的数量不会很大(

估计一张表中的数据量会以每分钟240,000条记录的速度增长,我们应该至少保留1到3年的数据,以便能够进行各种报告,并且管理员可以在线查看报告。

我没有使用大型数据库的第一手经验,所以我问那些拥有哪种数据库的数据库是这种情况下的最佳选择。我知道甲骨文是安全的赌注,但如果有人有数据库以外的经验,比如 hadoopdb 或谷歌的大表,我会更感兴趣。 请指导我。 提前致谢

【问题讨论】:

  • 您真的需要保留所有数据吗?你能以某种方式聚合它吗?也许将原始数据合并到存储桶中?每秒 4000 条记录有点疯狂。你的记录有多大?
  • 对于直接使用计算器的人,我会为您省点力气:3年后3784.32亿条记录>。
  • @greg hewgill 感谢您的回复。是的,因为我的项目是报告工具,所以如果用户想要查看超过一年的报告,那么我必须将该数据保留超过一年,最长可达 3 年。我汇总数据,但在所有报告的末尾,我以单行形式显示数据,而不是汇总形式。

标签: database hadoop bigtable


【解决方案1】:

Oracle 将变得非常昂贵以扩大规模。 MySQL 将难以扩展。这不是他们的错; RDBMS 对此太过分了。

让我从一个愚蠢的问题开始:你用这些数据做什么? “各种报告”可能是很多东西。如果可以离线批量生成这些报告,那么为什么不将数据保存在共享文件系统上的平面文件中呢?

如果它需要更多在线,那么过去 2 年的流行观点是查看 NoSQL 数据库,例如 Mongo、Couch 和 Cassandra。它们是更简单、更快的生物,可以轻松扩展并提供对数据的更多随机访问。

在 NoSQL 上进行分析今年风靡一时。例如,我会看看 Acunu 正在做些什么来将分析嵌入到他们的 Cassandra 风格中:http://www.acunu.com/blogs/andy-twigg/acunu-analytics-preview/

【讨论】:

  • 您好,谢谢您的回复。我必须向管理员提供在线报告,所以我需要更多在线数据库。我通常汇总数据,并且从初步发现中得知 NOSQL 与数据的汇总速度非常慢。是真的吗?
  • NoSQL 数据库本质上没有任何聚合原语。这正是您应该查看 Acunu 之类的东西的原因,因为它们正在构建适当的实时增量实时分析。我认识这些人,他们正在做的事情非常适合这个用例。
【解决方案2】:

您还可以使用 Apache Solr 和 MongoDB。 Mongo DB 和 Apache Solr 也用于在 NOSQL 中处理大数据,它可以非常快速地将数据插入和检索到数据库中。 所以你可以使用 Apache Solr 或 MongoDb 数据库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-03
    • 1970-01-01
    • 1970-01-01
    • 2013-05-30
    • 2021-10-19
    相关资源
    最近更新 更多