选择适当的数据库

时间:2016-02-12 05:21:16

标签: mysql sql database oracle postgresql

我正在开发一个需要在单个表上存储大量数据的网站。它将每月超过10万个条目和商店至少5年。它将大约100k×60个月= 600万条目。

我的问题是哪个是能够处理这类数据的最佳DBMS系统? Power / Mysql / Oracle

3 个答案:

答案 0 :(得分:3)

First of all, 6M records is not very much, so in these days it should not be a problem for any mainstream DBMS. However, I see two aspects:

1) Space assessment - approximate how much space will be needed. For this you can insert in a table several records that will be similar to yours and extrapolate this to 6M records. E.g. (I have used SQL Server, but this should be available for any other DBMS such as MySQL)中提取链接:

记录看起来像这样(4个整数和一个varchar)

103 1033    15  0   The %S_MSG that starts with '%.*ls' is too long. Maximum length is %d.

我在表中插入了大约1M行,空间使用情况返回如下:

rows    reserved    
1008656 268232 KB   

因此,对于6M行,它将是大约1.5GB。

2)使用情况评估 - 已由chanaka wije指定。如果只执行SELECT或INSERT,则不需要特殊功能(例如,支持每个时间单位的许多事务)。

此外,为了提高SELECT效果,您应该查看分区(按时间划分) - 请参阅hereherehere。< / p>

答案 1 :(得分:1)

取决于您的表的用法,无论您是只想要插入还是经常选择,我使用表来存储网页视图,每月400万条记录,我每隔6个月使用一次mysql我做修剪,到目前为止没有问题,如果你想使用选择查询使用正确的数据库引擎,如Innodb有行级锁定,MyISAM有表级锁定

答案 2 :(得分:-2)

这是一个很好的问题。除了这里建议的内容之外,我认为需要考虑的一个问题是如何连接到数据库。如果您使用连接池(有限的固定连接数),Oracle本身只能很好地扩展。如果您一直在连接,峰值一些数据并断开连接,请不要使用Oracle。说真的,去找MySQL。

如果您的应用程序非常简单,请考虑最便宜的选项。不要因为“那里最好的”而抛弃Oracle。