nosql研究方向,nosql数据库的优势和劣势
NoSQL发展前景如何
由于现在的网络资源越来越多,所以非关系型的NoSQL需要也越来越大,我是比较看好NoSQL的,未来的NoSQL主要就是几个方向,速度、分布式和命中算法
10年的新华网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整新华建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“新华网站设计”,“新华网站推广”以来,每个客户项目都认真落实执行。
云计算好学吗?应该从哪入手?
随着云计算的普及,越来越多IDC上的网站与应用开始向云上,那么同时对于我们这些IT从业者来说,也面临着加快学习云计算,不被新技术淘汰的挑战。那么我们就一起来聊聊,该怎样更快的学好云计算!
1、 学习思路
a) 学习前建议先了解
i. 什么是云计算
ii. 云计算对当前的商业模式有什么影响
iii. 云计算所涉及到的技术
iv. 云计算的现状
b) 云计算可以分为广义的和狭义的两类,狭义的云计算是指IT基础设施的交付和使用模式。是指通过网络需求、扩展的方式获得所需的资源;广义的云计算是指服务的使用和交付模式,指通过网络按需求、扩展的方式获得对应的服务。这种服务可以是IT、可是是软件、可以使互联网相,也可以是任意其他的服务,它具有超大规模、虚拟化、可靠安全等独特功效。云计算有以下的特性:
i. 具有超大的规模,一般企业私有云是数百上千的服务器,有的甚至是上百万的服务器。
ii. 虚拟化,用户可以随时使用任何终端获取应用服务。
iii. 高可靠性,云应用了数据多副本容错,计算节点同构可互换等措施保证。
iv. 通用性,即同一个云可以支持不同的应用运行。
v. 高可扩展性,云规模可以动态的伸缩,满足应用和用户的需求的增长。
vi. 按需服务,云的资源庞大,可以按需购买,有点像“共产.主义”的按需分配吧。呵呵
vii. 及其廉价,“云”的特殊容错措施。“云”的通用性使资源的利用率较之传统系统大幅提升,使得使用起来更”实惠“。
2、 应用平台
a) 流行的云计算平台(有免费试用),看一看云计算都包括提供哪些服务。像云计算,云存储, 云解析等等
3、 不同职位的学习内容
a) 对于学习,我觉得可以分为两个方向:
i. 大数据、nosql领域:Hadoop、Hbase、Cassandra以及一些理论(CAP、Base等等)
ii. 云平台(Iaas、Paas):可以研究虚拟化技术(kvm、hyper-v等等)、OpenStack、esxi等Iaas技术。paas方面可以研究cloudfoudry。
b)
4、 云计算工程师的技能图片
什么是NoSQL数据库?
2. 什么是NoSQL?
2.1 NoSQL 概述
NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,
泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题,包括超大规模数据的存储。
(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。
2.2 NoSQL代表
MongDB、 Redis、Memcache
3. 关系型数据库与NoSQL的区别?
3.1 RDBMS
高度组织化结构化数据
结构化查询语言(SQL)
数据和关系都存储在单独的表中。
数据操纵语言,数据定义语言
严格的一致性
基础事务
ACID
关系型数据库遵循ACID规则
事务在英文中是transaction,和现实世界中的交易很类似,它有如下四个特性:
A (Atomicity) 原子性
原子性很容易理解,也就是说事务里的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。比如银行转账,从A账户转100元至B账户,分为两个步骤:1)从A账户取100元;2)存入100元至B账户。这两步要么一起完成,要么一起不完成,如果只完成第一步,第二步失败,钱会莫名其妙少了100元。
C (Consistency) 一致性
一致性也比较容易理解,也就是说数据库要一直处于一致的状态,事务的运行不会改变数据库原本的一致性约束。
I (Isolation) 独立性
所谓的独立性是指并发的事务之间不会互相影响,如果一个事务要访问的数据正在被另外一个事务修改,只要另外一个事务未提交,它所访问的数据就不受未提交事务的影响。比如现有有个交易是从A账户转100元至B账户,在这个交易还未完成的情况下,如果此时B查询自己的账户,是看不到新增加的100元的
D (Durability) 持久性
持久性是指一旦事务提交后,它所做的修改将会永久的保存在数据库上,即使出现宕机也不会丢失。
3.2 NoSQL
代表着不仅仅是SQL
没有声明性查询语言
没有预定义的模式
键 - 值对存储,列存储,文档存储,图形数据库
最终一致性,而非ACID属性
非结构化和不可预知的数据
CAP定理
高性能,高可用性和可伸缩性
分布式数据库中的CAP原理(了解)
CAP定理:
Consistency(一致性), 数据一致更新,所有数据变动都是同步的
Availability(可用性), 好的响应性能
Partition tolerance(分区容错性) 可靠性
P: 系统中任意信息的丢失或失败不会影响系统的继续运作。
定理:任何分布式系统只可同时满足二点,没法三者兼顾。
CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,
因此,根据 CAP 原理将 NoSQL 数据库分成了满足 CA 原则、满足 CP 原则和满足 AP 原则三 大类:
CA - 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。
CP - 满足一致性,分区容忍性的系统,通常性能不是特别高。
AP - 满足可用性,分区容忍性的系统,通常可能对一致性要求低一些。
CAP理论就是说在分布式存储系统中,最多只能实现上面的两点。
而由于当前的网络硬件肯定会出现延迟丢包等问题,所以分区容忍性是我们必须需要实现的。
所以我们只能在一致性和可用性之间进行权衡,没有NoSQL系统能同时保证这三点。
说明:C:强一致性 A:高可用性 P:分布式容忍性
举例:
CA:传统Oracle数据库
AP:大多数网站架构的选择
CP:Redis、Mongodb
注意:分布式架构的时候必须做出取舍。
一致性和可用性之间取一个平衡。多余大多数web应用,其实并不需要强一致性。
因此牺牲C换取P,这是目前分布式数据库产品的方向。
4. 当下NoSQL的经典应用
当下的应用是 SQL 与 NoSQL 一起使用的。
代表项目:阿里巴巴商品信息的存放。
去 IOE 化。
ps:I 是指 IBM 的小型机,很贵的,好像好几万一台;O 是指 Oracle 数据库,也很贵的,好几万呢;M 是指 EMC 的存储设备,也很贵的。
难点:
数据类型多样性。
数据源多样性和变化重构。
数据源改造而服务平台不需要大面积重构。
专科读云计算技术与应用,就业前景如何?毕业后从事什么工作岗位?请指教。
如果所说的是学习,那么我觉得所谓的云服务(如网盘)、阿里云、新浪的SAE,google的GAE、AWS等等基本上不是学习用的了,而是借助于它们提供的平台,仅仅属于使用而已。
对于学习,我觉得可以分为两个方向:
1、大数据、nosql领域:hadoop、hbase、Cassandra以及一些理论(CAP、Base等等)
2、云平台(Iaas、Paas):可以研究虚拟化技术(kvm、hyper-v等等)、openstack、esxi等Iaas技术。paas方面可以研究cloudfoudry。
分享文章:nosql研究方向,nosql数据库的优势和劣势
文章起源:http://myzitong.com/article/dsesohs.html