mongodb安装和配置

安装:

  1. 安装:https://www.mongodb.com/docs/v4.4/tutorial/install-mongodb-enterprise-on-ubuntu/

  2. 修改配置文件:vim /etc/mongod.conf

    • 修改bind-ip0.0.0.0
    • 修改dbPath
    • 修改内存限制:
      storage:
        wiredTiger:
           engineConfig:
              cacheSizeGB: 10
      
    • 设置登录验证:
      security:
        authorization: enabled
      
  3. 设置用户密码:

    1. 进入命令行工具: mongod
    2. 创建管理员用户
      use admin 
      db.createUser(
           {
             user:"root",
             pwd:"123456",
             roles:[{role:"root",db:"admin"}]
           }
        )
      

启动

无法正常启动时尝试sudo

  • service mongod start
  • 或通过配置文件运行:
    mongod -f /etc/mongod.conf --fork
  • 无法读取配置文件时:
    mongod --dbpath /var/lib/mongodb --logpath /var/log/mongodb/mongod.log --bind_ip_all --fork --wiredTigerCacheSizeGB 20

重复主键批量数据插入测试:

import pymongo
import random
import time
from pymongo.errors import BulkWriteError

db = pymongo.MongoClient()
collection = db['test']['test']
data = []
for i in range(100000):
    data.extend([{'_id': str(i)}] * random.randint(1, 2))
a = time.time()
print('original data counts:', len(data))
try:
    collection.insert_many(data, ordered=False)
except BulkWriteError:
    print('Batch op errors!')
finally:
    print('time cost:', time.time() - a)
    print('inserted data counts:', collection.count_documents({}))

测试结果:

original data counts: 149954
Batch op errors!
time cost: 2.9790291786193848
inserted data counts: 100000

Inserted_many中的ordered参数设为false即乱序插入,当前一条文档出现插入错误时不会影响其他文档的插入。

与mysql插入性能比较:
https://blog.csdn.net/chenhuajie123/article/details/9326777
Mongodb在指定主键的情况下插入性能下降极大,考虑以后所有数据先用ssdb去重,然后使用无主键插入。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值