Python 在 Console 输出颜色内容
Redis - (error) NOAUTH Authentication required.
{Password} 就是你的 Redis 服务设置的安全密码。
ACID、CAP 和 BASE
背景知识 ACID 原则 ACID 是指数据库管理系统在写入或更新资料的过程中,为保证事务(transaction)是正确可靠的,所必须具备的四个特性:原子性(atomicity)一致性(consistency)隔离性(isolation)持久性(durability)CAP 理论 来自Berkerly的Eric Br…
数据库集群和分布式数据库的区别
数据库集群,顾名思义,就是利用至少两台或者多台数据库服务器,构成一个虚拟单一数据库逻辑映像,像单数据库系统那样,向客户端提供透明的数据服务。一.数据库集群的定义这里有两个关键点:1. 两台或者多台数据库服务器:如果只有一台数据库服务器是不能称…
阿里X-engine论文解析
转自文末重磅福利 | 一条数据的漫游——X-Engine SIGMOD论文详解-阿里云开发者社区
Mysql日志分组复制(MGR)要同步哪些信息给从节点?
分别是什么?介绍冲突检测实现原理之前,先介绍一下广播信息 transaction message、冲突检测内存 certification info 的结构组成。(1) transaction message如图 8 所示,transaction message 保存是事务 T1 要更新行的的相关信息,有 transaction_context_log…
mysql8.0 MGR日志复制
MySQL 8.0.14版本增加了一个新特性:MGR读写一致性;有了此特性,“妈妈”再也不用担心读MGR非写节点数据会产生不一致啦。 有同学会疑问:“MGR不是’全同步’么,也会产生读写不一致?”,在此肯定的告诉大家MGR会产生读写不一致,原因如下: MGR相对于半…
LSM实现热数据读写和range查询加速
LSM-tree 上的读路径,从出生就带着镣铐。因为 CoW 的使用,读一条记录实际上需要把这条记录所有的增量碎片都找到。因为横跨内存和磁盘两种介质和有层次化的存储,这些碎片可能藏在各种犄角旮旯里面。更惨的是,如果是读一个范围内的记录,俗称 range scan…
OLTP,MPP和Hadoop
我的一些朋友问我有关OLTP,MPP和Hadoop的问题。我试图解释如下。 这与撰写本文的时间有关。事情变化如此之快:)。 OLTP数据库(Oracle,DB2)与MPP(Netezza,Teradata,Vertica等): 1.-DB Oracle或DB2需要在开始处理之前从磁盘读取数据到内存,因此内存…
Python-Functools 11个函数讲解
我们对这个模块使用的时候会把我们的代码变得极其简单。 这里使用的是 Python==3.8。 将变得很快捷。 这是装饰器的必须条件。 将比较函数转换为键函数的方法。 如值小于0则说明第一个参数小于第二个。 并返回一个可用于排序的对象值。 那我推荐你使用它。 你传递的参数必须是可…
2PC 与 3PC阶段提交过程
2PC 与 3PC阶段提交过程
MySQL XA 介绍
引言 在MySQL 5.7.7版本中,Oracle 官方将MySQL XA 一直存在的一个“bug” 进行了修复,使得MySQL XA 的实现符合了分布式事务的标准。那是否可以使用MySQL XA 让MySQL 具有分布式扩展的能力呢?在回答这个问题前,我们先看下MySQL XA 涉及到的相关概念。 相…
共识协议:2PC两阶段提交
在接下来的几篇文章中,我将写分布式计算中最基本的概念之一-与理论和实践社区同等重要。该共识的问题是获得一组节点的分布式系统上进行一些同意的问题-这可能是一个值,行动或决策的过程。达成共识允许分布式系统充当单个实体,每个单独的节点都知道并与整…
分布式事务提交协议: 2PC/3PC
数据共享和并发编程是计算机应用中的普遍需求, 数据库的事务机制, 能帮助backend程序员编写正确的并发程序,并减轻心智负担. 因为事务具有ACID特性[1]:Atomicity: 修改一组元素, 成功, 则所有元素的变更均生效; 失败, 数据库自动撤销部分元素的变更, rollba…
2PC与3PC协议间的差异分析
2PC (两阶段提交)协议和3PC (三阶段提交)协议本身其实很简单. 我尽量通过少写字, 多上图的方法, 用一个coordinator和三个voter达成共识的例子来说明这两个协议的想法.2PC (两阶段提交)协议2PC的原理顾名思义, 2PC协议有两个阶段:Propose和Commit. 在无failu…
MySQL Prepared语句简介
之前的MySQL版本4.1,查询以文本格式发送到MySQL服务器。 之后,MySQL服务器使用文本协议将数据返回给客户端。MySQL必须完全解析查询,并将结果集转换为字符串,然后再将其返回给客户端。 文本协议具有严重的性能问题。为了解决这个问题,MySQL自版本4.1以…
一个无中心分布式事务架构的构思
与Fescar这种比较复杂的、将分布式事务由一个单独的服务来支撑的架构不同,本文提出的架构不同点主要体现在以下两点: 1)它是无中心的,不需要架设单独的事务服务器,这在某些情况下,例如两个用户之间两两转账时,因为不需要中心服务器的支撑,性能高、实…
SAGA改进思路
最近打算给jSqlBox添加分布式事务功能,研究了几种分布式事务方案,对SAGA模式比较感兴趣,它是通过将多个事务隔离成多个单个事务,顺序执行(或回滚阶段倒序对冲)来完成的,但是SAGA分布式事务不能保证隔离性的问题,因为单纯的SAGA模式没有锁住资源。经…
分布式事务:2PC、3PC、SAGA、TCC
导读:微服务拆分之后,在很多场景,分布式事务无法避免。而分布式事务是行业内的一个技术难点,没有一种完美的方案。分布式事务有哪些解决方案?又应该如何落地?听京东数科数据研发负责人张亮讲述分布式事务的点点滴滴。本文适合研发工程师,技术经理,架…
关于分布式事务,XA协议的学习笔记
XA分布式事务协议,包含二阶段提交(2PC),三阶段提交(3PC)两种实现。 1、二阶段提交方案:强一致性 事务的发起者称协调者,事务的执行者称参与者。 处理流程: 1、准备阶段 事务协调者,向所有事务参与者发送事务内容,询问是否可以提交事务,并等待参…