• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >云计算 > 分布式数据库MVCC读写设计,数据库mvcc读写

分布式数据库MVCC读写设计,数据库mvcc读写

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含分布式数据库,分布式数据库架构,分布式数据库有哪些,分布式数据库的特点是,mysql分布式数据库等服务器相关知识,网友希望可以进行参考

分布式数据库MVCC读写设计,数据库mvcc读写


分布式数据库数据表分成多个parition,分布在不同server上,拓扑是每个server维护不同的版本时间戳,相比单机数据库,提供MVCC要复杂很多,当然,你如果有spanner的原子钟,那会简单很多。

现描述一种可行的实现方案,抛砖引玉。

此方案可以做如下保证:

  • 1.单Partition读(分分布式事务读)可以保重repeated read。

  • 2同一个server上的分布式事务可以保证repeated read,并且对外保证因果序列;

  • 3.跨partition不能保证因果序,但可保证repeated read

数据模型

  • 1.每个server上多个parition,每个是一个MVCC数据结构,即有多个版本的数据
  • 2 每个server上一个publish_id,表示版本小于此值的数据都可以读取到
  • 3 每个server上一个trans_id,表示后续写入的数据的版本都是大于此值

分布式事务写

  • 1在两阶段提交的prepare阶段,参与者发送prepare ack中携带一个版本号,即本地++trans_id的值
  • 2 协调者在收集到的parepare ack中选出时间戳最大的max_ver,发送commit
  • 3 参与者收到此请求后写commit日志,同时使用max_ver更新trans_id
  • 4 commit日志落盘后,修改publish_id,并释放行锁

分布式事务读

由于跨server的分布式读不作任何保证,只讨论同一个server的分布式读,简单来说,就是去publish_id作为版本号,如果目标行上有行锁,且行锁相关的版本号是小于publish_id的,则阻塞等待行锁释放,否则直接读取即可。nweet/stackedit

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 分布式数据库MVCC读写设计,数据库mvcc读写

相关文章

  • CSR1000V在XenServer的安装和简单使用,csr1000vxenserver
  • hive UDF自动增长列函数,hiveudf列函数
  • MapReduce对输入多文件的处理,mapreduce输入处理
  • ganglia安装教程,ganglia教程
  • 整套spark视频教程免费下载,还有Hadoop,sparkhadoop
  • MapReduce的两表join一般操作,mapreduce表join
  • LXC学习,学习中国app上线
  • Hive Developing,hivedeveloping
  • 机器学习算法-Adaboost,学习算法-adaboost
  • openstack报错openstack-config:command not find,find

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • 云服务器 性能测试之web压力测试,web压力测试
    • Docker在Ubuntu的部署实践,dockerubuntu部署
    • springmvc 访问不了后台的contrlollerUserController,springmvccontroller
    • 一篇博文简单了解weka,博文简单weka
    • Hadoop学习总结,hadoop总结
    • CSR1000V在XenServer的安装和简单使用,csr1000vxenserver
    • pagerank算法的MapReduce实现,pagerankmapreduce
    • Zoho产品经理谈中小企业面临的挑战及应对之策,zoho产品经理
    • Cloud Foundry安装部署指南(下),cloudfoundry
    • Maven构建Hadoop Web项目,maven构建hadoopweb

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有