NoSQL入门第一天——NoSQL入门与基本概述
2017-07-28 16:02
246 查看
一、课程大纲
View Code
//类似于customer就表示关系型数据库中的一张表
[b]两者对比,问题和难点
为什么上述的情况可以用聚合模型来处理?
高并发的操作是不太建议有关联查询的,互联网公司用冗余数据来避免关联查询
分布式事务是支持不了太多的并发的
想想关系模型数据库你如何查?
如果按照我们新设计的BSon,是不是查询起来很可爱(没有乱七八糟的JOIN GROUP BY了)
2.聚合模型
不再有MySQL里的varchar等数据类型,统称聚合模型
KV键值
bson
列族
顾名思义,是按列存储数据的。最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,
对针对某一列或者某几列的查询有非常大的IO优势。
图形(复杂的网状关系)
六、NoSQL数据库四大分类
KV键值
典型运用:阿里、百度:memcache+redis
文档型数据库(bson格式比较多)
典型运用:MongoDB
列存储数据库
典型运用:HBase
图关系数据库
社交网络,推荐系统等。专注于构建关系图谱
七、CAP原理:CAP+BASE
1.传统的ACID
参见:http://www.cnblogs.com/jiangbei/p/6701239.html
2.CAP理论
3.CAP的3进2
不可能同时满足三个理论(一般分布式系统而言,P是基本满足);所以我们只能在一致性和可用性之间进行权衡
AP 大多数网站架构的选择
CP Redis、Mongodb
4.BASE
BASE就是为了解决关系数据库强一致性引起的问题而引起的可用性降低而提出的解决方案。
BASE其实是下面三个术语的缩写:
基本可用(Basically Available)
软状态(Soft state)
最终一致(Eventually consistent)
5.分布式与集群简介
分布式系统(distributed system)
由多台计算机和通信的软件组件通过计算机网络连接(本地网络或广域网)组成。分布式系统是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。分布式系统可以应用在在不同的平台上如:Pc、工作站、局域网和广域网上等。
简单来讲:
1 分布式:不同的多台服务器上面部署不同的服务模块(工程),他们之间通过Rpc/Rmi之间通信和调用,对外提供服务和组内协作。
2 集群:不同的多台服务器上面部署相同的服务模块,通过分布式调度软件进行统一的调度,对外提供服务和访问。
{ "customer":{ "id":1136, "name":"Z3", "billingAddress":[{"city":"beijing"}], "orders":[ { "id":17, "customerId":1136, "orderItems":[{"productId":27,"price":77.5,"productName":"thinking in java"}], "shippingAddress":[{"city":"beijing"}] "orderPayment":[{"ccinfo":"111-222-333","txnid":"asdfadcd334","billingAddress":{"city":"beijing"}}], } ] } }
View Code
//类似于customer就表示关系型数据库中的一张表
[b]两者对比,问题和难点
为什么上述的情况可以用聚合模型来处理?
高并发的操作是不太建议有关联查询的,互联网公司用冗余数据来避免关联查询
分布式事务是支持不了太多的并发的
想想关系模型数据库你如何查?
如果按照我们新设计的BSon,是不是查询起来很可爱(没有乱七八糟的JOIN GROUP BY了)
2.聚合模型
不再有MySQL里的varchar等数据类型,统称聚合模型
KV键值
bson
列族
顾名思义,是按列存储数据的。最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,
对针对某一列或者某几列的查询有非常大的IO优势。
图形(复杂的网状关系)
六、NoSQL数据库四大分类
KV键值
典型运用:阿里、百度:memcache+redis
文档型数据库(bson格式比较多)
典型运用:MongoDB
列存储数据库
典型运用:HBase
图关系数据库
社交网络,推荐系统等。专注于构建关系图谱
七、CAP原理:CAP+BASE
1.传统的ACID
参见:http://www.cnblogs.com/jiangbei/p/6701239.html
2.CAP理论
Consistency (强一致性), 数据一致更新,所有数据变动都是同步的
Availability (可用性), 好的响应性能
Partition tolerance (分区容错性) 可靠性
3.CAP的3进2不可能同时满足三个理论(一般分布式系统而言,P是基本满足);所以我们只能在一致性和可用性之间进行权衡
AP 大多数网站架构的选择
CP Redis、Mongodb
4.BASE
BASE就是为了解决关系数据库强一致性引起的问题而引起的可用性降低而提出的解决方案。
BASE其实是下面三个术语的缩写:
基本可用(Basically Available)
软状态(Soft state)
最终一致(Eventually consistent)
5.分布式与集群简介
分布式系统(distributed system)
由多台计算机和通信的软件组件通过计算机网络连接(本地网络或广域网)组成。分布式系统是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。分布式系统可以应用在在不同的平台上如:Pc、工作站、局域网和广域网上等。
简单来讲:
1 分布式:不同的多台服务器上面部署不同的服务模块(工程),他们之间通过Rpc/Rmi之间通信和调用,对外提供服务和组内协作。
2 集群:不同的多台服务器上面部署相同的服务模块,通过分布式调度软件进行统一的调度,对外提供服务和访问。
相关文章推荐
- Linux入门第一天——基本概述与环境搭建
- Shrio第一天——入门与基本概述
- Ajax第一天——入门与基本概念
- NoSql入门和概述
- Freemarker入门(一)——入门与基本概述
- Hibernate第一天——入门和基本操作
- WCF 入门教程一[WCF基本概述]
- 入门篇:函数计算的基本概念和通用场景概述
- 一、NoSQL入门概述
- NoSQL的入门和概述
- redis_NoSql入门概述(一)
- Redis 讲解系列之 NoSql入门和概述(二)
- struts2第一天——入门和基本操作
- maven第一天——入门与基本概念
- 安全卫士App需要的基本操作(入门概述)
- mybatis第一天——入门与概述
- R语言基础入门1--R概述和基本操作
- redis_NoSql入门概述(二)
- Redis学习笔记(一)--NoSQL入门概述(一)
- 入门篇:函数计算的基本概念和通用场景概述