OLAP: Analysis(数据越准确越好)(详细,全面) (获得分类汇总数据)
OLTP:Transaction(效率越高越好)(降低单表字段,建立索引等空间换时间)(获得详细数据)
NoSQL:(not only SQL/no-relation SQL)
存储结构灵活的数据
通常保存在内存中,后来大家把他用于缓存,不是主要功能
MongoDB:
基于文件存储
客户端:mongo
链接:
mongo
(如果没有使用用户名和密码,会默认使用test数据库)查看表:
show dbs
(查看物理数据库,test有数据才会展示)创建:
use db_name
查看使用的数据库:
db
切换数据库:
use db_name
删除:
db.dropDatabase()
(先使用)集合:
创建:
db.createCollection(name, options)
db.createCollection('sub', { capped: true, size: 10}) # capped默认False,设为True代表设置上限;size设定稳定上限大小,单位为字节,超过会将之前的数据覆盖
查看集合:
show collections
删除集合:
db.collection_name.drop()
服务端:mongod
- 启动:
suso service mongodb start
- 停止:
sudo service mongodb stop
- 重启:
sudo service mongodb restart
偶数为稳定版1.6X;奇数为开发版:1.7X
beta–没有经过严格测试的版本
release–可以上线的版本
特点:
- 启动:
模式⾃由 :可以把不同结构的⽂档存储在同⼀个数据库⾥
- ⾯向集合的存储:适合存储 JSON⻛格⽂件的形式
- 完整的索引⽀持:对任何属性可索引
- 复制和⾼可⽤性:⽀持服务器之间的数据复制,⽀持主-从模式及服务器之间的相互复制。复制的主要⽬的是提供冗余及⾃动故障转移
- ⾃动分⽚:⽀持云级别的伸缩性:⾃动分⽚功能⽀持⽔平的数据库集群,可动态添加额外的机器
- 丰富的查询:⽀持丰富的查询表达⽅式,查询指令使⽤JSON形式的标记,可轻易查询⽂档中的内嵌的对象及数组
- 快速就地更新:查询优化器会分析查询表达式,并⽣成⼀个⾼效的查询计划
⾼效的传统存储⽅式:⽀持⼆进制数据及⼤型对象(如照⽚或图⽚)
三元素:数据库,集合,文档
集合:类似于关系型数据库中的表
文档:对应关系数据库中的行,代表一个对象
增删改查:
插入:db.stu.i