MongoDB学习第一章

关系型数据库遵循ACID规则

  • Atomicity原子性
    也就是说事务里的所有操作要么全部做完,要么都不做。事务成功的条件是事物里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。
  • consistency一致性
    数据库要一直处于一致性状态,事务的运行不会改变数据库原本一致性约束
  • Isolation独立性
    独立性值并发的事务之间不会相互影响。如果一个事务要访问的数据正在被另一个事务修改,只要另一个事务未提交,他所访问的数据就不受未提交事务的影响。
  • Durability持久性
    持久性是指一旦事务提交后,它所做的修改将会永久的保存在数据库上,即使宕机也不会丢失

什么是No SQL?

NoSQL,指的是非关系型数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系数据库的数据库管理系统统称。
NoSQL用于大规模数据的存储。这类型的数据存储不需要固定的模式。无需多余的操作的可以横向扩展。
——代表着不仅仅是SQL
——没有声明行查询语言
——没有预定的模式
——键-值对存储,而非ACID属性
——非结构化和不可预知的数据
——CAP定理
——高性能,高可用性和可伸缩性

No SQL简介

NoSQL一词最早出现于1998年,是Carlo Strozzi开发的一个轻量,开源,不提供SQL功能的关系数据库
2009时,NoSQL主要指非关系型,分布式,不提供ACID的数据库设计模式,之后又有“select fun,profit from real_world where relation=false”,强调Key-Value Stores和文档数据库的优点,而不是单纯的反对RDBMS。

No SQL数据库分类

	 1. 列存储	
	部分代表:Hbase、Cassandra、Hypertable
	特点:顾名思义,是按列存储数据的。最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,对针对某一列或者某几列的查询有非常大的优势
	 2. 文档存储
	部分代表:MongoDB CouchDB
	特点:文档存储一般用类似json的格式存储,存储的内容是文档型的。这样也就有机会对默写字段建立索引。实现关系数据库的某些功能	
	 3. key-value存储
	部分代表:Tokyo、Cabinet、Tyrant、Berkeley、DBMemecacheDB、Redis
	特点:可以通过key快速查到期value。一般来说、存储不管value的格式,照单全收。
	 4. 图储存
	部分代表:Neo4J、FlockDB
	特点:图形关系到最佳存储。
	 5. 对象存储
	部分代表:db4o、Versant
	特点:通过类似面向对象语言的语法操作数据库,通过对象的方式存取数据
	 6. xml数据库
	部分代表:Berkeyley、DB、XML、BaseX
	特点:高效的存储XML数据,并支持XML的内部查询语法,比如Xquery、Xpath

什么是MongoDB?

  • MongoDB是由C++语言编写,是一个基于分布式文件存储的开源数据库系统。
  • MongoDB是一个面向文档存储的数据库,操作起来比较简单和容易。
  • 可以在MongoDB记录中设置任何属性的索引来实现更快速的排序
  • 通过本地或者网络创建数据镜像,这使得MongoDB有更强的扩展性
  • 如果负载的增加,它可以分布在计算机网络中的其他节点上
  • 支持丰富的查询表达式,查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
  • MongoDB使用update()命令可以实现替换完成的文档或者一些指定的数据字段。
  • Map/reduce主要是用来对数据进行批量处理和聚合操作。
  • Map函数调用emit(key,value)遍历季和所有的记录,将key与value传给Reduce函数进行处理。
  • Map函数和Reduce函数是使用JavaScript编写的,并可以通过db.runCommand或mapreduce命令来执行MapReduce操作。
  • GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件。
  • 下载链接:https://www.mongodb.com/download-center#community
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值