替代大型数据库

时间:2010-06-05 00:00:41

标签: database algorithm data-structures large-files mapreduce

我有一个数据库,其表格在一个表中有数十亿行一个月,而且我有过去5年的数据。我试图以所有可能的方式优化数据,但延迟并没有减少。我知道有一些解决方案,比如使用水平扯皮和垂直褶皱。但我不确定任何开源实现和进行切换所需的开发时间。有没有人有使用这种系统的经验?

谢谢。

4 个答案:

答案 0 :(得分:5)

没有用例,没有人可以提出任何建议。如果您的数据大小为“Sagan-esque”,则用例非常重要,因为您可能已经发现,根本没有任何“通用”技术可行。数字太大了。

因此,您需要清楚自己想要对这些数据做些什么。如果答案是“一切”那么,你的表现会变慢,因为你无法优化“一切”。

编辑:

嗯,这是什么? 2或3?结果有多大?你需要访问所有5年或仅仅是上个月?你真的需要所有细节,还是可以总结一下?你需要对它进行排序吗?钥匙够用吗?数据多久更新一次?更新数据后,数据需要多快才能上线?数据需要什么样的服务级别? 24x7x7? 9-5x5?天老数据还行吗?谁在使用这些数据?互动用户?批量报告?出口到外部实体?

答案 1 :(得分:3)

阅读数据仓库......

  1. 捕获平面文件中的数据。 加载数据库。

  2. 设计合适的 Star Schema 架构。

  3. 编写程序以进行尺寸一致性;这些程序只会将维度更改加载到数据库。

  4. 编写程序,将选定的平面文件记录加载到带有维度副本的数据集市中。

  5. 使用原始数据加载数据库。如初。

答案 2 :(得分:1)

Postgress支持partioning个表格。如果没有别的东西读他们的文件回答Will Hartung的问题将有助于解决问题。

答案 3 :(得分:0)

这是多少GB的数据?这让我想起了LinkIn的故事,以及如何快速计算社交网络,他们不得不在内存中运行一切。根据SO播客,StackOver本身在具有大量内存的服务器上运行,并且任何时候都有大部分数据库在内存中。

还提醒我谷歌的问题,这需要定制软件和大量廉价机器协同工作。