Fork me on GitHub

oracle大纲

简介

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。

oracle的起源

oracle是甲骨文公司的拳头产品,是一个功能完善,商业应用程度极高的关系型数据库软件,是计算机行业发展的阶段性产物。

数据库是什么

数据库是按照数据结构组织,存储和管理数据的仓库,可视为电子化的文件柜,用户可以对文件中的数据进行新增、截取、更新、删除等操作。

它将数据以一定方式储存在一起、能为多个用户共享、具有尽可能小的冗余度,是与应用程序彼此独立的数据集合。

数据库中数据的存储形式

数据模型是数据库中数据的存储方式,是数据库系统的基础

数据模型经历了:

1.层次模型:层次模型发展最早,它以树结构为基本结构,典型代表是IMS模型。由于多数实际问题中数据间关系不简单地是树型结构,层次型数据模型渐被淘汰。

2.网状模型:网状数据模型通过网状结构表示数据间联系,开发较早且有一定优点,目前使用仍较多,典型代表是 DBTG模型。

3.关系型:关系模型开发较晚,它是通过满足一定条件的二维表格来表示实体集合以及数据间联系的一种模型,具有坚实的数学基础与理论基础,使用灵活方便,适应面广,发展十分迅速

4.非关系型 : NoSQL( Not Only SQL ),用于指代那些非关系型的,分布式的,且一般不保证遵循ACID原则的数据存储系统。

关系型数据库是指采用了关系模型来组织数据的数据库,如SQLite,Oracle,Mysql,SQLserver,最大特点就是事务的一致性(ACID),简单来说,关系模型指的就是二维表格模型,关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。

优点:

1、容易理解:二维表结构是非常贴近逻辑世界一个概念,关系模型相对网状、层次等其他模型来说更容易理解;

2、使用方便:通用的SQL语言使得操作关系型数据库非常方便;

3、易于维护:丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大减低了数据冗余和数据不一致的概率;

4、支持SQL,可用于复杂的查询。

缺点:

1、为了维护一致性所付出的巨大代价就是其读写性能比较差;

2、固定的表结构;

3、高并发读写需求;

4、海量数据的高效率读写;

非关系型数据库提出了另一种理念,随之产生的面向高性能并发读写的key-value数据库,如Redis,Tokyo Cabinet,Flare ,面向海量数据访问的面向文档数据库,如MongoDB以及CouchDB,面向可扩展性的分布式数据库,如hadoop的hbase,用于解决在当前互联网发展阶段产生的巨量数据分布式处理,大量非结构化数据处理,各种社交平台日常生活中产生的的文本信息处理。

优点:

1)成本:nosql数据库简单易部署,基本都是开源软件,不需要像使用oracle那样花费大量成本购买使用,相比关系型数据库价格便宜。

2)查询速度:nosql数据库将数据存储于缓存之中,关系型数据库将数据存储在硬盘中,自然查询速度远不及nosql数据库。

3)存储数据的格式:nosql的存储格式是key,value形式、文档形式、图片形式等等,所以可以存储基础类型以及对象或者是集合等各种格式,而数据库则只支持基础类型。

4)扩展性:关系型数据库有类似join这样的多表查询机制的限制导致扩展很艰难。

缺点:

1)维护的工具和资料有限,因为nosql是属于新的技术,不能和关系型数据库10几年的技术同日而语。

2)不提供对sql的支持,如果不支持sql这样的工业标准,将产生一定用户的学习和使用成本。

3)不提供关系型数据库对事物的处理。

数据库技术的发展

未来不确定,但是可预测,基于事物发展的规律进行合理推测,更大的信息量带来的是更精确的预测结果。

数据库就是用来存储数据的一个容器,信息时代万物皆数据,当前科技的热门发展方向,智能汽车,无人机,机器学习,人工智能,物联网等等,都是基于对描述物质世界的巨量数据进行处理后得到期望的结果

人工智能和深度学习不管是分类聚类算法,决策树还是神经网络,监督学习还是非监督学习,都要有经过预处理干净的数据集;物联网存在的基础就是存在于所有要监控和可监控的硬件中的嵌入式集成芯片,对这些芯片进行数据采集和操作来实现物联网控制一切的目的;智能汽车无人机这种基于数字技术和传感器的技术,最基础的技术很大部分都是对车辆行为数据集的学习和对行驶状态中数据的快速处理算法。

数据是根本,对数据安全一致的存放管理和以合理形式进行组织应用的需求将会是永久的课题,不管将来信息科技如何发展,数据组织形式如何革新,数据库这一类对数据进行管理的软件永远有一席之地,而且必将是信息时代基石般的存在。

oracle作为关系型数据库领域登峰造极的产品,安全性稳定性可扩展性都已经高度成熟,从1977年IBM提出“关系数据库”的论文,埃里森以此做出oracle产品,并在之后的不断发展,到2013年甲骨文已经超越IBM,成为继MICORSOFT后全球第二大软件公司。oracle的各代产品在全世界各个行业,电信,电力,金融,政府及大量制造业扮演着很重要的角色,互联网总数据量的不断增长,现在的发展趋势是大数据处理,对非关系型,文本数据的处理需求使nosql类数据库和分布式处理框架越来越火,发展势头迅猛,然而在传统电信电力金融政府等领域,要处理的还是高度关系化,稳定性安全性需求极高的数据,oracle作为业界大佬,即使有了强力的挑战者,基本盘依然巨大,从业人员的需求短时间内也是不会衰退太多,而且作为如此成熟的一个产品,它的设计思路,工作方式都是值得深入学习,SQL和PL/SQL如此朴实通用的数据操作语言也是必须掌握。

从软件本身,从业,学习其他数据技术等各个角度来说,学习oracle都是一件拓宽眼界有益身心的事情。

oracle知识谱系

上图知识谱系的内容基本能够覆盖诠释oracle的产品特性和使用,我会按照图中的思路来介绍oracle的相关技术,本文章是大纲,是oracle技能树的框架,后面我会每个分枝都用一篇博客来介绍。

(~ ̄(OO) ̄)ブ,本来处于兴趣搭了个博客,又觉得空荡荡的写点东西好了,然后发现想到哪写到哪的写作方式效率太低,就大概规划了一下。

初步目标是由系列文章构成的oracle技能树,mysql技能树,mongodb技能树,python的一些相关内容,然后是研究生课程学的大数据相关内容,商务智能一篇,算法一片,数据仓库一篇,数据挖掘一篇,再加上自学的hadoop,spark这些,貌似不知不觉给自己挖了个巨坑啊(微笑挥手),加油填坑,跟妹子吹的牛跪着也要圆回来ORZ~~~

体系结构(√)

内存结构

进程结构

物理存储结构

安装配置

SQL和PL/SQL

数据加载

性能调优

数据迁移和备份恢复

安全加固和故障处理