本文共 1970 字,大约阅读时间需要 6 分钟。
关系型数据库是最常用的数据库类型之一,其核心特点是基于数据模型进行操作。由于依赖数据模型,关系型数据库支持复杂的查询操作,尤其是在多个表之间进行联表操作时,通过SQL语句可以轻松实现。
优点:
缺点:
非关系型数据库以MongoDB为代表,具有以下特点:
优点:
缺点:
查询操作:
db.getCollection('classes').find({ teachers: 1534 }); 排序操作:
db.getCollection('classes').find().sort({ name: 1 }); 分页操作:
db.getCollection('classes').find({ name: 1 }).limit(2); // 返回前两条记录db.getCollection('classes').find({ name: 1 }).limit(2).skip(3); // 返回第3、4、5条记录 更新操作:
db.BATCH_FLOWS_POLICY_TEMPLATE.update({ name: "abc" }, { $set: { global_name: "" } }); 批量更新:
db.BATCH_FLOWS_POLICY_TEMPLATE.update({}, { $unset: { global_name: "" } }, { multi: true }); 统计行数:
db.getCollection('classes').find({}).count(); 主节点配置:在/etc/mongodb.conf中添加:
master = truebind_ip = 1.1.1.1
副节点配置:在/etc/mongodb.conf中添加:
slave = truesource = master_ip:27017
查看数据库状态:
systemctl status mongod.service
故障转移测试:
mongo -u admin -p adminpwd rs.status()
rs.status()
环境变量:
export MONGO_URL='mongodb://1.1.1.1:27017,2.2.2.2:27017/'
备份路由器设置:在/etc/mongodb.conf中添加:
second路由器配置rs.initiate({ _id: "rs0", members: [ { _id: 0, host: "1.1.1.1:27017" }, { _id: 1, host: "2.2.2.2:27017" } ] }) 创建集合:
db.snmp.insert({ ip: "3.3.3.3", community: "cisco" }); 查询集合:
db.snmps.find();
工具函数:
get_docs_by_criteria:支持联合查询。get_docs_by_ids:支持批量查询多个ID。insert_multi_docs:支持批量插入数据。get_multi_sort:支持排序查询。数据库操作:
update:根据条件更新数据。set:插入新数据。update_by_criter:根据条件更新数据。HA备份设置:确保备份路由器上有足够的存储空间,并配置:
myrs:SECONDARY> db.getMongo().setSlaveOk();
故障转移测试:
myrs:PRIMARY> use adminmyrs:PRIMARY> db.shutdownServer()
rs.status()
通过以上配置和操作,可以有效管理MongoDB数据库,确保数据的高效存储和快速查询,同时实现高可用性和数据冗余。
转载地址:http://mnky.baihongyu.com/