mongodb 安装教程

mongodb:
关系型数据库:使用powerdesign设计表---》行和列 二维表关系,表与表之间的关系(主外键--强关系),没有主外键(弱关系)
------------------------------------------------------------------
Not only SQL,泛指非关系型数据库
NoSQL数据库的四大分类
1.键值(key-value)存储数据库
这类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。key/value模型对于IT系统来说的优势在于简单/易部署。但是如果DBA只对部分值进行查询和更新的时候,keyvalue就显得效率低下了。举例如:Tokyo Cabinet/Tyrant ,Redis,Voldemort,Oracle DBD

2.列存储数据库
这部分数据库通常是用来应对分布式存储的海量数据库。键仍然存在,但是它们的特点是指向多个列。这些列是由家族安排的。如:Cassandra,HBase,Riak

3.文档型数据库
文档型数据库的灵感是来自与Lotus Notes办公软件的,而且他同第一种键值存储相类似。该类型的数据模型是版本化的文档,板结构化的文档以特定的格式存储,比如JSON.文档型数据库可以看作是键值数据库的升级版,允许之间嵌套键值。而且文档型数据库比键值数据库的查询效率更高。比如:CouchDB,MongoDB,国内也有文档型数据库SequolaDB,已经开源。

4.图形(Graph)数据库
图形结构的数据库同其他行列以及刚性结构的SQL数据库不同,它是使用灵活的图形模式,并且能够扩展到多个服务器上,NoSQL数据库没有标准的查询语句(SQL),因此进行数据库查询需要指定数据库模型,许多NoSQL数据库都有REST式的数据接口或者查询API.如Neo4J ,InofGrid,Infinite Graph.

-----------------------------------------------------------------
传统的关系型数据库,适合多次写入的交易模式 
事务控制,是交易成功的重要保证手段!

1.原子性(Atomicity):是指一个事务要么全部执行,要么完全不执行

2.一致性(Consistency):事务在开始和结束时,应该始终满足一致性约束。比如系统要求A+B=10,那么事务如果改变了A的数值,则B的数值也要相应修改来满足这样一致性要求:与CAP中C代表含义是不同的

3.事务独立(Isolation):如果有多个事务同时执行,彼此之间不需要知晓对方的存在,而且执行时相互不影响,事务之间需要序列化执行,有时间顺序。

4.持久性(Durability):事务的持久性是指事务允许成功以后,对系统状态的更新是永久的,不会无缘无故回滚撤销

--------------------------------------------------------------------
在一个分布式系统中,Consistency,Availability,Partition tolerance,三者不可兼得,一定要有所取舍
CAP Theorem
连续性 有效性 分区容错性
CA:Consistency+Avalilability RDBMS
CP:Consistency+Partition Tolerance MongoDB HBase Redis
AP:Availability+Partition Tolerance CouchDB Cassandra DynamoDB

CAP理论
CAP是Consistency Avalilability Partiton Tolerance的一种简称 其内存分别是:
1》强一致性:即在分布式系统中的同一个数据多副本情形下,对于数据的更新操作体系出的效果与只有单份数据是一样的。
2》可用性:客户端在任何时刻对大规模数据系统的读写操作都应该子啊限定延时内完成;
3》分区容忍性:在大规模分布式数据系统中,网络分区现象,即分区间的机器无法进行网络通信的情况是必发生的,所以系统应该能够在这种情况下仍然继续工作
------------------------------------------------------------------
ACID的一致性与CAP的一致性
acid的一致性:事务的一致性是指事务的执行不能破坏数据库数据完整性和一致性,一个事务在执行前后,数据库都必须处于一致性状态。事务的执行结果必须是数据库从一个一致性状态转接到另一个一致性状态。

举个列子:
银行的转账操作是一个事务,假设A和B原来账户都有100元,此时A转账给B50元,转账结束后,A应该账户减去50元,B账户增加50元,A.B账户总额还是200元,数据库从一个一致性状态转变成另一个一致性状态。假设转账后只有A账户减少50元,B账户没有增加50元,则这时数据库就处于不一致性的状态了。

CAP的一致性:分布式环境中,一致性是数据在多个副本之间是否能够保持一致性的特性(这点跟ACID中的一致性含义不同)

对于一个将数据副本分布子啊不同节点上的分布式系统来说,如果对第一个街道数据进行了更新操作且跟新成功后,却没有更新第二个节点上的数据得到相应的更新,于是在对第二个街道的数据进行操作时,获取的依然时更新前的数据(称为脏数据),这就是典型的分布式数据不一致情况。子啊分布式系统中,如果能够做到针对一个数据库更新操作执行成功后,所有用户都能够读取到最新的值,那么这样的系统就被认为具有强一致性(或严格一致性)
-----------------------------------------------------------------------
Base理论
BASE是指基本可用(Basically Avaliable) ,软状态(Soft State),最终一致性(Eventual Consistency).
1.基本可用性(Basically Available)
基本可用是指分布式系统在出现故障的时候,允许损失部分可用性,即保证核心可用。
电商大促时,为了应对访问量激增,部分用户可能会被引导到降级页面,服务层也可能只提供降级服务。这就是损失部分可用性的体现。

2.软状态(Soft State)
软状态是指允许系统存在中间状态,而该中间状态不会影响系统整体可用性,分布式存储中一般一份数据至少会有三个副本,允许不同节点间副本同步的延时就是软状态的体现。mysql replication的异步复制也是;一种体现

3.最终一致性(Eventual Consistency)
最终一致性是指系统中的所有数据副本经过一定时间后,最终能够达到一致的状态,弱一致性和强一致性相反,最终一致性是弱一致性的一种特殊情况。
-------------------------------------------------------------
mongodb安装与配置
mongodb官网:https://www.mongodb.com/download-center/compass
下载--community(社区版)
commpass图形化用户接口,可用在图形界面进行查询和mongodb相应的shell命令
安装--》next-->i accept-->Custom--->点browse选安装路径

创建data文件夹和bin在同级
创建log文件夹和bin在同级---》创建文件MongoDb.log
cmd命令:以管理员身份运行
#切换到对应路径  E:\MongoDB\Server\3.6\bin
#启动服务

mongod --dbpath "E:\MongoDB\Server\3.6\data" 
#启动客户端  serviceName可用随意起
#再启一个cmd窗口作为客户端使用 以管理员身份运行


该命令执行完后只需要执行一次, 再电脑服务端会出现mongodb的服务

再执行mongo命令-->连接ip+端口
如果一直处于connection 状态可用先删一些旧的mongo服务
mongod --remove --serviceName"MongoDB"

>show dbs #显示当前mongodb的数据库有哪些库
ctrl+c 退出客户端--》关闭

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值