分布式系统
北海宇微
生命源于感动,感动让我们有了羁绊,让我们有了不舍,让我们在生去生命那—刻可以笑看人生一一一一我来过
展开
-
分布式无处不在,数据库事务弱一致性是否必然
在计算机系统中,指令是计算机运行的最小的功能单位。在一个多核计算机中,以指令为单位,涉及两条及以上指令的操作都将面临事物一致性的问题。因为两条以上指令涉及多个CPU协作,已经不满足事务一致性的原则了。深入计算机对机器指令的执行以计算机元器件转变为单位,其实每条指令执行,到元器件最终发生转变,这个过程也是被拆分为若干执行过程。如果我们对计算机运行机制不是很理解,那么我们把原子操作放大一点,比如数据库原子操作,比如分布式事务原子性,比如分布式应用原子性。其实基本上我们的任务计算机操作都是非原子性的,当我们在谈论原创 2020-06-09 09:33:40 · 1909 阅读 · 0 评论 -
分布式数据库之分库分表总结
常见的数据库分库分表主要有基于基于应用层和基于分布式中间件两种方案。基于应用层的实现方案直接连接数据库,额外开销少,但是应用入侵,不变后续扩展。需要应用主动进行数据库和表的路由,实现起来比较麻烦,常见的第三方有sharding-JDBC、TDDL等。基于中间件的应用无入侵,对用户透明。常见的中间件有MyCat,Cobar,DDM等。...原创 2020-05-11 18:19:29 · 1999 阅读 · 0 评论 -
华为云分布式数据库中间件DDM
分布式数据库中间件(Distributed Database Middleware,简称DDM),专注于解决数据库分布式扩展问题,一个实现了Mysql协议栈的数据库代理服务器,通过代理服务器将底层数据库存储引擎以集群方式管理起来。DDM提供分库分表、读写分离、弹性扩容等能力,而且服务器集群管理对用户完全透明,用户通过DDM管理控制台进行数据库运维,使用JDBC等驱动服务或SQL客户端连接数据库,进行数据读写。一、DDM架构:二、功能介绍:水平拆分:在创建分布式数据库后,只需选择拆分...原创 2020-05-11 17:51:52 · 2413 阅读 · 0 评论 -
数据库集群
关于数据库集群和分布式数据库,说一下我的理解。在我看来数据库集群是一种应用架构模式,分布式数据库是一种软件设计模式。比如问数据库是不是分布式数据库,问的其实是这个数据库是否支持分布式数据库的特性。如果问数据库是不是集群,问的其实是数据存储服务是否使用多台数据库服务器。有一点差别,因为集群的时候是“是否使用多台数据库服务器”,这里并不区分数据库服务器是不是分布式数据库服务器。如果是可以称之为分布式数据库集群,如果不是可以称之为数据库集原创 2020-05-11 16:07:08 · 407 阅读 · 0 评论 -
NewSQL发展概述
在NewSql之前,我们接触了Sql,NoSql(Not only Sql),NewSql。NewSql 被定义为下一代数据的发展方向,他是对各种新的可扩展/高性能数据库的简称,兼具Nosql数据库的海量存储管理能力和关系数据库的ACID特性和SQL便利性。简单的来说:SQL+NoSQL=NewSQL。NewSQL系统虽然在的内部结构变化很大,但是它们有三个显着的共同特点,它们都支持关系数据模型;它们都使用SQL作为其主要的接口;满足分布式数据库特点。原创 2020-05-11 10:17:27 · 1740 阅读 · 0 评论 -
NoSQL数据库如何选型
NoSQL数据库在体系结构和功能上各不相同,整体来说,NoSQL数据库选型需要从数据模型和存储特性两方面综合考虑。目前在市场上有超过24个开源和商业NoSQL数据库,常见有MongoDB,Redis,Memcached,其中Redis、Memcached用作缓存提供数据共享服务方面比较成熟,MongoDB在存储文件方面比较合适(建议不用,主要是接口不一致,数据不一致,事务不一致,你可能会说NoSql不注重这款,可问题是我们业务注重这块啊,即便是最业务无关的日志功能,一旦遇到问题,数据不一致也很麻烦)原创 2020-05-11 09:03:45 · 2656 阅读 · 0 评论 -
分布式事务概述
RocketMQ官网介绍中这样描述RocketMQ的事务消息“消息队列 RocketMQ 版提供类似 X/Open XA 的分布式事务功能,通过消息队列 RocketMQ版事务消息能达到分布式事务的最终一致”。这段描述给我带来的困惑一点都不比出门没带手机更让我难受的多。我的逻辑回路里面一个高可用的分布式服务是无法满足分布式事务的一致性。因为消息传递过程具有不可靠性,所以分布式服务要做到每个环节都满足事务的ACID,最终事务也满足ACID是不可能的。那么剩下的问题就是理解出现了分歧,本文的目的就是在于解决分布原创 2020-05-07 13:16:11 · 1168 阅读 · 0 评论 -
分布式事务实施方案总结
一、术语介绍TX协议:应用或者应用服务器与事务管理器的接口XA协议:全局事务管理器与资源管理器的接口。两阶段提交协议(Two-phase Commit,2PC)BASE理论:BA指的是基本业务可用性,支持分区失败,S表示柔性状态,也就是允许短时间内不同步,E表示最终一致性,数据最终是一致的,但是实时是不一致的。CAP定理:对于共享数据系统,最多只能同时拥有CAP其中的两个幂等操作:重复调用多次...原创 2020-05-07 19:34:29 · 1830 阅读 · 0 评论 -
分布式事务的新生:一个叛教者的见解
论文原本结构,个人感觉有些不符合中文阅读习惯,所以在保持原文翻译的基础,分阶段做了目录。这个版本是一个更新和缩写版的论文,在2007年使用同样的名字首次发表在CIDR(数据库研究创新会议)上,内容和原版基本相同。不同于第一版本,在这个版本中作者首次提出了TCC(Tentative Operations, Confirmation,and Cancellation)的概念。译文全文3万字左右,还是耐心看几遍吧,作者提出的一下假设,发表的观点,做出的推论细看其实很有价值。原创 2020-05-08 18:30:05 · 255 阅读 · 0 评论 -
分布式数据库简述
我一直主张不要过度纠结新技术,应该把重点放在解决业务问题上,让我们一直在解决问题的路上,而不是在追逐新技术的途中。就像本文,本意是总结分布式数据库,却意外的进入到NewSql时代,不得不说喜忧参半啊。在起初查询了很多资料,都没找到2013年之后分布式数据库的发展,这个是我的一个疑惑,想必也是诸位的疑惑。其实原因很简单,数据存储截止目前经历文件存储,关系数据库,Nosql,NewSql四个阶段。分布式数据库为生先死。原创 2020-05-10 20:48:26 · 3882 阅读 · 0 评论