0

我想要一个数据库来插入简单的数据(1 个 10 列的表)。问题是我需要每秒插入 200,000 条记录。我的电脑是一台惠普服务器,配备 96GB 内存和 300T NAS 驱动器。我不知道这个插入率。

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

4

1 回答 1

3

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

  • 200kps * 300 字节/文档 = 60MBps -> ~600Mbps -> 接近千兆以太网适配器饱和。所以需要注意的地方。

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

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

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

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

于 2012-09-15T16:01:45.313 回答