Mongodb安装和使用

NoSQL
Redis Bigtable SimpleDB Tair MongoDB HandlerSocket BeansDB


随着互联网的不断发展,各种类型的应用层出不穷,所以导致在这个云计算的时代,
对技术提出了更多的需求。虽然关系型数据库已经在业界的数据存储方面占据了不
可动摇的地位,但是由于其天生的几个限制,使其很难满足上面这几个需求:扩展困难
、读写慢、成本高、有限的支持容量。但是NoSQL关注的是对数据高并发地读写和对
海量数据的存储等,与关系型数据库相比,它们在架构和数据模型方面做了“减法”,而在
扩展和并发等方面做了“加法”。


NoSQL数据库的优缺点:
在优势方面,主要体现在下面这几点:
 简单的扩展
 快速的读写
 低廉的成本
 灵活的数据模型


在不足方面,常见主要有下面这几点:
 不提供的sql的支持
 支持的特性不够丰富
 现有产品的不够成熟
 
MongoDB简介
MongoDB是一个介于关系型数据库和非关系型数据库之间的产品,是非关系数据库当中
功能最丰富,最像关系数据库的,语法有点类似JavaScript面向对象的查询语言,它是
一个面向集合的,模式自由的文档类型数据库。
面向集合    像关系型数据库表
模式自由    集合里没有行和列的概念
文档型      相当于关系型数据库中的一条记录


MongoDB特性
MongoDB的特点是高性能、易部署、易使用,存储数据非常方便,主要特性有:
   面型集合存储,易于存储队形类型的数据
   模式自由
   支持动态查询
   支持完全索引,包含内部对象
   支持复制和故障恢复
   使用高效的二机制数据存储,包括大型对象(如视频等)
   自动处理碎片,以支持云计算层次的扩展性
   文件存储格式为BSON(一种JSON的扩展)
   
不适用场景:
要求高度事物性的系统。
传统的商业智能应用。
复杂多表查询。






tar xzf mongodb-linux-i686-2.0.2.tgz
wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.0.2.tgz
rsync -a bin /usr/local/mongodb
cd /usr/local/mongodb/
mkdir data
mkdir dblogs


./mongod --dbpath=/usr/local/mongodb/data/  --logpath=/usr/local/mongodb/dblogs --fork
--fork  后台运行
pstree -p | grep mongod
把启动命令放到 /etc/rc.local


pkill mongod
kill -2 mongod
注意:mongodb不能用kill -9 关闭 ,不然启动不起来了 会在data目录下生成了锁文件
kill -9 mongod  强制关闭


[root@localhost bin]# ./mongo
MongoDB shell version: 2.0.2
connecting to: test

mongo命令
show dbs  查看数据库
show tables (show collections) 查看当前表
db        查看当前数据库
db.c1.insert({name:user2});
db.c1.find();


MongoDB数据类型
MongoDB的文档使用BJSON(Binary JSON)来组织数据,BJSON类似于JSON,JSON只是一种简单的表示
数据的方式,只包含了6种数据类型(null、布尔、数字、字符串、数组及对象),不能完全满足
复杂业务的需求,因此,BSON还提供日期、32位数字、64位数字等类型。


常用命令
db.c1.remove();
db.c1.update({name:"user3"},{$set:{name"> db.c1.update({name:"user3"},{$set:{name:"user300"}});
db.c1.update({name:"user300"},{$set:{sex:"nan"}});

你可能感兴趣的:(Mongodb安装和使用)