RDMA网络下重思数据库高可用
RDMA网络下重思数据库高可用摘要高可用数据库系统常常使用用数据复制来达到容错的目的。Active-passive和active-active复制算法都是严重依赖于时延,网络常常成为性能的主要瓶颈。从某种意义上说,这些技术旨在最小化副本之间的网络通信。然而,下一代网络的出现,以期高吞吐低延迟的特性,使得需要重视这些假设。首先提出,现代RDMA网络使得瓶颈转向CPU,因此现代网络优化的复制技术不再是
NVM作为主存上对数据库管理系统的影响
NVM作为主存上对数据库管理系统的影响implications of non-volatile memory as primary storage for database management systems摘要传统的数据库管理系统使用磁盘存储关系型数据。硬盘的特点:廉价、持久性、大容量。然而,从磁盘进行读取数据代价非常高。为了消除这个延迟,需要DRAM作为中间媒介。DRAM的特点:比磁盘速度快
Oracle转换Postgres
1、前提首先需要对Oracle和PostgreSQL的SQL都比较熟悉。对其理解的越详细就越具有优势,本文帮助读者迅速理解这两类SQL的区别是什么。如果因ACS/pg而需要将Oracle移植到PG,那
Oracle转换Postgres
Oracle转换Postgres1、前提首先需要对Oracle和PostgreSQL的SQL都比较熟悉。对其理解的越详细就越具有优势,本文帮助读者迅速理解这两类SQL的区别是什么。如果因ACS/pg而需要将Oracle移植到PG,那么就需要熟悉AOLserver Tcl,尤其是SOLserver的API。本文,主要讨论:Oracle 10g到11g(大多数可以适用到8i)Oracle 12c某些方
#奋斗故事#我的南漂故事:每一次出发都为技术城堡搭建添砖加瓦
导语:在这个世界上,不是所有合理的和美好的都能按照自己的愿望存在或实现,但坚持努力把现在正做的事做好,就是对自己有了交待。南京,古称金陵,是一个风景优美的城市。与南京的邂逅起源于中兴通讯校招报到路上的
XLOG段文件跳号现象分析
一、原理当执行promote时,我们经常看到的结果是:生成一个新XLOG文件,名称为:时间线加1,段文件名为之前的段文件号。那么做这个动作的时机是什么时候呢?是否只有这一种现象,会不会有其他现象?先透
XLOG段文件跳号现象分析
一、原理当执行promote时,我们经常看到的结果是:生成一个新XLOG文件,名称为:时间线加1,段文件名为之前的段文件号。那么做这个动作的时机是什么时候呢?是否只有这一种现象,会不会有其他现象?先透露下,当执行promote动作前,最后一个XLOG日志是SWITCH时,段文件号会加1。下面我们对其流程做详细分析,并通过gdb理解其原理。 做这个动作的
PostgreSQL扫描方法综述
关系型数据库都需要产生一个最佳的执行计划从而在查询时耗费的时间和资源最少。通常情况下,所有的数据库都会产生一个以树形式的执行计划:计划树的叶子节点被称为表扫描节点。查询节点对应于从基表获取数据。例如,
PostgreSQL扫描方法综述
PostgreSQL扫描方法综述 关系型数据库都需要产生一个最佳的执行计划从而在查询时耗费的时间和资源最少。通常情况下,所有的数据库都会产生一个以树形式的执行计划:计划树的叶子节点被称为表扫描节点。查询节点对应于从基表获取数据。例如,这一个查询:SELECT *FROM TAB1,TAB2 where TAB2.ID>1000。假设计划树如下: 上
PostgreSQL WAL解析:构建WAL记录准备
以heap_insert为例,简述WAL的插入过程。在构建WAL日志记录的过程中主要涉及2个数据变量:static XLogRecData rdatas数组和static registered_buffer registered_buffers数组。这两个数组分别用来保存WAL数据和管理rdatas链表。主要涉及3个重要的函数:XLogRegisterData、XLogRegisterBuffer
PostgreSQL WAL解析:构建WAL记录准备
以heap_insert为例,简述WAL的插入过程。在构建WAL日志记录的过程中主要涉及2个数据变量:static XLogRecData rdatas数组和static registered_buffer registered_buffers数组。这两个数组分别用来保存WAL数据和管理rdatas链表。主要涉及3个重要的函数:XLogRegisterData、XLogRegisterBuffer
应用PMDK修改WAL操作使之适配持久化内存
应用PMDK修改WAL操作使之适配持久化内存这几个补丁能够通过使用PMDK对存储在持久化内存PMEM上的WAL日志进行读写。PMEM是下一代存储介质,具有一系列特性:快速、字节寻址、非易失。Pgbench是PG的通用benchmark,使用benchmark进行测试,这些补丁修改后的PG比原生PG性能提升5%。使用我们的insert benchmark,能够比原生PG快90%。下面进行详细描述。这
Postgres-XL 10R1 release版本发布
2018年10月25日2ndQuadrant发布了Postgres-XL 10R1版本。Postgres-XL是一个大规模并行数据库,它基于PG社区版本开发,并和PG高度兼容,支持Business Intelligence负载和读写大事务负载。 PG-XL完全开源。随着我们开始
Postgres-XL 10R1 release版本发布
2018年10月25日2ndQuadrant发布了Postgres-XL 10R1版本。Postgres-XL是一个大规模并行数据库,它基于PG社区版本开发,并和PG高度兼容,支持Business Intelligence负载和读写大事务负载。 PG-XL完全开源。随着我们开始
An Overview of PostgreSQL & MySQL Cross Replication
本博客的目的在于简述MySQL和PostgreSQL之间如何跨数据库进行复制。涉及跨数据库复制的databases一般被称作异构databases。这是将数据从一种RDBMS server复制到另一种server的一种很好的方法。
技术前刊:PostgreSQL12 COPY和bulkloading提升
业务是否依赖COPY命令加载数据?PostgreSQL12提供了一个新特性,大大加快了加载速度。COPY:Loadingandunloadingdataasfastaspossible细看Postgr
技术前刊:PostgreSQL12 COPY和bulkloading提升
业务是否依赖COPY命令加载数据?PostgreSQL12提供了一个新特性,大大加快了加载速度。COPY:Loadingandunloadingdataasfastaspossible细看PostgreSQL12的COPY语法,发现有两处变动:1)\h会有手册文档链接2)COPY支持WHERE条件下
技术前刊:PostgreSQL12 COPY和bulkloading提升
业务是否依赖COPY命令加载数据?PostgreSQL12提供了一个新特性,大大加快了加载速度。
How to Optimize PostgreSQL Logical Replication
逻辑复制(Logical Replication)或Pglogical是表级别的复制。两者都是基于WAL的复制机制,允许在两个实例之间复制指定表的WAL。这两个看起来让人迷惑,到底有什么区别呢?
PostgreSQL的MVCC vs InnoDB的MVCC
任何一个数据库最主要功能之一是可扩展。如果不删除彼此,则尽可能较少锁竞争从而达到这个目的。由于read、write、update、delete是数据库中最主要且频繁进行的操作,所以并发执行这些操作时不被阻塞则显得非常重要。为了达到这种目的,大部分数据库使用多版本并发控制(Multi-Version Concurrency Control)这种并发模型。这种模型能够将竞争减少到最低限度。