分布式数据库(十二)


分布式数据库(十二) 银行是怎么选择分布式数据库的? 数据库作为一款基础软件,稳定性和可靠性就是它的立身之本。而对稳定性要求最严苛的行业,就是金融业,尤其是银行业。所以,只有经过金融场景的考验,一款数据库产品才能真正扬名立万,让其他行业的用户放心使用。 分布式数据库的应用场景主要特征是海量并发,所以

分布式数据库(十一)


分布式数据库(十一) 容器化 容器化技术可以将资源虚拟化,从而更灵活快速地调配。容器镜像为应用打包提供了完美的解决方案,也为 DevOps 理念的落地扫清了技术障碍。可以说,容器已经成为现代软件工程化的基础设施,容器化已经成为一个不可逆的发展趋势。 Kubernetes 基本概念 1、Contain

分布式数据库(十)


分布式数据库(十) 全球化部署 全球化部署本质就是全球范围下的异地多活。总体上看,异地多活的直接目标是要预防区域级的灾难事件,比如城市级的断电,或是地震、洪水等自然灾害。也就是说,在这些灾难发生时,要让系统还能保障关键业务的持续开展。 因此,这里的『异地』通常是指除同城机房外,在距离较远的城市配备的

分布式数据库(九)


分布式数据库(九) 查询执行引擎 计算引擎在海量数据查询下的一些优化策略,包括计算下推和更复杂的并行执行框架。这些策略对应了从查询请求输入到查询计划这个阶段的工作。那么,整体查询任务的下一个阶段就是查询计划的执行,承担这部分工作的组件一般称为查询执行引擎。 单从架构层面看,查询执行引擎与分布式架构无

分布式数据库(八)


分布式数据库(八) 关联查询 无论是单体数据库还是分布式数据库,关联操作的语义始终没有变,一些经典算法也保持了很好的延续性。 三类关联算法 常见的关联算法有三大类,分别是嵌套循环(Nested Loop Join)、排序归并(Sort-Merge Join)和哈希(Hash Join)。 嵌套循环连

分布式数据库(七)


分布式数据库(七) HTAP 是不是赢者通吃的游戏? OLTP 是面向交易的处理过程,单笔交易的数据量很小,但是要在很短的时间内给出结果;而 OLAP 场景通常是基于大数据集的运算。 OLAP 和 OLTP 通过 ETL 进行衔接。为了提升 OLAP 的性能,需要在 ETL 过程中进行大量的预计算,

分布式数据库(六)


分布式数据库(六) 为什么不建议什么存储过程? C / S 时代 C/S 架构时代的末期,最流行的开发套件是 PowerBuilder 和 Sybase 数据库。PowerBuilder 是一款可视化开发工具,有点像 VB,开发好的程序运行在用户的 PC 终端上,通过驱动程序连接远端的数据库。而 S

分布式数据库(五)


分布式数据库(五) 隔离性(乐观控制协议) 乐观锁:TiDB TiDB 的乐观锁基本上就是 Percolator 模型,它的运行过程可以分为三个阶段。 1、选择 Primary Row 收集所有参与修改的行,从中随机选择一行,作为这个事务的 Primary Row,这一行是拥有锁的,称为 Prima

分布式数据库(四)


分布式数据库(四) 隔离性(显式读写冲突) 多版本并发控制(Multi-Version Concurrency Control,MVCC)就是 通过记录数据项历史版本的方式,来提升系统应对多事务访问的并发处理能力。今天,几乎所有主流的单体数据库都实现了 MVCC,它已经成为一项非常重要也非常普及的技

分布式数据库(三)


分布式数据库(三) 原子性(协议保证) Atomicity: Either all the changes from the transaction occur (writes, and messages sent), or none occur. 原子性就是要求事务只有两个状态: 一是成功,也就是