数据库是什么?Oracle又是啥玩意?

数据库是什么?Oracle又是啥玩意?,第1张

经常会有人问我数据库是干啥的,其实一开始我是拒绝回答的,因为我也不能做到通俗易懂的表达出来,毕竟我接触这个概念也没有多长时间,但随着问的人多了,我觉得是时候脑补一下我的第一堂课了,万一哪天冒出来个货跟你掰扯这事儿,你没分分钟给他说清,最后弄个丢里儿丢面儿,好尴尬呀。

数据库,说白了就是按照数据结构来组织、存储和管理数据的仓库,这些数据是结构化的,并可为多种应用服务。也就是说,数据库是使用计算机服务器来存储数据的,专门用来提供各种数据服务。可以这样想像,过去一个公司的所有财务数据都是放在保险柜里面,而现在我们就可以针对这些财务数据搭建一个数据库放在某台计算机或服务器上面再比如,企业或事业单位的人事部门常常要把本单位职工的基本情况(职工号、姓名、年龄、性别、籍贯、工资、简历等)存放在表中,这张表就可以看成是一个数据库。有了这个"数据仓库"我们就可以根据需要随时查询某职工的基本情况,也可以查询工资在某个范围内的职工人数等等。这些工作如果都能在计算机上自动进行,那我们的人事管理就可以达到极高的水平。此外,在财务管理、仓库管理、生产管理中也需要建立众多的这种"数据库",使其可以利用计算机实现财务、仓库、生产的自动化管理。最常见的数据库有:银行储蓄系统、手机话费系统、美容美发会员系统、超市会员积分系统、水电费系统、机票或火车票系统等,这些都需要后台数据库基础设施的支撑。举了这么多例子,应该是把数据库说明白了,至少能在大脑里面有个概念,知道这个东西是干啥的。

现在大数据被炒的红得发紫,而大数据的基础也是数据,由此可见,数据是一个企业的核心资源,说它是企业的立身之本、发展之基都不为过,因此,维护数据库的数据库管理员(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今天就介绍这么多,有兴趣的可以继续深挖,希望我的介绍能让你对数据库有一个更深入的认识。如果有志于在这方面发展的话,就让我们一起跟往事干杯从头再来。

企业里常用的数据库软件有Mysql、PostgreSQL、MicrosoftSQLServer、Oracle数据库、MongoDB。

1、Mysql。

MySQL原本是一个开放源码的关系数据库管理系统,原开发者为瑞典的MySQLAB公司,该公司于2008年被升阳微系统(SunMicrosystems)收购。2009年,甲骨文公司(Oracle)收购升阳微系统公司,MySQL成为Oracle旗下产品。

MySQL由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,因此被广泛地应用在Internet上的中小型网站中。随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用。

2、PostgreSQL。

PostgreSQL可以说是目前功能最强大、特性最丰富和结构最复杂的开源数据库管理系统,其中有些特性甚至连商业数据库都不具备。这个起源于加州大学伯克利分校的数据库,现已成为一项国际开发项目,并且拥有广泛的用户群,尤其是在海外,目前国内使用者也越来越多。

PostgreSQL基本上算是见证了整个数据库理论和技术的发展历程,由UCB计算机教授MichaelStonebraker于1986年创建。在此之前,Stonebraker教授主导了关系数据库Ingres研究项目,88年,提出了Postgres的第一个原型设计。

MySQL号称是使用最广泛的开源数据库,而PG则被称为功能最强大的开源数据库。

3、MicrosoftSQLServer。

SQLServer是Microsoft开发的一个关系数据库管理系统(RDBMS),现在是世界上最为常用的数据库。SQLServer 现在是包括内置的商务智能工具,以及一系列的分析和报告工具,可以创建数据库、备份、复制、安全性更好以及更多。

SQLServer是一个高度可扩展的产品,可以从一个单一的笔记本电脑上运行的任何东西或以高倍云服务器网络,或在两者之间任何东西。虽然说是“任何东西”,但是仍然要满足相关的软件和硬件的要求。

4、Oracle数据库。

Oracle数据库系统是美国Oracle(甲骨文)公司提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(Client/Server,C/S)或浏览器/服务器(Browser/Server,B/S)体系结构的数据库之一。

Oracle数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。

5、MongoDB

mongoDB是一个介于关系数据库和非关系数据库之间的开源产品,是最接近于关系型数据库的NoSQL数据库。它在轻量级JSON交换基础之上进行了扩展,即称为BSON的方式来描述其无结构化的数据类型。尽管如此它同样可以存储较为复杂的数据类型。

参考资料来源:百度百科——Mysql

参考资料来源:百度百科——PostgreSQL

参考资料来源:百度百科——MicrosoftSQLServer

参考资料来源:百度百科——Oracle数据库

参考资料来源:百度百科——MongoDB

目录

- 数据库分类维度:关系型/非关系型、交易型/分析型

- NoSQL数据库的进一步分类

- OLTP市场规模:关系型数据库仍占营收大头

- 数据库市场份额:云服务和新兴厂商主导NoSQL

- 开源数据库 vs. 商业数据库

- 数据库三大阵营:传统厂商和云服务提供商

最近由于时间原因我写东西少了,在公众号上也转载过几篇搞数据库朋友的大作。按说我算是外行,没资格在这个领域品头论足,而当我看到下面这份报告时立即产生了学习的兴趣,同时也想就能看懂的部分写点心得体会分享给大家。

可能本文比较适合普及性阅读,让数据库领域资深的朋友见笑了:)

数据库分类维度:关系型/非关系型、交易型/分析型

首先是分类维度,上图中的纵轴分类为Relational Database(关系型数据库,RDBMS)和Nonrelational Database (非关系型数据库,NoSQL),横轴的分类为Operational(交易型,即OLTP)和Analytical(分析型,即OLAP)。

按照习惯我们先看关系型数据库,左上角的交易型类别中包括大家熟悉的商业数据库Oracle、MS SQL Server、DB2、Infomix,也包括开源领域流行的MySQL(MariaDB是它的一个分支)、PostgreSQL,还有云上面比较常见的SQL Azure和Amazon Aurora等。

比较有意思的是,SAP HANA正好位于交易型和分析型的中间分界处,不要忘了SAP还收购了Sybase,尽管后者今天不够风光了,而早年微软的SQL Server都是来源于Sybase。Sybase的ASE数据库和分析型Sybase IQ还是存在的。

右上角的分析型产品中包括几款知名的列式数据仓库Pivotal Greenplum、Teradata和IBM Netezza(已宣布停止支持),来自互联网巨头的Google Big Query和Amazon RedShift。至于Oracle Exadata一体机,它上面运行的也是Oracle数据库,其最初设计用途是OLAP,而在后来发展中也可以良好兼顾OLTP,算是一个跨界产品吧。

再来看非关系型数据库,左下角的交易型产品中,有几个我看着熟悉的MongoDB、Redis、Amazon DynamoDB和DocumentDB等;右下角的分析型产品包括著名的Hadoop分支Cloudera、Hortonworks(这2家已并购),Bigtable(来自Google,Hadoop中的HBase是它的开源实现)、Elasticsearch等。

显然非关系型数据库的分类要更加复杂,产品在应用中的差异化也比传统关系型数据库更大。Willian Blair很负责任地对它们给出了进一步的分类。

NoSQL数据库的进一步分类

上面这个图表应该说很清晰了。非关系型数据库可以分为Document-based Store(基于文档的存储)、Key-Value Store(键值存储)、Graph-based(图数据库)、Time Series(时序数据库),以及Wide Cloumn-based Store(宽列式存储)。

我们再来看下每个细分类别中的产品:

文档存储 :MongoDB、Amazon DocumentDB、Azure Cosmos DB等

Key-Value存储 :Redis Labs、Oracle Berkeley DB、Amazon DynamoDB、Aerospike等

图数据库 :Neo4j等

时序数据库 :InfluxDB等

WideCloumn :DataStax、Cassandra、Apache HBase和Bigtable等

多模型数据库 :支持上面不只一种类别特性的NoSQL,比如MongoDB、Redis Labs、Amazon DynamoDB和Azure Cosmos DB等。

OLTP市场规模:关系型数据库仍占营收大头

上面这个基于IDC数据的交易型数据库市场份额共有3个分类,其中深蓝色部分的关系型数据库(RDBMS,在这里不统计数据挖掘/分析型数据库)占据80%以上的市场。

Dynamic Database(DDMS,动态数据库管理系统,同样不统计Hadoop)就是我们前面聊的非关系型数据库。这部分市场显得小(但发展势头看好),我觉得与互联网等大公司多采用开源+自研,而不买商业产品有关。

而遵循IDC的统计分类,在上图灰色部分的“非关系型数据库市场”其实另有定义,参见下面这段文字:

数据库市场份额:云服务和新兴厂商主导NoSQL

请注意,这里的关系型数据库统计又包含了分析型产品。Oracle营收份额42%仍居第一,随后排名依次为微软、IBM、SAP和Teradata。

代表非关系型数据库的DDMS分类中(这里同样加入Hadoop等),云服务和新兴厂商成为了主导,微软应该是因为云SQL Server的基础而小幅领先于AWS,这2家一共占据超过50%的市场,接下来的排名是Google、Cloudera和Hortonworks(二者加起来13%)。

上面是IDC传统分类中的“非关系型数据库”,在这里IBM和CA等应该主要是针对大型机的产品,InterSystems有一款在国内医疗HIS系统中应用的Caché数据库(以前也是运行在Power小机上比较多)。我就知道这些,余下的就不瞎写了。

开源数据库 vs. 商业数据库

按照流行度来看,开源数据库从2013年到现在一直呈现增长,已经快要追上商业数据库了。

商业产品在关系型数据库的占比仍然高达60.5%,而上表中从这列往左的分类都是开源占优:

Wide Cloumn:开源占比81.8%;

时序数据库:开源占比80.7%;

文档存储:开源占比80.0%;

Key-Value存储:开源占比72.2%;

图数据库:开源占比68.4%;

搜索引擎:开源占比65.3%

按照开源License的授权模式,上面这个三角形越往下管的越宽松。比如MySQL属于GPL,在互联网行业用户较多;而PostgreSQL属于BSD授权,国内有不少数据库公司的产品就是基于Postgre哦。

数据库三大阵营:传统厂商和云服务提供商

前面在讨论市场份额时,我提到过交易型数据库的4个巨头仍然是Oracle、微软、IBM和SAP,在这里William Blair将他们归为第一阵营。

随着云平台的不断兴起,AWS、Azure和GCP(Google Cloud Platform)组成了另一个阵营,在国外分析师的眼里还没有BAT,就像有的朋友所说,国内互联网巨头更多是自身业务导向的,在本土发展公有云还有些优势,短时间内将技术输出到国外的难度应该还比较大。(当然我并不认为国内缺优秀的DBA和研发人才)

第三个阵容就是规模小一些,但比较专注的数据库玩家。

接下来我再带大家简单过一下这前两个阵容,看看具体的数据库产品都有哪些。

甲骨文的产品,我相对熟悉一些的有Oracle Database、MySQL以及Exadata一体机。

IBM DB2也是一个庞大的家族,除了传统针对小型机、x86(好像用的人不多)、z/OS大型机和for i的版本之外,如今也有了针对云和数据挖掘的产品。记得抱枕大师对Informix的技术比较推崇,可惜这个产品发展似乎不太理想。

微软除了看家的SQL Server之外,在Azure云上还能提供MySQL、PostgreSQL和MariaDB开源数据库。应该说他们是传统软件License+PaaS服务两条腿走路的。

如今人们一提起SAP的数据库就想起HANA,之前从Sybase收购来的ASE(Adaptive Server Enterprise)和IQ似乎没有之前发展好了。

在云服务提供商数据库的3巨头中,微软有SQL Server的先天优势,甚至把它移植到了Linux拥抱开源平台。关系型数据库的创新方面值得一提的是Amazon Aurora和Google Spanner(也有非关系型特性),至于它们具体好在哪里我就不装内行了:)

非关系型数据库则是Amazon全面开花,这与其云计算业务发展早并且占据优势有关。Google当年的三篇经典论文对业界影响深远,Yahoo基于此开源的Hadoop有一段时间几乎是大数据的代名词。HBase和Hive如今已不再是人们讨论的热点,而Bigtable和BigQuery似乎仍然以服务Google自身业务为主,毕竟GCP的规模比AWS要小多了。

最后这张DB-Engines的排行榜,相信许多朋友都不陌生,今年3月已经不是最新的数据,在这里列出只是给大家一个参考。该排行榜几乎在每次更新时,都会有国内数据库专家撰写点评。

以上是我周末的学习笔记,班门弄斧,希望对大家有帮助。

参考资料《Database Software Market:The Long-Awaited Shake-up》

https://blocksandfiles.com/wp-content/uploads/2019/03/Database-Software-Market-White-Paper.pdf

扩展阅读:《 数据库&存储:互相最想知道的事 》

尊重知识,转载时请保留全文。感谢您的阅读和支持!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9895237.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存