mongodb
MongDB
MongDB一种面向文档的数据库管理系统,由C++写成。
官网 https://www.mongodb.com/
github https://github.com/mongodb/mongo
NoSQL
NoSQL不使用SQL作为查询语言。其数据的储存可以不需要固定的表格形式。也会经常的被使用sql的join
特点
通常提供弱的一致性保护, 但保证最终的一致性。
关系型数据库遵守的特点
ACID
即 A 原子性 事物中的操作要么全做,要么都做
C 一致性 数据库一直要处于一致的状态
I 独立性 并发事物之间不会相互影响(即 三级封锁协议,锁的形成)
D 持久性 数据库提交完成以后持久保存
分布式系统
分布式系统是由多台计算机和通信软件组成,通过网络相互连接。分布式系统是建立在网络之上的系统。分布式系统的区别在于操作系统。
分布式系统的优点
可靠性(容错机制)可扩展性(可以随意的增加更多的机器)资源共享(数据之间可以共享)灵活性(由于该系统是非常灵活的,易于安装)更快的速度(分布式计算拥有更快的计算能力,易于进行更多的计算)开放系统(由于其系统是开放,本地和远程都可直接访问)更高的性能(相比于集群,拥有更高的性能)
缺点
故障不易排除,拥有更少的软件,网络问题,安全性问题
RDBMS 和 NoSQL
RDBMS
为关系型数据库的基础
拥有高度的组织化结构数据
拥有结构化查询语言
数据和关系都储存在单独的表中
严格的一致性
基础的事物
NoSQL
没有声明式查询语言
没有预定义模式
键值对储存,列储存,文档储存,图形数据库
最终的一致性而不保证过程的一致性
非结构化和不可预知的数据
CAP定理
高性能,高可用性和高伸缩性
CAP定理
CAP定理被称为布鲁尔定理,对于分布式系统来说,不可能满足以下三点
一致性 (等同于所有节点访问同一份最新数据的副本)
可用性 (每次请求都能获取到非错误的响应)
分区容错性(系统中任意错误都不会导致错误的丢失)
更多 https://ja.wikipedia.org/wiki...
根据CAP原理 将数据库分类如下 满足 CA 原则、满足 CP 原则和满足 AP 原则的三大类
BASE
BASE:Basically Available, Soft-state, Eventually Consistent。
BASE是NoSQL数据库通常对可用性及一致性的弱要求原则
NoSQL数据库分类
列储存 | 按照列储存数据 | 代表
--------|--------------| Hbase
文档储存 | 类似于JSON的格式,储存的内容是文档类型的,这样有机会对某些字段建立索引,实现关系数据库的某些功能。| Mongdb
key-value 储存 | 通过key快速查询到value | Redis
图储存 | 图形储存 | Flockdb 来自于推特
对象储存 | 通过面向对象的语法来操作数据库 | Versant
xml数据 | 储存XML数据 | http://basex.org/
谁在用
Google((^__^) 嘻嘻……)
http://digg.com/
https://www.mheducation.com/h...
http://digital.vpr.net
https://foursquare.com/
MongoDB
由C++编写,MongoDB将数据储存为一个文档
数据结构由键值对组成。其文档类似于JSON对象
特点
丰富的表达式,支持任何索引,负载的增加,批量处理和聚合操作等等。。。。
历史
2007年来的
MongDB下载,安装
访问官网下载 https://www.mongodb.com/downl...
其中文社区 http://www.mongoing.com/
一个可视化工具 https://www.nosqlclient.com/
或者 http://mms.litixsoft.de/index...
因为某些缘故,导致灯塔国的东东很慢很慢
一直感觉安装的。。。很炫酷。。
没办法。。。灯塔国的。。好吧,安装完毕
设置数据目录
PS C:\> cd data PS C:\data> ls PS C:\data> mkdir db 目录: C:\data Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 2018/7/31 2:37 db PS C:\data> ls 目录: C:\data Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 2018/7/31 2:37 db PS C:\data> cd db PS C:\data\db>
设置环境变量
C:Program FilesMongoDBServer4.0bin
打开Powershell
PS C:\Program Files\MongoDB\Server\4.0\bin> mongod -dbpath c:\data\db
执行mongod创建数据目录
连接
PS C:\Users\mingm\Desktop> mongo.exe MongoDB shell version v4.0.0 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 4.0.0 Server has startup warnings: 2018-07-31T02:32:28.615+0800 I CONTROL [initandlisten] 2018-07-31T02:32:28.616+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database. 2018-07-31T02:32:28.616+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted. 2018-07-31T02:32:28.616+0800 I CONTROL [initandlisten] --- Enable MongoDB's free cloud-based monitoring service to collect and display metrics about your deployment (disk utilization, CPU, operation statistics, etc). The monitoring data will be available on a MongoDB website with a unique URL created for you. Anyone you share the URL with will also be able to view this page. MongoDB may use this information to make product improvements and to suggest MongoDB products and deployment options to you. To enable free monitoring, run the following command: db.enableFreeMonitoring() --- >
可视化连接
mongodb://127.0.0.1:27017
将其复制上去就行了
ok好啦,至此安装完成
这是一个JavaScript shell
(^o^)/ 瞬间拥有亲切感。
js的语言终于可以再次用上
mongodb概念解析
sql | mongodb | 解释/说明 |
---|---|---|
databass | databass | 数据库 |
table | collection | 数据库表/集合 |
row | document | 行/文档 |
colunm | field | 字段/域 |
index | index | 索引 |
table joins | 表连接 | |
primary key | primary key | 主键/nongodb自动将_id设置为主键 |