- java大数据学习路线
- 数据相关技术集合
- Hadoop HDFS 基本概念及安装与配置
- MapReduce 基本概念及原理
- Apache Spark 基本概念和架构
- Apache Flink 安装与使用,处理实时数据流
- HBase 基本概念、安装与配置
- Cassandra的安装与配置,进行分布式数据存储与管理
- MongoDB的安装与配置,进行文档存储与查询
- Kafka的基本概念、安装与配置,进行实时数据流处理和集成
- Apache NiFi的安装与使用,进行数据流的可视化管理与自动化
- Apache Airflow的安装与配置,编写和调度ETL任务
- Hive的基本概念及安装与配置
- Presto的安装与配置,进行大数据集上的交互式查询
- Impala的安装与配置,进行快速查询
- Tableau的基本操作,进行数据可视化和分析
- Apache Superset的安装与配置,进行数据探索与可视化
- Power BI的使用,进行数据分析和报表生成
- Ranger的安装与配置,进行数据安全管理
- Apache Knox的使用,提供安全的Hadoop集群访问
MongoDB的安装与配置,进行文档存储与查询
class MongoDb,大数据MongoDB的安装与配置,进行文档存储与查询
什么是MongoDB
MongoDB是一个开源的、面向文档的NoSQL数据库系统,使用类似JSON的BSON格式存储数据。它提供了高性能、可扩展性和灵活的数据模型,非常适合快速开发和迭代应用程序。
MongoDB的关键特性
- 文档存储:使用灵活的BSON格式存储数据,支持嵌套文档和数组。
- 高性能:提供高效的读写操作,适合高并发应用。
- 可扩展性:通过分片机制实现水平扩展,处理大规模数据。
- 丰富的查询语言:支持丰富的查询、过滤、聚合操作。
- 复制与高可用性:通过复制集机制确保数据的高可用性和容错性。
MongoDB 安装与配置
环境准备
- 操作系统:支持多种操作系统,包括Windows、macOS和Linux。
- 依赖项:无特殊依赖项,只需保证操作系统正常运行。
下载和安装
-
下载MongoDB
从MongoDB官方网站下载适合操作系统的MongoDB安装包:https://www.mongodb.com/try/download/community -
安装MongoDB
-
Windows:
- 运行下载的安装程序并按照提示完成安装。
- 默认安装路径为
C:\Program Files\MongoDB\Server\<version>\
。
-
macOS:
使用Homebrew进行安装:brew tap mongodb/brew brew install mongodb-community
-
Linux(以Ubuntu为例):
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add - echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list sudo apt-get update sudo apt-get install -y mongodb-org
-
配置MongoDB
-
启动MongoDB
-
Windows:在命令提示符中运行:
"C:\Program Files\MongoDB\Server\<version>\bin\mongod.exe" --dbpath "C:\data\db"
注意:需要先创建数据目录
C:\data\db
。 -
macOS 和 Linux:
sudo systemctl start mongod
-
-
验证安装
打开MongoDB shell(mongo):mongo
如果看到MongoDB shell提示符,说明MongoDB已成功启动。
使用MongoDB进行文档存储与查询
创建数据库和集合
在MongoDB中,数据库包含集合,集合包含文档。
use my_database
db.createCollection('my_collection')
插入数据
向集合中插入文档。
db.my_collection.insertOne({ name: 'Alice', age: 30 })
db.my_collection.insertMany([{ name: 'Bob', age: 25 }, { name: 'Charlie', age: 35 }])
查询数据
从集合中查询数据。
db.my_collection.find()
db.my_collection.find({ age: { $gt: 30 } })
更新数据
更新集合中的文档。
db.my_collection.updateOne({ name: 'Alice' }, { $set: { age: 31 } })
db.my_collection.updateMany({ age: { $lt: 30 } }, { $set: { status: 'young' } })
删除数据
删除集合中的文档。
db.my_collection.deleteOne({ name: 'Bob' })
db.my_collection.deleteMany({ age: { $gt: 30 } })
高级操作
索引
创建索引以提高查询性能。
db.my_collection.createIndex({ name: 1 })
聚合操作
使用聚合管道进行复杂的数据处理。
db.my_collection.aggregate([
{ $match: { age: { $gt: 20 } } },
{ $group: { _id: '$status', total: { $sum: 1 } } }
])
复制集
配置复制集以提高数据的高可用性。
-
修改配置文件:编辑
/etc/mongod.conf
,添加复制集配置。replication: replSetName: "rs0"
-
启动MongoDB:
sudo systemctl restart mongod
-
初始化复制集:
在MongoDB shell中运行:rs.initiate()
分片
配置分片以支持大规模数据的水平扩展。
-
启动配置服务器:
mongod --configsvr --replSet csrs --dbpath /data/configdb --port 27019 --fork --logpath /var/log/mongodb/csrs.log
-
启动分片服务器:
mongod --shardsvr --dbpath /data/shard1 --port 27018 --fork --logpath /var/log/mongodb/shard1.log
-
启动mongos进程:
mongos --configdb csrs/localhost:27019 --fork --logpath /var/log/mongodb/mongos.log
-
添加分片:
在MongoDB shell中运行:sh.addShard("localhost:27018")
总结
通过掌握MongoDB的基本概念、安装与配置方法,以及如何使用MongoDB进行文档存储与查询,你可以构建高性能、可扩展的数据库应用,处理各种复杂的数据存储和查询需求。MongoDB灵活的数据模型和丰富的查询语言,使其适用于各种应用场景。
评论区
评论列表
{{ item.user.nickname || item.user.username }}