数据库技术发展演进**2008年以前**2008 年以前应用最为广泛的是单机关系型数据库(SQL),能很好的解决复杂的数据运算及表间处理,多用于银行、电信等传统行业复杂业务逻辑场景中,以 Oracle 为代表。此类数据库挑战... 图|TiDB整体架构### TiDB ServerSQL 层,对外暴露 MySQL 协议的连接 endpoint,负责接受客户端的连接,执行 SQL 解析和优化,最终生成分布式执行计划。TiDB 层本身是无状态的,实践中可以启动多个 TiDB 实例,通过负...
# 简介众所周知,在数据库存储引擎侧通常有两类存储模型,行式存储NSM(N-ary Storage Model)和列式存储DSM(Decomposition Storage Model),两种存储模型各有其特定的擅长场景。在以前,主流存储设备是机械磁盘的情况... 行内记录逻辑地址),连续多行构成一个页,页的尾部通常会存储索引来解决record不定长时的快速查找问题,数据排列结构如下图所示:![image.png](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/e16f7264796645db...
## 1. 什么是事务事务是数据库管理系统(DBMS)执行过程中的一个逻辑单位(不可再进行分割),由一个有限的数据库操作序列构成(多个DML语句,select语句不包含事务),要不全部成功,要不全部不成功。如 A 给 B 要划钱,A 的账户-1000 元, B 的账户就要+1000 元,这两个 update 语句必须作为一个整体来执行,不然 A 扣钱了,B 没有加钱这种情况就是错误的。那么事务就可以保证 A 、B 账户的变动要么全部一起发生,要么全部一起不发生。##...
PostgreSQL 提供了逻辑流复制功能,至此,PostgreSQL 拥有了更加完备的数据同步方式,解决了物理流复制无法覆盖的一些场景。本章内容将介绍物理复制与逻辑复制的一些差别。## 参数配置差异我们知道在 PostgreSQL 中如果想要实施流复制,有一个非常重要的参数为 **wal_level** [1],这个参数确定了需要多少信息记录到 WAL 日志中。**wal_level** 有三个取值,区别如下:* minimal:不能通过基础备份和 WAL 日志恢复数据库* replica:...
PostgreSQL 提供了逻辑流复制功能,至此,PostgreSQL 拥有了更加完备的数据同步方式,解决了物理流复制无法覆盖的一些场景。本章内容将介绍物理复制与逻辑复制的一些差别。## 参数配置差异我们知道在 PostgreSQL 中如果想要实施流复制,有一个非常重要的参数为 **wal_level** [1],这个参数确定了需要多少信息记录到 WAL 日志中。**wal_level** 有三个取值,区别如下:* minimal:不能通过基础备份和 WAL 日志恢复数据库* replica:...
也知道是一款国人研发的数据库,但你知道TiDB到底是如何实现的?它跟其他数据库产品相比,它的核心优势是什么?此次夜校分享,xiaoyu向大家介绍了数据库发展史、TiDB 设计、架构及生态及TiDB在得物的应用。# 数据库技术发展演进**2008年以前**2008 年以前应用最为广泛的是单机关系型数据库(SQL),能很好的解决复杂的数据运算及表间处理,多用于银行、电信等传统行业复杂业务逻辑场景中,以 Oracle 为代表。此类数据库挑战在于成本...
# 前言在这篇文档中[1],我们了解了物理复制和逻辑复制的区别,本章内容主要聚焦于逻辑复制的使用场景,当了解了适用场景后,会使得业务架构更加灵活。## 场景一:数据汇总与拆分当多个独立的业务库需要将数据汇总到数据仓库,以便于进行后续分析的场景,逻辑复制是非常适合的。一是不需要额外的组件来支撑,二是可以做到实时同步。对于数据拆分的场景,由于逻辑复制的粒度可以到表级别,可以将一个数据库按照表的粒度拆分到不同的数据...
业界将关系型数据库与 NoSQL 数据库的优势进行了融合,出现了 NewSQL 数据库,随着云原生技术的入场与爆发,又有了云原生数据库。![image.png](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/69f86f1596e34fbd92b8714d2a5f140a~tplv-k3u1fbpfcp-5.jpeg?)**关系型数据库**将数据存储于二维表格之中,数据以行为单位,一行数据表示一个实体信息,每一行数据的属性都是相同的,通过 SQL 语言进行操作,容易理解,广泛应用于企业的...
# 前言在配置好逻辑复制之后,我们需要了解逻辑复制相关信息,如复制延迟,replication slot 相关位点信息。PostgreSQL 为我们提供了丰富的表/视图,方便我们进行监控。## 检查逻辑复制的基本配置信息在订阅端查看基... 可以和 pg_user 视图的 usesysid 字段关联查询属主的具体信息。* puballtables:是否发布数据库中的所有表,"t" 表示发布数据库中所有已存在的表和以后新建的表。* pubinsert:"t" 表示仅发布表上的INSERT操作。* ...
关系型数据库将数据存储于二维表格之中,数据以行为单位,一行数据表示一个实体信息,每一行数据的属性都是相同的,通过SQL语言进行操作,容易理解,广泛应用于企业的 ERP、CRM、财务系统和交易系统等核心业务系统。其最... 可以获得更强的数据库能力,也可以聘请更专业的DBA进行数据库维护,保障数据库系统稳定运行。企业组织中越是重要核心的数据库系统,会获得更多的资源投入。DBA,Database Administrator,是数据库管理员的简称。从名字...
称为HTAP数据库罢了。这么做的话数据仍然要存两份(row & column),管控面的麻烦从外部转移到内部而已,并没有什么实际的架构创新。**所以,本论文提出了一种新的想法,**不再“分而治之”,而是要构建一个统一的存储层... 把逻辑Tile存储的“指针(offset)”转化为具体数据的操作*NOTE:- 一个逻辑Tile对应一个物理的Tile Group- 逻辑Tile里的不同列可以指向物理Tile里的同一列,如上图逻辑Tile的第二列指向了Tile A-2的第一列,...
## 分布式数据库架构简介![image.png](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/9ca5ef2ef9af4cedb544547a86a09a3e~tplv-k3u1fbpfcp-5.jpeg?)相信对数据库感兴趣的同学对上面这张图也不会陌生。这... 数据库的计算引擎是用来处理计算逻辑和事务逻辑的,一些核心的模块包括:- 接入层- Query Engine- Buffer Pool- 日志子系统- 事务子系统- 锁子系统可以这么说,缺了上述任意一个模块都很难构建出...
**关系型数据库**将数据存储于二维表格之中,数据以行为单位,一行数据表示一个实体信息,每一行数据的属性都是相同的,通过 SQL 语言进行操作,容易理解,广泛应用于企业的 ERP、CRM、财务系统和交易系统等核心业务系统... 可以获得更强的数据库能力,也可以聘请更专业的 DBA 进行数据库维护,保障数据库系统稳定运行。企业组织中越是重要核心的数据库系统,会获得更多的资源投入。DBA,Database Administrator,是数据库管理员的简称。从...