# 简介众所周知,在数据库存储引擎侧通常有两类存储模型,行式存储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 账户的变动要么全部一起发生,要么全部一起不发生。##...
数据库技术发展演进**2008年以前**2008 年以前应用最为广泛的是单机关系型数据库(SQL),能很好的解决复杂的数据运算及表间处理,多用于银行、电信等传统行业复杂业务逻辑场景中,以 Oracle 为代表。此类数据库挑战... 图|TiDB整体架构### TiDB ServerSQL 层,对外暴露 MySQL 协议的连接 endpoint,负责接受客户端的连接,执行 SQL 解析和优化,最终生成分布式执行计划。TiDB 层本身是无状态的,实践中可以启动多个 TiDB 实例,通过负...
PostgreSQL 提供了逻辑流复制功能,至此,PostgreSQL 拥有了更加完备的数据同步方式,解决了物理流复制无法覆盖的一些场景。本章内容将介绍物理复制与逻辑复制的一些差别。## 参数配置差异我们知道在 PostgreSQL 中如果想要实施流复制,有一个非常重要的参数为 **wal_level** [1],这个参数确定了需要多少信息记录到 WAL 日志中。**wal_level** 有三个取值,区别如下:* minimal:不能通过基础备份和 WAL 日志恢复数据库* replica:...
也知道是一款国人研发的数据库,但你知道TiDB到底是如何实现的?它跟其他数据库产品相比,它的核心优势是什么?此次夜校分享,xiaoyu向大家介绍了数据库发展史、TiDB 设计、架构及生态及TiDB在得物的应用。# 数据库技术发展演进**2008年以前**2008 年以前应用最为广泛的是单机关系型数据库(SQL),能很好的解决复杂的数据运算及表间处理,多用于银行、电信等传统行业复杂业务逻辑场景中,以 Oracle 为代表。此类数据库挑战在于成本...
数据库和表概述数据库其实是数据的逻辑分组。每个数据库包含许多表和视图。表是存放数据的地方,由结构化的行和列组成。视图是依赖于表的保存的查询。当访问视图时,会在后台执行查询并返回结果。 数据库每个数据库都属于一个帐户。用户只能访问属于自己帐户的数据库(当拥有权限时) 创建数据库 sql CREATE DATABASE my_database01;注意 数据库名称中只能包含 字母数字 字符 a-z 0-9 和 下划线 _ 。所有名称将自动转换为 小写 。 ...
弥补了传统数据库的痛点,带来了高可扩展性、全面自动化、快速部署、节约成本、管理便捷等优势。从 2018 到 2021 年,伴随业务和数据的迅猛增长,字节跳动的分布式数据库系统取得了令人振奋的发展。如下图所示,在这... 代理层主要负责数据库的一些接入工作,比如鉴权、流量染色、流量分发等;* **Database 层**:这一层部署着数据库的一些实例,通过数据库的 Binlog 实现数据的同步、高可用。整体来讲,第一代数据库系统架构以开源...
# 前言在这篇文档中[1],我们了解了物理复制和逻辑复制的区别,本章内容主要聚焦于逻辑复制的使用场景,当了解了适用场景后,会使得业务架构更加灵活。## 场景一:数据汇总与拆分当多个独立的业务库需要将数据汇总到数据仓库,以便于进行后续分析的场景,逻辑复制是非常适合的。一是不需要额外的组件来支撑,二是可以做到实时同步。对于数据拆分的场景,由于逻辑复制的粒度可以到表级别,可以将一个数据库按照表的粒度拆分到不同的数据...
称为HTAP数据库罢了。这么做的话数据仍然要存两份(row & column),管控面的麻烦从外部转移到内部而已,并没有什么实际的架构创新。**所以,本论文提出了一种新的想法,**不再“分而治之”,而是要构建一个统一的存储层... 把逻辑Tile存储的“指针(offset)”转化为具体数据的操作*NOTE:- 一个逻辑Tile对应一个物理的Tile Group- 逻辑Tile里的不同列可以指向物理Tile里的同一列,如上图逻辑Tile的第二列指向了Tile A-2的第一列,...
弥补了传统数据库的痛点,带来了高可扩展性、全面自动化、快速部署、节约成本、管理便捷等优势。从 2018 到 2021 年,伴随业务和数据的迅猛增长,字节跳动的分布式数据库系统取得了令人振奋的发展。如下图所示,在这... **Proxy 层:** 代理层主要负责数据库的一些接入工作,比如鉴权、流量染色、流量分发等;- **Database 层:** 这一层部署着数据库的一些实例,通过数据库的 Binlog 实现数据的同步、高可用。整体来讲,第一代数...
云原生数据库、分布式数据库等等。每一类数据库中使用不同的技术实现,又可以分化出不同的产品类型。根据DB-Engines的统计,数据库产品数量已经有将近400种,数据库厂商也有几百家,如下图所示,不同数据库产品的实际应... 可以获得更强的数据库能力,也可以聘请更专业的DBA进行数据库维护,保障数据库系统稳定运行。企业组织中越是重要核心的数据库系统,会获得更多的资源投入。DBA,Database Administrator,是数据库管理员的简称。从名字...
## 分布式数据库架构简介![image.png](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/9ca5ef2ef9af4cedb544547a86a09a3e~tplv-k3u1fbpfcp-5.jpeg?)相信对数据库感兴趣的同学对上面这张图也不会陌生。这... 我们构建这个分布式数据库,由始至终贯彻的一个非常重要的理念是:log is the database。我们最终落地的数据是 Page,这个 Page 就要从 log 中来。![image.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfc...
分析型数据库中的列式存储,是一种数据库的物理存储结构,它是根据数据的列而不是行来存储数据的。列式存储的主要优势在于它能够提高数据分析和查询的性能,尤其是在处理大规模数据集时。以下是列式存储的一些主要特... 表数据物理上按 Partition Key 切分为多个 Parts 存储在统一的云存储的逻辑存储路径下,每个 Part 的大小有数据量和行数限制,计算组根据服务节点分配的策略(预先分配和实时分配)获得其对应的部分 parts。### Part...