哈尔滨网站建设方案策划,齐河网站建设价格,wordpress别人主题插件,装饰公司网站建设流程文章目录1 数据库介绍1.1 数据库技术1.2 数据库技术发展史数据库技术产生和发展数据库三个阶段比较数据库系统优势层次模型网状模型关系模型关系数据库产品历史结构化查询语言SQL面向对象数据模型#xff08;OO模型#xff09;数据管理技术的新挑战NoSQL技术特点和类型主要No…
文章目录1 数据库介绍1.1 数据库技术1.2 数据库技术发展史数据库技术产生和发展数据库三个阶段比较数据库系统优势层次模型网状模型关系模型关系数据库产品历史结构化查询语言SQL面向对象数据模型OO模型数据管理技术的新挑战NoSQL技术特点和类型主要NoSQL数据库NewSQL云数据库云数据库的优势1.3 关系型数据库架构演进数据库架构发展单机架构分组架构-主备分组架构-主从分组架构-多主共享存储多活架构分片架构无共享架构MPP架构1.4 关系型数据库主流应用场景联机事务处理联机分析处理OLTP和OLAP对比分析数据库性能衡量指标1 数据库介绍
1.1 数据库技术
数据库技术数据库管理的有效技术。
数据描述事物的符号记录。
数据语义数据的含义。
记录计算机中表示和存储数据的一种格式或一种方法。
数据库存放数据的仓库是大量数据的集合具有永久存储、有组织、可共享的特性。
数据库管理系统一个能够科学地组织和存储数据高效地获取和维护数据的系统软件是位于用户与操作系统之间的数据管理软件。
数据库系统由数据库、数据库管理系统、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统。 1.2 数据库技术发展史
数据库技术产生和发展
人工管理阶段-文件系统阶段-层次型数据库和网状型数据库-关系型数据库-面向对象数据库-NoSQL-NewSQL 数据库三个阶段比较 数据库系统优势
数据面向整个系统而不是单个应用被多个应用共享。
数据的共享性高冗余度低且易扩充
数据独立性高分为物理独立性和逻辑独立性
统一管理和控制 层次模型
根节点没有双亲
根节点之外的其他节点有且只有一个双亲节点。 网状模型
允许一个以上的节点无双亲。一个节点可以有多于一个的双亲 关系模型
建立在严格的数据概念基础上关系必须是规范化的关系的分量是一个不可分的数据项 关系数据库产品历史 结构化查询语言SQL
高级的非过程化编程语言允许用户在高层数据结构上工作不要求用户指定数据存放方法不需要用户了解具体数据存放方式底层结构完全不同的各种关系型数据库系统可以使用相同的SQL语言作为数据操作和管理的接口 面向对象数据模型OO模型
将语义数据模型和面向对象设计方法结合起来用一系列面向对象核心概念构成模型基础。
由于面向对象数据库操作语言过于复杂故没有得到开发人员的认可。 数据管理技术的新挑战
5V特性数量大、多样性、价值密度低、速度快、真实性
由5V衍生的需求高可扩展性、高性能、容错性、高伸缩性 NoSQL技术特点和类型
NoSQL(Not Only SQL)非关系型的、分布式的、不保证满足ACID特性的一类数据管理系统
技术特点
对数据进行分区利用大量节点并行处理获得高性能同时能够采用横向扩展的方式。
降低ADID一致性约束允许暂时不一致接受最终一致性。遵循CAP理论和BASE原则。
各数据分区提供备份一般是三份应对节点故障提高系统可用性。
常见的NoSQL数据库分类键值数据库、列族数据库、文档型数据库、图数据库 主要NoSQL数据库
NoSQL的出现并不是为了取代RDBMS。它的优势虽然显著但是缺点也较为明显其与RDBMS一起构建完整的数据库生态系统。 NewSQL
NewSQLNewSQL追求NoSQL的可扩展性又同时支持关系模型的关系型数据库系统其主要面向OTLP联机事务处理场景能够支持SQL作为主要的使用语言。
NewSQL的特点
采用了新架构重新构建产品采用Transparent Sharding中间件技术DAAS数据库即服务实际上就是云数据库 云数据库 云数据库的优势
易——易使用易管理业务敏捷上线稳——高可靠业务零中断跨地域容灾备份快——数据读写时延低快速响应业务需求弹——扩展性好快速自动弹性伸缩密——数据安全性好全同态加密 1.3 关系型数据库架构演进
数据库架构发展
随着业务规模增大数据库存储的数据量和承载的业务压力也不断增大数据库的架构需要随之变化为上层应用提供稳定和高效地数据服务。 单机架构
概念单机架构就是使用一台主机。为了避免应用服务和数据库服务对资源的竞争单机架构也从早期的单主机模式发展到数据库独立主机模式把应用和数据服务分开。应用服务可以增加服务器数量进行负载均衡增大系统并发能力。 优点部署集中运维方便
缺点
数据库架构扩展性只有纵向扩展即通过硬件配置来提高性能但单台主机的硬件可配置的资源会遇到上限存在单点故障。当扩容时往往需要停机扩容服务此时需要停止。硬件故障还会导致整个服务不可用设置数据丢失单机会遇到性能瓶颈 分组架构-主备
概念数据库部署在两台服务器其中承担数据读写服务的服务器称为主机另一台服务器利用数据同步机制把主机的数据复制过来称为备机。在同一时刻只有一台服务器对外提供数据服务。当主机宕机备机可以代替主机工作直至主机被修好。 优点
应用不需要针对数据库故障来增加开发量相对于单机架构提升了数据容错性
缺点
资源浪费备机和主机同等配置但是在主机没有坏掉的情况下备机相当于备份没有实际作用性能压力还是集中在单机上无法解决性能瓶颈问题当出现故障的时候主备机切换需要一定的人工干预和监控 分组架构-主从
概念部署模式和主备机一样不过不同的是备机变成了从机主机负责写操作而从机负责读操作这样可以将读写分离缓解主机压力。
优点
提升资源利用率适合读多写少的应用场景在大并发读写的使用场景中可以使用负载均衡在多个从机间进行平衡从机的扩展性较为灵活扩容操作不会影响到业务进行
缺点
延迟问题数据同步到从机数据库会有延迟在这个延迟过程中从机可能无法读取到最新的数据所以应用必须能够容忍短暂的不一致性写操作的性能压力还是集中在主机上主机出现故障时需要实现主从切换人工干预需要反应的时间自动切换则实现复杂度较高 分组架构-多主
概念拥有多台数据库服务器他们互为主从关系同时对外提供完整的数据服务。 优点资源利用率较高的同时降低了单点故障的风险
缺点
多主机都接收写数据要实现数据的双向同步。而双向复制同样会带来延迟问题极端情况下有可能数据丢失数据库数量增加会导致数据同步问题变得极为复杂故多主实际应用中最多是两台主机 共享存储多活架构
概念是一种特殊的多主架构但数据库服务器是共享存储的而多个服务器实现负载均衡。 优点
多个计算服务器提供高可用服务提供了高级别的可用性。可伸缩性避免了服务器集群的单点故障问题。比较方便的横向扩展能够增加整体系统并行处理的能力
缺点
实现技术难度大虽然服务器越多可以提供高速服务但多个服务器都连接同一台存储设备存储设备的IO带宽跟不上高速的服务故存储IO容易成为整个系统的性能瓶颈。 分片架构
概念分片架构主要表现形式就是水平数据分片架构也就是将数据库的数据拆分成许多份不同份的数据片放在不同的节点上称为一个shard。多个节点都拥有相同的数据库结构但不同分片的数据之间没有交集。由于分片是由数据库所有数据划分故所有分片的并集应该为数据总体。 常见的分片算法列表值、范围取值、Hash值
优点数据分散在集群内的各个节点上所有节点可以独立性工作。 无共享架构 集群中每一个节点都完全拥有自己独立的CPU/内存/存储不存在共享资源。各节点处理自己本地的数据处理结果可以向上层汇总或者通过通信协议在节点间流转。节点是相互独立的扩展能力强。整个集群拥有强大的并行处理能力。其本质上是一个消息传递多处理机。 MPP架构
概念本质上MPP架构即为大规模并行处理机。MPP是将任务并行的分散到多个服务器和节点上在每个节点上计算完成后将各自部分的结果汇总在一起得到最终的结果。 常见的MPP产品
无共享MasterVerticaTerdata共享MasterGreenplumNetezza 1.4 关系型数据库主流应用场景
联机事务处理
概念联机事务处理OnLine Transaction Processing,OLTP是传统关系数据库的主要应用面向基本的日常的事务处理一般来说时效性要求较高例如银行储蓄业务的存取交易转账交易其要求转账这件事务必须A用户转入B用户必须马上完成。
特点
大吞吐大量的短在线事务非常快速的查询处理。高并发准实时响应
应用场景
零售系统金融交易系统火车票销售系统秒杀活动 联机分析处理
概念联机分析处理OnLine Analytical ProcessingOLAP是E.F.Codd那个提出关系型数据库的男人于1993年相对于OLTP系统提出的。指对大量的历史数据进行查询和分析操作涉及到的历史周期比较长数据量大在不同层级上的汇总聚合操作使得事务处理操作比较复杂。
特点
主要面向侧重于复杂查询回答一些战略性问题。数据处理方面聚焦与数据的聚合、汇总、分组计算、窗口计算等“分析型”数据的加工和操作从多维度去使用和分析数据
应用场景
报表系统CRM系统反洗钱系统、金融风险预测预警系统数据仓库、数据集市 OLTP和OLAP对比分析 数据库性能衡量指标
TPC组织Transaction Processing Performance Council事务处理性能委员会
职责是指定商务应用基准测试标准的规范、性能和价格度量并管理测试结果的发布指定的是标准规范而不是代码任何厂家依据规范最优地构造自己系统进行评测推出了很多基准测试标准其中针对OLTP和OLAP有两个规范
TPC-C规范
面向OLTP系统主要包括两个指标tpmc(tpm-transactions per minuete)流量指标即每分钟测试系统处理的事务数量性价比指标Price/tpmc
TPC-H规范
面向OLAP类系统qqhH(Query per hour)流量指标即每分钟处理的复杂查询数量需要考虑测试数据集合大小分为不同的测试数据集测试场景数据加载、power能力测试和Througput测试。