首页
学习
活动
专区
工具
TVP
发布

架构: 数据库架构设计

引言 本文介绍数据库中的架构设计; 通常,单机是无法满足大系统对数据库的读写要求的,必须用集群的方式来解决; 引入集群意味着提升了系统的复杂度,使系统变得复杂和不好维护; 通常采用数据库负载均衡策略、读写分离策略...、分库分表策略等加以优化; 负载均衡 扩展性强:当系统要更高数据库处理速度时,只要简单地增加数据库服务器就可以得到扩展; 可维护性:当某节点发生故障时,系统会自动检测故障并转移故障节点的应用,保证数据库的持续工作...IO压力,采取读写分离; 实现原理: 数据库服务器搭建主从集群,一主一从、一主多从都可以; 数据库主机负责读写操作,从机只负责读操作; 数据库主机通过复制将数据同步到从机,每台数据库服务器都存储了所有的业务数据...)读写操作全部指向主机,非关键业务采用读写分离; 分库分表 分数据库 是指按功能模块拆分到不同的数据库,比如分为订单库、商品库、用户库; join只适用于同一数据库的不同表联合查询,拆分后不同数据库之间无法用...join语句进行查询,只能分几次查询; 事务是同一数据库中的概念,要想在不同数据库之间实现事务的回滚,只能用查询log回滚的方式; 成本高,拆分到不同的数据库意味着需要建立多个备份数据库; 分数据库

87030

MyCat 启蒙:分布式系统的数据库架构演变单数据库架构主从数据库架构垂直切分数据库架构水平切分数据库架构总结

此时的项目架构图如下所示: ? 分布式部署-单数据库架构 但随着我们部署的应用服务器越来越多,后端的单台数据库服务器已经无法承受如此巨大的流量了。...主从数据库架构 这个时候常用的解决方案就是将原本单台数据库服务器变成主从模式的数据库服务器,即一台数据库作为主库支持写入数据,一台数据库作为读库支持查询数据。此时项目的架构图如下所示: ?...此时,我们的系统架构图如下图所示: ? 垂直切分数据库架构 实现了垂直拆分之后,我们可以成功解决上面说到的三个问题:业务模块相互影响问题、单数据库压力问题。...水平切分数据库架构数据库架构经历了主从架构、垂直拆分架构之后,应对一般的业务读写是没有什么问题了。但对于一些核心的业务数据,可能还是会有瓶颈问题,例如用户模块。...总结 从单一的数据库架构,到主从读写分离的数据库架构,再到垂直拆分、水平拆分的数据库架构。我们可以看到 MyCat 帮我们解决了读写数据源判断、繁杂数据源地址、分表判断这三个机械的重复性的问题。

1.6K80
您找到你想要的搜索结果了吗?
是的
没有找到

数据库架构比较

20世纪90年代,使用MPP架构的Netezza和Teradata的数据库设备对Oracle,IBM和Microsoft在anlytics数据库市场的主导地位提出了挑战,并且随着“大数据”的出现以及带有分布式处理的...底层硬件和数据库系统架构最初是在20世纪70年代开发的,它基于对称多处理(SMP)硬件,其中许多物理处理器(或核心)使用共享内存和磁盘执行指令。...基于SMP的数据库解决方案具有以下优点和缺点: 优点 它的工作原理:它是一种经过战斗强化,经过验证的架构,部署成本相对较低,可以运行从大型服务器到中型商用硬件的各种设备。...选项2:MPP硬件上的关系数据库 1984年,Teradata使用大规模并行处理(MPP)架构交付了第一个生产数据库,两年后,福布斯杂志将Teradata命名为“年度产品”,因为它生产了第一个TB级生产数据库...Hadoop / HDFS架构 作为本文关于数据库体系结构的重点,我将重点介绍批处理用例。

3.9K21

GEO数据库架构介绍

GEO是一个国际化的开源项目,允许研究者提交自己的数据到该数据库,在世界范围内公开共享自己的数据,网址如下 https://www.ncbi.nlm.nih.gov/geo/ 该数据库最开始主要用于分享芯片数据...在该数据库中,将所有相关信息分成以下几类,示意如下 ? 1. Platform 芯片平台或者测序平台,每个平台有一个唯一的以GPL开头的编号,高通量测序平台,示意如下 ?...对于高通量测序数据,根据数据类型会给出不同种类的文件,如果原始的测序数据有上传到SRA数据库,也会给出对应SRA编号,示意如下 ? 3....数据共享使得基于公共数据库的数据挖掘成为可能,也可以通过分析已有的同种类型数据来和自己的测序数据相互印证。 ·end· —如果喜欢,快分享给你的朋友们吧—

92110

PostgreSQL数据库体系架构

比如:一个cluster初始化之后,包含3个默认数据库:postgres,默认的管理数据库;template0,默认的不可修改的空数据库;template1,默认的模板数据库,当我们创建数据库时,会参照该数据库来创建...,pg_global用于存放cluster全局共享的数据库对象信息,例如:cluster中数据库本身的信息,表空间的信息,数据库订阅信息,数据库复制信息,数据库认证授权信息、控制文件等。...这一点儿上,倒是有点儿类似于Oracle数据库的专表空间专用。表空间和数据库的关系:一个表空间可以给多个数据库使用,一个数据库里的不同数据库对象也可以存放在不同的表空间下。...表空间和数据库的关系,不严格的讲,可以说是多对多的关系。不像Oracle数据库中,一个数据库可以包含多个表空间,且每个表空间只能属于一个数据库使用。...(即以数据库管理员身份访问系统数据库,关于数据库的更多使用,后面再讲)。

4.1K40

数据库典型架构实践

本文将介绍数据库架构设计中的一些基本概念,常见问题以及对应解决方案,为了便于读者理解,将以“用户中心”为例,讲解数据库架构设计的常见玩法。...分组架构究竟解决什么问题? 答:大部分互联网业务读多写少,数据库的读往往最先成为性能瓶颈,如果希望: 线性提升数据库读性能。 通过消除读写锁冲突提升数据库写性能。...此时可以使用分组架构,需要注意的是,分组架构中,数据库的主库依然是写单点。 04 分片架构 ? 1. 分片架构究竟解决什么问题?...一句话总结,分片解决的是“数据库数据量大”问题,所实施的架构设计。 05 分组+分片架构 ?...本文以“用户中心”为例,对常见数据库架构设计进行了简要梳理与总结,但实际数据库架构设计远比此复杂,特别是水平切分的架构设计,不同业务场景的切分方式不尽相同。

51510

Mysql实例 数据库优化--数据库架构扩展

五.数据库架构扩展 随着业务量越来越大,单台数据库服务器性能已无法满足业务需求,该考虑增加服务器扩展架构了。...增加缓存 给数据库增加缓存系统,把热数据缓存到内存中,如果缓存中有请求的数据就不再去请求MySQL,减少数据库负载。缓存实现有本地缓存和分布式缓存,本地缓存是将数据缓存到本地服务器内存中或者文件中。...主从复制与读写分离 在生产环境中,业务系统通常读多写少,可部署一主多从架构,主数据库负责写操作,并做双机热备,多台从数据库做负载均衡,负责读操作。...在这种MySQL主从复制拓扑架构中,分散单台负载,大大提高数据库并发能力。如果一台从服务器能处理1500 QPS,那么3台就能处理4500 QPS,而且容易横向扩展。...如果业务量很大,还可将分离后的数据库做主从复制架构,进一步避免单库压力过大。

2K20

数据库架构】什么是 OLAP?

大多数 OLAP 系统的核心,OLAP 多维数据集是一个基于数组的多维数据库,与传统的关系数据库相比,它可以更快、更高效地处理和分析多个数据维度。...关系数据库表的结构类似于电子表格,以二维、逐列的格式存储各个记录。数据库中的每个数据“事实”都位于两个维度(行和列)的交集处,例如区域和总销售额。...HOLAP HOLAP 或混合 OLAP 尝试在单个 OLAP 体系结构内创建关系数据库和多维数据库之间的最佳分工。关系表包含大量数据,OLAP 多维数据集用于聚合和推测处理。...此外,其复杂的架构通常需要更频繁的更新和维护,因为它必须存储和处理来自关系数据库和多维数据库的所有数据。出于这个原因,HOLAP 最终可能会变得更加昂贵。...QQ群 【792862318】深度交流企业架构,业务架构,应用架构,数据架构,技术架构,集成架构,安全架构。以及大数据,云计算,物联网,人工智能等各种新兴技术。

3.5K30

数据库架构演变过程

数据的存储是首先要解决的问题,在这个大数据时代,数据就是企业的命根子,数据库的单体架构很难满足数据的存储,这时,我们要对数据进行切分,数据的切分又分为垂直切分和水平切分。...数据切分和数据库架构 在数据切分之前,我们的所有业务都放在一个数据库中,比如:我们的用户业务,商品业务,订单业务。...数据库架构如下: [1571966651393.png] 在业务发展到一定规模时,一个数据库很难满足数据的存储,并且导致数据的访问比较慢,导致用户的流失。...分库分表中间件MyCAT 数据库的整体架构我们规划好了,那么我们在进行开发的时候,怎么确定一条数据从哪个数据库读取呢?或者插入一条数据的时候,这条数据要插入到哪一个数据库呢?...如图所示: [1571971864731.png] 这就是我们最终的数据库架构,不存在任何的单点故障。

66240

现有「数据库架构」过时了 !

我们仍在为几十年前存在的硬件设计基础架构;这种不和谐在一些地方开始显现出来。 Hadoop的崛起和殒落 Hadoop就是个典例,它表明了这个过程是如何显现的。...今天的RDBMS架构仍体现了底层硬件方面的这些老观念。问题在于,那些观念不再成立。RAM的便宜程度是上世纪60年代的人无法想象的。...结果是,即便在如今容器、微服务和云计算大行其道的时代,大多数RDBMS架构将云视为虚拟数据中心。这不仅仅是对过去的迷人提醒,它对数据库的成本和性能也有重要影响。...过时的观念:数据库需要可靠的存储 关系数据库比NoSQL数据库要慢的原因之一是,它们在确保数据安全方面投入了大量精力。...传统的RDBMS架构假定它们在存在单一存储故障点的单台服务器上运行,因此不遗余力地确保数据正确存储起来。

54320

数据库高可用架构浅析

数据库作为信息系统重要的基础设施,一直承担着压舱石的角色。互联网应用的高并发、海量数据使得数据库的负载越来越重,这在数据大集中的情况下愈发明显。...传统关系型数据库经过几十年的发展,目前高可用方案都已经非常成熟,目前数据库常用的高可用方案主要包括:主机HA、数据库主备和数据库集群方案。...主机HA由于其适用范围广、切换时间短被广泛应用于生产环境的各类数据库上,主机层面的高可用这里不再讨论。 主备方案 主备方案是目前数据库最常用的高可用方案。...上图是hadr的架构图,可以看到hadr总共有四种同步模式: SYNC:主备数据库都将日志成功落盘,应用才能提交。这是最大数据保护模式,但性能损耗较大。...下图为adg架构图: ? 主库向备库发送日志有两种方式,一是通过归档进程arch发送,这样的话就需要等待redo日志切换归档日志生成后才能进行发送,这个明显是异步的。

93330

架构设计-数据库

之前我们讲过架构设计的一些原则,和架构设计的方法论,今天我们谈谈高性能数据库集群的设计与应用。 读写分离原理 读写分离的基本原理是将数据库读写操作分散到不同的节点上,下面是其基本架构图。...其基本原理是一个基于集中式配置的 jdbc datasource实现,具有主备、读写分离、动态数据库配置等功能,基本架构是: 2.中间件封装 中间件封装指的是独立一套系统出来,实现读写操作分离和数据库服务器连接的管理...其基本架构是: 数据库中间件的方式具备的特点是: 能够支持多种编程语言,因为数据库中间件对业务服务器提供的是标准SQL接口。...MySQL Router的主要功能有读写分离、故障自动切换、负载均衡、连接池等,其基本架构如下: 奇虎360公司也开源了自己的数据库中间件Atlas,Atlas是基于MySQL Proxy实现的,基本架构如下...但不管怎样,当看到表的数据量达到千万级别时,作为架构师就要警觉起来,因为这很可能是架构的性能瓶颈或者隐患。

20820

浅析开源数据库MySQL架构

数据库是所有应用系统的核心,故保证数据库稳定、高效、安全地运行是所有企业日常工作的重中之重。数据库系统一旦出现问题无法提供服务,有可能导致整个系统都无法继续工作。...所以,一个成功的数据库架构在高可用设计方面也是需要充分考虑的。下面就为大家介绍一下如何构建一个高可用的MySQL数据库系统。...IO操作保持顺序,可满足数据库对数据一致性的苛刻要求。 劣势:非分布式文件系统环境无法支持镜像数据同时可见,即性能和可靠性两者相互矛盾,无法适用于对二者要求都比较苛刻的环境。...说完了各种常用架构的优缺点后,剩下的就是如何选择合适的架构在现实的生产环境中使用的问题。在这方面每个人都有自己的想法和经验,具体哪个方案是最优的就见仁见智了。...单从MySQL来说任何一个架构都无法解决所有的问题(痛点),都需要根据实际的情况选择一个合适架构

1.7K120

数据库架构】什么是 OLTP?

OLTP 或在线事务处理允许大量人员(通常通过 Internet)实时执行大量数据库事务。 数据库事务是对数据库中数据的更改、插入、删除或查询。...在每种情况下,数据库交易也保留为相应金融交易的记录。OLTP 还可以推动非金融数据库交换,包括密码更改和短信。...OLAP 系统使用多维数据库——一种由多个关系数据库创建的特殊类型的数据库,它支持涉及来自当前和历史数据的多个数据事实的复杂查询。(OLAP 数据库可以组织为数据仓库。)...OLTP 数据库需要的存储空间相对较少;OLAP 数据库处理大量数据集,并且通常需要大量存储空间。 OLTP 系统需要频繁或并发备份;OLAP 系统的备份频率要低得多。...QQ群 【792862318】深度交流企业架构,业务架构,应用架构,数据架构,技术架构,集成架构,安全架构。以及大数据,云计算,物联网,人工智能等各种新兴技术。

2K70

故事篇:数据库架构演变之路

「旁白:」 随着访问量的上升,几乎大部分使用MySQL架构的网站在数据库上都开始出现了性能问题,web程序不再仅仅专注在功能上,同时也在追求性能。...「旁白:」 增加数据库缓存层只能缓解数据库读取压力,拦截部分数据库访问请求。但是随着用户访问量的进一步增长,读写集中在一个数据库上让数据库不堪重负,数据库访问的瓶颈进一步凸显出来。...这个时候,就不得不对数据层的架构进行改造。 「嘉文:」 谁说不是呢,还好我机智,我又招了两个人,把窗口进行了优化:A专门负责存款业务,BC窗口负责取款业务。...「旁白:」 当我们使用了主从数据库架构之后,我们会发现我们能支撑更多的用户访问和请求了。...❝以上故事纯属虚构,只为给大家演示一下数据库架构的演变历程。真实的银行系统及业务如何办理,阿Q没有特别深入的研究,只是剧情需要杜撰了一下,仅为了增加大家的理解。

29510

架构师--浅谈数据库选型

架构选型的时候通常涉及数据库的选型,一般会从业务场景(时效性、数据量、成本、数据schema等)、数据库的成熟度、数据库的社区活跃度(可参考网站:https://db-engines.com/en/ranking...)、数据库功能等多角度考虑。...数据库特性事务事务是代表一个或者一系列操作的最小逻辑单元,这个逻辑单元内的所有操作要么全部成功,要么就全部失败。...数据库分类下面根据业务使用场景对常用数据库进行通用分类,关系型数据库产品:Mysql、Oracle、PostgreSQL为代表,均是结构化的关系型数据库,主要基于SQL进行操作;文档数据库产品:以MongoDB...KV数据库产品:以Redis、Memcached作为代表,主要应用在热点数据的缓存系统,支持典型数据库的快速存储访问图数据库产品:以Neo4j、nebula作为代表,支持图的存储,主要应用于知识图谱、关键路径搜索等场景

44320

无限容量数据库架构设计

本文是不同业务场景下,体系化的介绍“数据库水平切分”技术,和大家分享。...一、总起 内容: 单库体系架构 数据库分组架构 数据库分片架构 数据库垂直切分 二、实践一 场景:单key业务,如何做到数据库无限容量 内容: 用户中心业务分析 用户中心水平切分方案 “前台与后台分离...”架构设计思想 uid分库,name上的查询四种方案 三、实践二 场景:1对多业务,如何做到数据库无限容量 内容: 帖子中心业务分析 “索引外置”架构设计思想 基因法,uid分库还是tid分库不再纠结...四、实践三 场景:多对多业务,如何做到数据库无限容量 内容: 好友中心业务分析 数据冗余的三种方案 “最终一致性”架构设计思想 保证数据一致性的四种方案 五、实践四 场景:多key业务,如何做到数据库无限容量...关注我:简信回复“架构”获取往期Java高级架构资料、源码、笔记、视频 Dubbo、Redis、设计模式、Netty、zookeeper、Spring cloud、分布式、 高并发等架构技术 资料和思维导图获取方式

73400
领券