o数据库
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 的存储设备,也很贵的。
难点:
数据类型多样性。
数据源多样性和变化重构。
数据源改造而服务平台不需要大面积重构。
‘贰’ 数据库是什么Oracle又是啥玩意
经常会有人问我数据库是干啥的,其实一开始我是拒绝回答的,因为我也不能做到通俗易懂的表达出来,毕竟我接触这个概念也没有多长时间,但随着问的人多了,我觉得是时候脑补一下我的第一堂课了,万一哪天冒出来个货跟你掰扯这事儿,你没分分钟给他说清,最后弄个丢里儿丢面儿,好尴尬呀。
数据库,说白了就是按照数据结构来组织、存储和管理数据的仓库,这些数据是结构化的,并可为多种应用服务。也就是说,数据库是使用计算机服务器来存储数据的,专门用来提供各种数据服务。可以这样想象,过去一个公司的所有财务数据都是放在保险柜里面,而现在我们就可以针对这些财务数据搭建一个数据库放在某台计算机或服务器上面;再比如,企业或事业单位的人事部门常常要把本单位职工的基本情况(职工号、姓名、年龄、性别、籍贯、工资、简历等)存放在表中,这张表就可以看成是一个数据库。有了这个"数据仓库"我们就可以根据需要随时查询某职工的基本情况,也可以查询工资在某个范围内的职工人数等等。这些工作如果都能在计算机上自动进行,那我们的人事管理就可以达到极高的水平。此外,在财务管理、仓库管理、生产管理中也需要建立众多的这种"数据库",使其可以利用计算机实现财务、仓库、生产的自动化管理。最常见的数据库有:银行储蓄系统、手机话费系统、美容美发会员系统、超市会员积分系统、水电费系统、机票或火车票系统等,这些都需要后台数据库基础设施的支撑。举了这么多例子,应该是把数据库说明白了,至少能在大脑里面有个概念,知道这个东西是干啥的。
现在大数据被炒的红得发紫,而大数据的基础也是数据,由此可见,数据是一个企业的核心资源,说它是企业的立身之本、发展之基都不为过,因此,维护数据库的数据库管理员(DBA)是企业不可或缺的。
目前市面上的数据库产品有很多,单从规模上分可分为大型、中型、小型几种,典型的数据库产品如下:
大型数据库:Oracle、DB2、Sybase;
中型数据库:MySQL、SQLServer、Infomix;
小型数据库:Access、VisualFoxpro。在众多的数据库产品中,Oracle数据库一直处于行业领导先地位,也是当今最流行的关系型数据库。Oracle可翻译成"甲骨文",它是一家以数据库为主业的全球化公司,是全球第二大软件公司(第一名是微软公司),目前Oracle在数据库软件市场已经排名第一,数据库软件市场份额达到48.6%,遥遥领先于第二名占有率仅为20.7%的IBM公司的DB2。在中国市场上的计算机专业系统后台所使用的数据库尤以Oracle数据库居多。但是购买Oracle数据库需要很大一笔费用,一般的大型企业使用,需要有专业人员进行管理和维护,中小企业承担不起。中小企业为了节省成本,一般使用MySQL、PostgreSQL这类免费开源的数据库,所以Oracle数据库相关的工作岗位一般是在大型企业中。
对于为什么选择Oracle数据库,而不是其他的数据库?
第一,是因为Oracle数据库占据最大的市场份额,并且越来越大,市场需要很多Oracle数据库方面的人才,中国有句老话说"做对事,选对人",是同样的道理;第二,是很多非Oracle数据库的老系统正往Oracle数据库迁移,其他数据库市场占有率在减少,其他数据库工作者有面临失业的风险;第三,Oracle有大量的官方学习文档,还有部分中文文档,可以有效地进行学习;第四,Oracle有大量的从业人员,有共同方向的朋友可以互相帮助,不再是孤胆英雄;第五,是可以很容易地从Oracle官方网站下载功能齐全的数据库最新版本进行学习,可以让你了解数据库方面的最新发展趋势等。
在此说明,以后的所有内容都是基于Oracle11g数据库产品的,下面我们就简单介绍一下Oracle11g的系列产品:
企业版(EnterpriseEdition)此版本包含了数据库的所有组件,并且能够通过购买选项和程序包来进一步对其增强。
能支持例如大业务量的在线事务处理OLTP(On-LineTransactionProcessing联机事务处理系统)环境、查询密集的数据仓库和要求苛刻的互联网应用程序。
标准版1(StandardEditionOne)此版本为工作组、部门级和互联网、内联网应用程序提供了前所未有的易用性和性价比。从针对小型商务的单服务器环境到大型的分布式部门环境,该版本包含了构建重要商务应用程序所必需的全部工具。它仅许可在最高容量为2个处理器的服务器上使用,支持Windows/Linux/UNIX操作系统,并支持64位平台操作系统。
标准版(StandardEdition)此版本提供了StandardEditionOne所不具有的易用性、能力和性能,并且利用真正的应用集群(RAC)提供了对更大型计算机和服务集群的支持。它可以在最高容量为4个处理器的单台服务器上、或者在一个支持最多4个处理器的集群上使用,可支持Windows、Linux和UNIX操作系统,并支持64位平台操作系统。
简化版此版本支持与标准版1、标准版和企业版完全兼容的单用户开发和部署。通过将Oracle数据库获奖的功能引入到个人工作站中,该版本提供了结合世界上最流行的数据库功能的数据库,并且该数据库具有桌面产品通常具有的易用性和简单性,可支持Linux和Windows操作系统。
从存储结构上来说,目前流行的数据库主要包含以下两种:
RDBMS:关系型数据库,是指采用了关系模型来组织数据的数据库;
NoSQL数据库,是指那些非关系型的、分布式的数据库。简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
关系型数据库优点:
1、容易理解
二维表结构是非常贴近逻辑世界的一个概念,关系模型相对网状、层次等其他模型来说更容易理解。
2、使用方便
通用的SQL语言使得操作关系型数据库非常方便。
3、易于维护
丰富的完整性大大减低了数据冗余和数据部移植的概率。
4、事务安全
所有关系型数据库都不同程度的遵守事物的四个基本属性,因此对于银行、电信、证券等交易型业务是不可或缺的。
关系型数据库的瓶颈:
1、高并发读写需求
网站的用户并发性非常高,往往达到每秒上万次读写请求,对于传统型数据库来说,硬盘I/O是一个很大的瓶颈。
2、海量数据的高效率读写
互联网上每天产生的数据量是巨大的,对于关系型数据库来说,在一张包含海量数据的表中查询,效率是非常低的。
3、高扩展性和可用性
在基于WEB的结构中,数据库是最难进行横向扩展的,当一个应用系统的用户量和访问量与日俱增的时候,数据库却没有办法像WEBServer和APPLICATIONServer那样简单的通过添加更多的硬件和服务节点来扩展性能和负载能力。对于很多需要提供24小时不间断服务的网站来说,对数据库系统进行升级和扩展是非常痛苦的事情,往往需要停机维护和数据迁移。
NoSQL数据库
NoSQL一词首先是CarloStrozzi在1998年提出的。2009年再次提出了NoSQL一词,用于指那些非关系型的、分布式的,且一般不保证遵循ACID原则的数据存储系统。
NoSQL具有以下特点:
1、可以弥补关系型数据库的不足
2、针对某些特定的需求而设计,可以具有极高的性能
3、大部分都是开源的,由于成熟度不够,存在潜在的稳定性和维护性问题。
关系型数据库适用于结构化数据,而非关系型数据库适用于非结构化数据,二者优势互补,相得益彰。
Oracle数据库未来的发展方向是提供结构化、非结构化、半结构化的解决方案,实现关系型数据库和NoSQL共存互补。值得强调的是,目前关系型数据库仍是主流数据库。
虽然NoSQL数据库打破了关系型数据库存储的观念,可以很好地满足WEB2.0时代数据的存储要求,但NoSQL数据库也有自己的缺陷。在现阶段的情况下,可以将关系型数据库和NoSQL数据库结合使用,相互弥补各自的不足。
关于数据库及其代表产品Oracle今天就介绍这么多,有兴趣的可以继续深挖,希望我的介绍能让你对数据库有一个更深入的认识。如果有志于在这方面发展的话,就让我们一起跟往事干杯从头再来。
‘叁’ oracleo数据库,请问如何遍历rowtype或游标中的各个列
数据库中有user_tab_columns和user_tables这两个表,你看看,可以解决的你问题。肿么没分
‘肆’ o森贝斯数据库支持部署在哪些cpu和操作系统
o森贝斯数据库支持部署在cpu和操作系统有以下几种:
1、支持IntelX86系列CPU。
2、国产CPU海光、海思、飞腾。
3、支持X86、X86-64,支持龙芯。
‘伍’ 请高手帮帮忙 如何安装SQL2000O数据库
你是不是没装SQL的服务端?
安装SQL的时候,有个选择是“客户端连接工具”和“服务器端”
你必须要安装了服务器端,才能启动SQL服务,才能看到项目
你可以重新运行SQL安装程序,然后添加服务器端组件
‘陆’ ecshopo数据库与DEDE数据库表放在一起,多吗
晕,本来ECSHOP和DEDE的数据库表就很多,放在一起,你可以想象一下~~权重与数据库放在哪有关系? 查看原帖>>
‘柒’ SAP, Oracle, 数据库有什么区别
1、就最新版本来看,基本企业业务功能上,双方没有明显区别,都可实现。
2、sap起家于制造业,进入中国市场早,所以相对案例多,牌面上似乎更适合制造业,但是实际上两款软件都可以用在制造业等行业。没有明显的适合与不适合。s与o,更像宝马与奔驰,不能说哪个更好更强。双方都有成功的案例,也有失败的案例。相互替换的情况都有。所以切不可说谁一定比谁强。成功与失败,绝不简单是一个软件就可以决定的。
3、s德国系,更严谨,相对调整会感觉略重。o美系,更开放灵活,调整起来更轻便。所以会发现重资产s记多,轻资产o记多。稳定期企业s记多,快速发展期企业o记多。对于业态多,变化多、快的企业,o记似乎更适合。但还是那句话,基本业务双方都能实现,没有一定谁比谁强。
4、s记产品和实施费用高。由于核心语言相对封闭,所以实施开发人员有一定入门门槛,成本高。o记要求语言入门门槛低,开发人员成本相对低,易培养。由于s记价格高,所以价值链上利润空间多,生态圈好。o记相对生态圈差太多。
5、s的cs结构,一直被诟病,也是其互联网化慢的阻碍。虽近期在不断改变,但比结构就是bs化的o来的自然不够彻底。
6、除erp外的周边,hr、crm一直是s的弱项。而o通过收购,这些是其超强项。
7、s在去o数据库化,走hana。o在云端化,走saas。双方目前在一个关键的分岔路上。如果云化是下一个IT爆发点,s记很可能是下一个诺基亚。如果云化没有爆发,o记可能会退回老路,经历一个低落。
8、中国市场在双方全球收入比重不同,所以两个公司在中国市场投入明显不同。s记更大手笔。
‘捌’ sql中的o表是什么表
临时表。sql是具有数据操纵和数据定义等多种功能的数据库语言,根据查询相关资料显示:其中o表为临时表,可以处理临时事件。
‘玖’ 在guest账户下如何访问sql 2000o数据库
新建混合登录名,设置好权限;在C#中写好连接字符串进行连接
‘拾’ 国产数据库在经过近几年的“去o”应用后,新的数据库是否发挥了预估的作用
积极响应国家对关键核心领域技术自主可控的要求,降低管控风险和成本,亚信科技AntDB数据库助力中国移动某公司开展了核心账务数据库自主可控项目建设工作。
成为全国首个完成自主可控的核心账务库!包含账管、计费、帐处系统在内的BOSS全域数据库实现自主可控化演进,在进一步提升核心系统数据库自主可控能力的同时,有力保障数据和系统的安全性、稳定性。
满足了面向核心数据库高性能、高可用和高扩展性的业务需求,对现有计费账务中心的架构、应用进行升级,确保业务支撑系统的高可用稳定运营。目前,该项目已正式交割上线,并完成了长达5天的出账系统验证。