database - 如何处理非常大的数据?

标签 database hadoop bigtable

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

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

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

我没有使用大型数据库的第一手经验,所以我想问问那些在这种情况下哪个数据库是最佳选择的人。我知道 Oracle 是安全的选择,但如果有人有 hadoopdb 或 Google 的大表等数据库以外的经验,我会更感兴趣。 请指导我。 提前致谢

最佳答案

甲骨文将变得非常昂贵以扩大规模。 MySQL 将难以扩展。这不是他们的错; RDBMS 对此有点矫枉过正。

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

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

今年在 NoSQL 上进行分析非常流行。例如,我会看看 Acunu 是如何将分析嵌入到他们的 Cassandra 风格中的:http://www.acunu.com/blogs/andy-twigg/acunu-analytics-preview/

关于database - 如何处理非常大的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9971661/

相关文章:

php - 如何在 php/adodb 中读取大于 255 个字符的字符串?

windows - 在Windows 8 x64 PC上为本地模式编译Apache Spark 1.1.0?查看特定错误

java - 如何将附加数据传递给 Mapper?

javascript - 编写正则表达式过滤器来解析以反向时间戳顺序存储的一系列日期

sql - 为什么 Google 的 BigTable 被称为 NoSQL 数据库?

go - 使用 Golang 减少访问 Bigtable 的时间

mysql - 如何使用嵌套 SELECT 优化此 SQL 查询?

mysql查询多个外键

mysql - 删除MySQL数据库的重复项

Java Hadoop - Reducer 在使用 Combiner 类时多次接收同一个键的不同值