简介:本文详细介绍NoSQL数据库的安装、配置及入门操作,涵盖主流NoSQL类型(键值、文档、列族、图数据库)的安装教程与基础应用场景,帮助开发者快速上手。
NoSQL(Not Only SQL)数据库以灵活的数据模型、可扩展性和高性能著称,尤其适合处理半结构化/非结构化数据、高并发读写及水平扩展场景。其核心优势包括:
典型应用场景:实时日志分析(Elasticsearch)、用户行为追踪(Cassandra)、社交网络关系(Neo4j)、缓存层(Redis)。
安装步骤(以Ubuntu为例):
# 添加官方GPG密钥curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg# 添加Redis仓库echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list# 安装Redissudo apt updatesudo apt install redis-server# 启动服务sudo systemctl start redis-serversudo systemctl enable redis-server
验证安装:
redis-cli ping # 返回"PONG"表示成功
基础操作:
redis-cli set name "Alice" # 写入键值redis-cli get name # 读取键值
安装步骤(CentOS 7):
# 创建MongoDB仓库文件sudo tee /etc/yum.repos.d/mongodb-org-6.0.repo <<EOF[mongodb-org-6.0]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/6.0/x86_64/gpgcheck=1enabled=1gpgkey=https://www.mongodb.org/static/pgp/server-6.0.ascEOF# 安装MongoDBsudo yum install -y mongodb-org# 启动服务sudo systemctl start mongodsudo systemctl enable mongod
验证安装:
mongo --eval "db.runCommand({connectionStatus: 1})" # 返回"ok": 1表示成功
基础操作:
// 插入文档db.users.insertOne({name: "Bob", age: 30});// 查询文档db.users.find({age: {$gt: 25}});
安装步骤(Ubuntu 20.04):
# 添加Cassandra仓库echo "deb https://downloads.apache.org/cassandra/debian 40x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.listcurl https://downloads.apache.org/cassandra/KEYS | sudo apt-key add -# 安装Cassandrasudo apt updatesudo apt install cassandra# 启动服务sudo systemctl start cassandrasudo systemctl enable cassandra
验证安装:
nodetool status # 查看集群状态(UN表示正常运行)
基础操作(通过CQLShell):
-- 创建键空间CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};-- 创建表USE test;CREATE TABLE users (id UUID PRIMARY KEY, name TEXT, age INT);-- 插入数据INSERT INTO users (id, name, age) VALUES (uuid(), 'Charlie', 28);
安装步骤(Debian 10):
# 添加Neo4j仓库wget -O - https://debian.neo4j.com/neotechnology.gpg.key | sudo apt-key add -echo "deb https://debian.neo4j.com stable 4.4" | sudo tee /etc/apt/sources.list.d/neo4j.list# 安装Neo4jsudo apt updatesudo apt install neo4j# 启动服务sudo systemctl start neo4jsudo systemctl enable neo4j
验证安装:
访问 http://localhost:7474,使用默认账号neo4j/neo4j登录(首次登录需修改密码)。
基础操作(Cypher查询语言):
// 创建节点和关系CREATE (a:Person {name: 'David'}), (b:Person {name: 'Eve'}), (a)-[:FRIENDS_WITH]->(b);// 查询关系MATCH (p1:Person)-[r:FRIENDS_WITH]->(p2:Person) RETURN p1.name, p2.name;
| 数据库类型 | 代表产品 | 数据模型 | 适用场景 |
|---|---|---|---|
| 键值存储 | Redis | 键-值对 | 缓存、会话存储 |
| 文档存储 | MongoDB | JSON/BSON文档 | 内容管理系统、用户资料 |
| 列族存储 | Cassandra | 列族+超列 | 时间序列数据、日志分析 |
| 图数据库 | Neo4j | 节点+关系+属性 | 社交网络、推荐系统 |
bulkWrite()、Cassandra的批量语句减少网络开销。Redis连接失败:
sudo ufw allow 6379)。/etc/redis/redis.conf中的bind 127.0.0.1为服务器IP。MongoDB启动报错:
sudo chown -R mongodb:mongodb /var/lib/mongodb。Cassandra写入延迟:
concurrent_writes和memtable_total_space_in_mb参数。Neo4j内存不足:
/etc/neo4j/neo4j.conf中的dbms.memory.heap.max_size。结语:NoSQL数据库的安装与入门需结合业务场景选择合适类型,通过实践掌握数据建模和性能调优。建议从Redis或MongoDB开始,逐步扩展至分布式和图数据库领域。