最佳数据库,SQL或NOSQL,用于高速率插入?

时间:2012-09-15 11:22:27

标签: mongodb database

我想要一个数据库来插入简单的数据(1个表有10列)。问题是我需要每秒插入200,000条记录。我的电脑是HP服务器,配备96GB内存和300T NAS驱动器。我对这个插入率没有任何线索。

我听说过Mongodb。你能以正确的方式引导我吗?

1 个答案:

答案 0 :(得分:3)

Mongo可能是一个不错的选择,但每秒200k是一个很大的数字,所以我认为无论你使用什么都需要精心设计。

  • 200kps * 300字节/文件= 60MBps - > ~600Mbps - >接近千兆以太网适配器饱和。所以有必要留意。

  • 在这样的情况下,保持您的字段名称短,因为它们存在于每个文档的BSON中

  • _id字段应该单调增加(大约),以便整个_id索引不需要在ram中。默认情况下这是真的,因为BSON ObjectIds会这样做。如果添加更多索引,您可能无法使用1台服务器达到200K;也许可以用SSD来完成。

  • 我不确定你会在一台服务器上使用mongo达到每秒200K。 100K应该很容易。取决于盒子的速度。如果你有碎片,你当然可以用多台机器每秒做200K。

  • 有没有办法将这些小行捆绑成对您的应用程序有意义的大文档?如果你这样做,你将获得更高的吞吐量:例如,一个文件由相当于这些行中的10个组成,它将成为单个插入并且在_id索引中具有单个键。