在 mongodb 或 运行 多个 mongodb 实例中,我应该在哪里使用分片?

Where should I use sharding in mongodb or run multiple instance of mongodb?

问题

我至少有 10 个文本文件 (CSV),每个文件的大小都达到 5GB。导入第一个文本文件时没有问题。但是当我开始导入第二个文本文件时,它显示了最大大小限制 (16MB)。

My primary purpose for using the database is for searching the customers from the database using customer_id index.

下面给出了一个 CSV 文件的详细信息。

Collection Name|Documents|Avg.Document Size|Total Document Size|Num.Indexes| Total Index Size|Properties

Customers|8,874,412|1.8 KB|15.7 GB|3|262.0 MB

为了克服这个问题 MongoDB 社区推荐 GridFS,但 GridFS 的问题是数据以字节为单位存储,无法查询文本文件中的特定索引。

I don't know if its possible to query for a specific index in a textfile when using GridFS. If some one knows any help is appreciated.

然后我想到的另一个解决方案是在不同端口创建多个 MonogDB 实例 运行 来解决问题。这个方法可行吗?

  1. 但是很多关于多实例的教程都展示了如何创建副本集。通过在 PRIMARY 和 SECONDARY 中存储相同的数据。
  2. SECONDARY 实例不允许写入,只允许读取数据。

Is it possible to create multiple instance of MongoDB without creating replica set and with write and read operations on them? If Yes How? Can this method overcome the 16MB limit.

我考虑的第二个解决方案是创建集合的分片或简单地分片。这种方法能否克服 16MB 的限制。如果是,对此有任何帮助。

两种解决方案中搜索数据的效率更高(就速度而言)。正如我之前提到的,我只想从这个数据库中搜索客户。

错误消息准确显示了问题所在:条目 #8437:第 13530 行,第 627 列

查看文件并在文件中更正。

错误extraneous " in field ...很清楚。在您的 CSV 文件中,您有一个开头引号 " 但它没有结束,即整个文件的其余部分被视为一个字段。