为什么选择MongoDB
2017-12-08 14:16
295 查看
1、为什么选择MongoDB?
1》无数据结构限制
1.没有表结构的概念,每条记录可以有完全不同的结构
2.业务开发方便快捷
3.sql数据库需要事先定义表结构再使用
2》完全的索引支持
1.redis的key-value(只能按key查询,灵活性和易用性不足)
2.hbase的单索引,二级索引需要自己实现
而mongodb支持单键索引,多键索引,数组索引,全文索引,地理位置索引。
3》方便的冗余与扩展
1.复制集保证数据安全
2.分片扩展数据规模
4》良好的支持
1.完善的文档
2.齐全的驱动 支持
2、MongoDB环境:64位Linux;ssh工具:xshell;文本编辑器:vim(Linux)
3、Linux下MongoDB安装和启动配置
1》下载安装包
wget https://fastdl.mongodb.org/linux/mongodb-linux-i686-2.6.5.tgz
下载完成后解压缩
tar zxf mongodb-linux-i686-2.6.5.tgz
2》安装准备
将mongodb移动到/usr/local/server/mongdb文件夹
mv mongodb-linux-i686-2.6.5 /usr/local/mongodb
创建数据库文件夹与日志文件
mkdir /usr/local/mongodb/data
touch /usr/local/mongodb/logs
3》设置开机自启动
将mongodb启动项目追加入rc.local保证mongodb在服务器开机时启动
echo "/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs --logappend --auth --port=27017" >> /etc/rc.local
4》启动mongodb
cd到mongodb目录下的bin文件夹启动mongodb
//下面这个是需要权限的登录方式, 用户连接需要用户名和密码
/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs --logappend --auth --port=27017 --fork
//这个是不需要密码的
/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs --logappend --port=27017 --fork
5》进入数据库的CLI管理界面
cd到mongodb目录下的bin文件夹,执行命令./mongo
java连接mongodb
若连接不上,可能是防火墙没有开放27017端口
1、安装iptables防火墙
yum
install iptables-services #安装
2、 修改配置:vi /etc/sysconfig/iptables
-A
INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT #添加27017端口的开放权限
service iptables restart #重启防火墙
mongodb api 文档地址:http://mongodb.github.io/mongo-java-driver/3.4/javadoc/
1》无数据结构限制
1.没有表结构的概念,每条记录可以有完全不同的结构
2.业务开发方便快捷
3.sql数据库需要事先定义表结构再使用
2》完全的索引支持
1.redis的key-value(只能按key查询,灵活性和易用性不足)
2.hbase的单索引,二级索引需要自己实现
而mongodb支持单键索引,多键索引,数组索引,全文索引,地理位置索引。
3》方便的冗余与扩展
1.复制集保证数据安全
2.分片扩展数据规模
4》良好的支持
1.完善的文档
2.齐全的驱动 支持
2、MongoDB环境:64位Linux;ssh工具:xshell;文本编辑器:vim(Linux)
3、Linux下MongoDB安装和启动配置
1》下载安装包
wget https://fastdl.mongodb.org/linux/mongodb-linux-i686-2.6.5.tgz
下载完成后解压缩
tar zxf mongodb-linux-i686-2.6.5.tgz
2》安装准备
将mongodb移动到/usr/local/server/mongdb文件夹
mv mongodb-linux-i686-2.6.5 /usr/local/mongodb
创建数据库文件夹与日志文件
mkdir /usr/local/mongodb/data
touch /usr/local/mongodb/logs
3》设置开机自启动
将mongodb启动项目追加入rc.local保证mongodb在服务器开机时启动
echo "/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs --logappend --auth --port=27017" >> /etc/rc.local
4》启动mongodb
cd到mongodb目录下的bin文件夹启动mongodb
//下面这个是需要权限的登录方式, 用户连接需要用户名和密码
/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs --logappend --auth --port=27017 --fork
//这个是不需要密码的
/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs --logappend --port=27017 --fork
5》进入数据库的CLI管理界面
cd到mongodb目录下的bin文件夹,执行命令./mongo
java连接mongodb
若连接不上,可能是防火墙没有开放27017端口
1、安装iptables防火墙
yum
install iptables-services #安装
2、 修改配置:vi /etc/sysconfig/iptables
-A
INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT #添加27017端口的开放权限
service iptables restart #重启防火墙
mongodb api 文档地址:http://mongodb.github.io/mongo-java-driver/3.4/javadoc/
相关文章推荐
- 开篇有益:为什么选择MongoDB?
- 为什么选择MongoDB?
- 在编程互汇的时代,我们为什么要选择学习Python?
- 为什么选择Nginx
- ucos iii学习笔记——为什么选择ucos iii
- 我们为什么选择了Cassandra而没有用Hbase
- 【转】为什么选择Spring Boot作为微服务的入门级微框架
- 为什么选择MeeGo作移动互联网?
- 技术抉择 – 为什么我们选择戴尔DRAC企业版?
- List和Hashtable都是可以存储数据的,可为什么有时选择List,有时需要Hashtable,这两个有什么区别
- socket编程为什么要选择AF_INET
- 为什么蘑菇街选择自建商城。
- 为什么在2013,我还是选择回归java
- 为什么 qt 成为 c++ 界面编程的第一选择?
- 为什么罗鹂选择了池海东——顺道自我反省
- 为什么选择Java Web做为学习方向 __
- Mysql InnoDB B+树索引和哈希索引的区别? MongoDB 为什么使用B-树?
- 为什么选择计算机专业
- 为什么选择Struts2
- 为什么选择C++?