Mar*_*rko 40 database evaluation data-warehouse
我即将开始一个应该有一个相当大的数据库的新项目.
表的数量不会很大(<15),大多数数据(99%)将包含在一个大表中,这几乎只是插入/读取(没有更新).
该表中的估计数据量将以每天500,000条记录的速度增长,我们应该保留至少1年的时间来进行各种报告.
需要(只读)复制数据库作为备份/故障转移,并且可能用于在高峰时间卸载报告.
我没有那些大型数据库的第一手经验,所以我问的是那些DB在这种情况下最好的选择.我知道Oracle是安全的赌注,但如果有人有类似设置的Postgresql或Mysql的经验,我会更感兴趣.
DNS*_*DNS 28
我在一个我们每天看到100K-2M新行的环境中使用过PostgreSQL,大多数都添加到一个表中.但是,这些行往往会缩减为样本,然后在几天内删除,因此我不能谈论超过~100M行的长期性能.
我发现插入性能非常合理,特别是如果你使用批量COPY.查询性能很好,虽然计划员的选择有时会让我困惑; 特别是在做JOINs/EXISTS时.我们的数据库需要非常定期的维护(VACUUM/ANALYZE)才能保持平稳运行.我可以通过更仔细地优化autovacuum和其他设置来避免这种情况,如果你没有做很多DELETE,那就不是问题了.总的来说,在某些方面我觉得配置和维护比应该更加困难.
我没有使用Oracle,而MySQL只用于小型数据集,所以我无法比较性能.但PostgreSQL确实适用于大型数据集.
关于Google BigTable的一些有趣观点有......
Bigtable与DBMS
我强调了你所提到的需要运行一系列报告的联接和无SQL支持.我不知道有多少(如果有的话)如果你在哪里使用这个,那么你可以在运行报告时做到这一点.
数据量(每年200万条记录)并不是很大,应该与任何标准数据库引擎一起使用.
如果您不需要实时报告,情况会更容易.我在例如每日批处理中镜像并预聚合其他服务器上的数据.像S.Lott建议的那样,您可能希望阅读数据仓库.