2012-04-02 125 views
4

我即将开始一个新的项目,它基本上是一个报告工具,它应该有一个非常大的数据库。如何处理非常大的数据?

表的数量不会很大(< 200),大多数数据(80%)将包含在20个表中,所有数据几乎是插入/只读(无更新)。

该表中的估计数据量将以每分钟240,000条记录增长,并且我们应该保留至少1到3年的时间才能够执行各种报告,报告将由管理员在线查看。

我对这个大型数据库没有第一手经验,所以我要求那些有哪个DB在这种情况下是最好的选择。我知道Oracle是安全的选择,但如果有人有像hadoopdb或Google的大桌面这样的数据库以外的经验,那么我更感兴趣。 请指导我。 在此先感谢

+1

您是否真的需要保留所有数据?你能以某种方式加总它吗?也许将原始数据合并到桶中?每秒4000条记录有点疯狂。你的记录有多大? – 2012-04-02 06:18:35

+0

对于任何直接使用计算器的人,我会为您节省一点努力:3年后的记录数为3784.32亿次>< – Corbin 2012-04-02 06:19:12

+0

@greg hewgill感谢您的回复。因为我的项目是报告工具,所以如果用户想要查看报告超过一年,那么我必须保持这一数据超过一年,长达3年。我汇总数据,但在所有报告结束时,我在单行表格中显示的数据不是汇总形式。 – jenitshah 2012-04-02 06:27:42

回答

0

您还可以使用Apache Solr和MongoDB。 Mongo DB和Apache Solr是用于处理NOSQL中的大数据的非常快速的插入和检索数据到数据库。 因此,您可以使用Apache Solr或MongoDb数据库。

4

甲骨文将会非常昂贵的扩展足够。 MySQL将难以扩展。这不是他们的错;一个关系数据库管理系统是这个过度的。

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

如果需要更上网,那么过去两年的流行智慧就是看看像Mongo,Couch和Cassandra这样的NoSQL数据库。它们更简单,速度更快,可轻松扩展并提供更随机访问数据的生物。

在NoSQL上做分析是今年所有的愤怒。例如,我想看看Acunu如何将分析嵌入到Cassandra的风格中:http://www.acunu.com/blogs/andy-twigg/acunu-analytics-preview/

+0

你好,谢谢你的回复。我必须提供在线报告给管理员,所以我需要更多的在线分贝。我通常会汇总数据,我从主要发现中知道NOSQL与数据聚合非常缓慢。这是真的吗? – jenitshah 2012-04-02 10:21:30

+0

NoSQL数据库本质上不具有任何聚合原语。这正是为什么你应该看看像Acunu这样的东西,因为他们正在建立适当的实时增量实时分析。我知道这些人,他们在做什么对于这个用例来说非常棒。 – 2012-04-02 10:43:37

相关问题