数据库技术:数据库管理的有效技术。
数据:描述事物的符号记录。
数据语义:数据的含义。
记录:计算机中表示和存储数据的一种格式或一种方法。
数据库:存放数据的仓库,是大量数据的集合,具有永久存储
、有组织
、可共享
的特性。
数据库管理系统:一个能够科学地组织和存储数据,高效地获取和维护数据的系统软件,是位于用户与操作系统之间的数据管理软件。
数据库系统:由数据库、数据库管理系统、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统。
人工管理阶段->文件系统阶段->层次型数据库和网状型数据库->关系型数据库->面向对象数据库->NoSQL->NewSQL
数据面向整个系统而不是单个应用,被多个应用共享。
数据的共享性高,冗余度低且易扩充
数据独立性高,分为物理独立性和逻辑独立性
统一管理和控制
根节点没有双亲
根节点之外的其他节点有且只有一个双亲节点。
将语义数据模型和面向对象设计方法结合起来,用一系列面向对象核心概念构成模型基础。
由于面向对象数据库操作语言过于复杂,故没有得到开发人员的认可。
5V特性:数量大、多样性、价值密度低、速度快、真实性
由5V衍生的需求:高可扩展性、高性能、容错性、高伸缩性
NoSQL(Not Only SQL):非关系型的、分布式的、不保证满足ACID特性的一类数据管理系统
技术特点:
对数据进行分区,利用大量节点并行处理获得高性能,同时能够采用横向扩展的方式。
降低ADID一致性约束,允许暂时不一致,接受最终一致性。遵循CAP理论和BASE原则。
各数据分区提供备份(一般是三份),应对节点故障,提高系统可用性。
常见的NoSQL数据库分类:键值数据库、列族数据库、文档型数据库、图数据库
NoSQL的出现并不是为了取代RDBMS。它的优势虽然显著,但是缺点也较为明显,其与RDBMS一起构建完整的数据库生态系统。
NewSQL:NewSQL追求NoSQL的可扩展性,又同时支持关系模型的关系型数据库系统,其主要面向OTLP联机事务处理场景,能够支持SQL作为主要的使用语言。
NewSQL的特点:
随着业务规模增大,数据库存储的数据量和承载的业务压力也不断增大,数据库的架构需要随之变化,为上层应用提供稳定和高效地数据服务。
概念:单机架构就是使用一台主机。为了避免应用服务和数据库服务对资源的竞争,单机架构也从早期的单主机模式发展到数据库独立主机模式,把应用和数据服务分开。应用服务可以增加服务器数量,进行负载均衡,增大系统并发能力。
优点:部署集中,运维方便
缺点:
概念:数据库部署在两台服务器,其中承担数据读写服务的服务器称为主机
,另一台服务器利用数据同步机制把主机的数据复制过来,称为备机
。在同一时刻,只有一台服务器对外提供数据服务。当主机宕机,备机可以代替主机工作,直至主机被修好。
优点:
缺点:
概念:部署模式和主备机一样,不过不同的是,备机变成了从机
,主机负责写操作而从机负责读操作,这样可以将读写分离,缓解主机压力。
优点:
缺点:
概念:拥有多台数据库服务器,他们互为主从关系,同时对外提供完整的数据服务。
优点:资源利用率较高的同时降低了单点故障的风险
缺点:
概念:是一种特殊的多主架构,但数据库服务器是共享存储的,而多个服务器实现负载均衡。
优点:
缺点:
概念:分片架构主要表现形式就是水平数据分片架构,也就是将数据库的数据拆分成许多份,不同份的数据片放在不同的节点上,称为一个shard。多个节点都拥有相同的数据库结构,但不同分片的数据之间没有交集。由于分片是由数据库所有数据划分,故所有分片的并集应该为数据总体。
常见的分片算法:列表值、范围取值、Hash值
优点:数据分散在集群内的各个节点上,所有节点可以独立性工作。
概念:本质上MPP架构即为大规模并行处理机。MPP是将任务并行的分散到多个服务器和节点上,在每个节点上计算完成后,将各自部分的结果汇总在一起得到最终的结果。
常见的MPP产品:
概念:联机事务处理(OnLine Transaction Processing,OLTP)
是传统关系数据库的主要应用,面向基本的,日常的事务处理,一般来说时效性要求较高,例如银行储蓄业务的存取交易,转账交易,其要求转账这件事务必须A用户转入B用户必须马上完成。
特点:
应用场景:
概念:联机分析处理(OnLine Analytical Processing,OLAP)
是E.F.Codd(那个提出关系型数据库的男人!)
于1993年相对于OLTP系统提出的。指对大量的历史数据进行查询和分析操作,涉及到的历史周期比较长,数据量大,在不同层级上的汇总,聚合操作使得事务处理操作比较复杂。
特点:
应用场景:
TPC组织(Transaction Processing Performance Council,事务处理性能委员会):
TPC-C规范
tpmc(tpm-transactions per minuete)流量指标
,即每分钟测试系统处理的事务数量性价比指标Price/tpmc
TPC-H规范
qqhH(Query per hour)流量指标
,即每分钟处理的复杂查询数量