数据库(Database,简称 DB)是依照必定的数据结构安排、存储和办理数据的库房。 计算机数据库中存放了有安排的、可同享的、统一办理的很多数据,包括文本、图像、声 音等,是信息化年代的数据文件柜。数据库和操作体系、中间件一样,归于根底软件的范 畴,高度杂乱且存在较高的技能壁垒,是使用体系承载数据库优化的柱石。
数据库办理体系(Database Management System,简称 DBMS)是一种操作和管 理数据库的软件,用于树立、使用和保护数据库。DBMS 对数据库进行统一的办理和控制, 保证数据库的安全性和完整性。DBMS 是把用户含义下抽象的逻辑数据处理,转化成为计 算机中具体的物理数据处理的软件。用户经过 DBMS 访问数据库中的数据,数据库办理员 经过 DBMS 进行数据库的保护作业。 数据库体系(Database System,简称 DBS)一般由数据库、数据库办理体系、应 用体系、数据库办理员和用户构成。DBS 是存储介质、处理目标和办理体系的调集体,是 一个为实践可运转的存储、保护和使用体系供应数据的软件体系,数据库及其办理软件是 数据库体系的组成部分,数据库办理体系是其中心部分。
分类:需求晋级与技能迭代驱动,数据库品类多元化开展
数据库的分类多种多样,为了便利理解,咱们从分别从需求侧和供应侧对当前主流的 数据库类型进行梳理。 从需求侧看,可对数据库进行以下两种分类:联系型数据库和非联系型数据库、OLTP 数据库和 OLAP 数据库。
1) 按数据存储方法分类:联系型数据库和非联系型数据库
联系型数据库是一种典型的数据库类型,选用联系模型,常用行和列等二维的形式来 存储结构化数据,一系列的行和列被称为表,一组表组成了一个数据库。典型的联系型数 据库有 Oracle、MySQL、DB2、Microsoft SQL Server 和 Microsoft Access 等。 跟着 web2.0 的鼓起,传统的联系数据库在处理大规模和高并发动态数据时,呈现了 呼应慢、扩展困难等问题,非联系型的数据库由此应运而生。非联系型数据库的发生是为 了解决大规模数据调集多重数据种类的使用难题。
非联系型数据库又被称为 NoSQL,是 用非联系模型,存储非结构化的如图像、音视频等类型数据的数据库,分为键值存储数据 库、文档型数据库、图形数据库等多种类别。非联系型数据库经过例如图形模型、文档模 型等更为灵敏的模型,解决了联系型数据库无法应对的非结构化数据问题。非联系型数据 库有 Mongodb、Hbase、Redis、Cloudant 等。
2) 按使用类型分类:OLTP 和 OLAP
OLTP(On-Line Transaction Processing,操作型数据库,又称联机事务处理)主 要关注一段时间内的实时数据,基本特征是接收的用户数据能够立即传送到计算中心进行 处理,并在很短的时间内给出处理结果,是对用户操作快速呼应的方法之一。伴随企业信 息体系很多事务数据的发生,从不同类型的数据中提取出对企业决议计划剖析有用的信息这一 需求日渐闪现。剖析型数据库技能就是在这样的背景下开展起来的。OLAP(On-Line Analysis Processing,剖析型数据库,又称联机剖析处理)主要是剖析长时间数据的规律 走势,多使用于决议计划。
操作型数据库的优势在于在线实时事务的处理,剖析型数据库则擅长杂乱的剖析操作 并给决议计划供应支持,两者的侧重点不同,因此能够彼此补充。例如能够从多个操作型数据 库源搜集数据放入 OLAP 数据库房中进行剖析。在未来,会呈现越来越多操作型数据库和 剖析型数据库有机结合的使用。 典型的操作型数据库有 Oracle DataBase、MySQL、DB2、MongoDB 等;典型的分 析型数据库有 Apache Kylin、Hive、Snowflake、Oracle Hyperion、Spark 等。
从技能架构(供应侧)看,数据库可分为会集式数据库和分布式数据库
这种分类方法的诞生,一方面是因为传统会集式数据库缺乏扩展性,为了完成扩展而 呈现了分布式数据库,另一方面,是缘于云技能和网络技能快速开展,推动分布式技能升 级,形成新型分布式数据库。会集式数据库由一个处理器、与它相关联的数据存储设备以 及其他外围设备组成,将数据会集在一台机器上进行处理,被物理地定义到单个位置。典 型代表有 Oracle、DB2、人大金仓、武汉达梦等;分布式数据库选用分布式架构,将数据 在网络上分开贮存于多个机器中进行处理,分布式数据库是一个数据调集,这些数据在逻 辑上归于同一个体系,但物理上却涣散在计算机网络的若干站点上,而且要求网络的每个 站点具有自治的处理能力,能执行本地的使用。分布式数据库典型代表如谷歌的 Google Spanner、阿里巴巴的 OceanBase、华为的 GaussDB 等。
开源数据库是数据库开展的另一路径,也孕育了互联网的昌盛开展。开源软件是围绕 社区概念设计的,将数据库,API 和 Web 保管引擎的源代码存储库向公众开放,答应任何 人查看或奉献。社区中的领导者会指导和监控新功能的开发和修补过错。对于希望树立强大技能根底的企业而言,开源东西一方面可降低成本、另一方面便利企业对技能的快速迭 代立异。比方国内的部分互联网巨头,一开始考虑到成本、可控性、技能立异型等要素, 多数选择基于开源的数据库进行数据库的深度研制,并在研制过程中不断回馈开源社区。
开源数据库并不是和商业数据库背道而驰的,开源数据库同样能够完成商业化。咱们以为, 在云计算快速开展的年代,商业数据库和开源数据库有望完成进一步融合。开源数据库典 型代表如 MySQL、PostgreSQL、MongoDB、Hbase、TiDB 等