首页 > 其他分享 >分布式主键

分布式主键

时间:2023-12-06 23:22:18浏览次数:32  
标签:自增 UUID 生成器 生成 主键 分布式

 

核心概念 :: ShardingSphere https://shardingsphere.apache.org/document/current/cn/features/sharding/concept/

 

分布式主键

传统数据库软件开发中,主键自动生成技术是基本需求。而各个数据库对于该需求也提供了相应的支持,比如 MySQL 的自增键,Oracle 的自增序列等。 数据分片后,不同数据节点生成全局唯一主键是非常棘手的问题。同一个逻辑表内的不同实际表之间的自增键由于无法互相感知而产生重复主键。 虽然可通过约束自增主键初始值和步长的方式避免碰撞,但需引入额外的运维规则,使解决方案缺乏完整性和可扩展性。

目前有许多第三方解决方案可以完美解决这个问题,如 UUID 等依靠特定算法自生成不重复键,或者通过引入主键生成服务等。为了方便用户使用、满足不同用户不同使用场景的需求, Apache ShardingSphere 不仅提供了内置的分布式主键生成器,例如 UUID、SNOWFLAKE,还抽离出分布式主键生成器的接口,方便用户自行实现自定义的自增主键生成器。

 

 

 

 

 

 

 

 

 

翻译

搜索

复制

标签:自增,UUID,生成器,生成,主键,分布式
From: https://www.cnblogs.com/papering/p/17880761.html

相关文章

  • 金蝶云星空使用webapi查询单据附件的主键
    业务需求:查询采购价目表的附件 详细操作 一、查询单据附件查看账套单据附件 查询采购价目表的单据内码和单据体内码SELECTa.FNUMBER,a.FID,b.FENTRYID,b.FSEQFROMt_PUR_PriceListaLEFTJOINt_PUR_PriceListEntrybONa.FID=b.FIDWHEREa.FNUMBER='CGJM......
  • Zookeeper——分布式一致性协议及Leader选举原理
    一、引言随着业务的增长,单体架构发展为分布式架构,大大提升了业务的处理能力,但同时也带来了很多单体架构不存在的问题,如:各节点之间网络通信的异常以及因其引起的脑裂问题(网络分区)。引出“三态”。在单体架构中只会存在“成功”或“失败”两种结果,但是在分布式架构中由于网络异......
  • 使用分布式事务 Seata 的 TCC 模式
    Seata的TCC模式需要通过人工编码来实现数据的回滚恢复,有点麻烦,但是性能最高。TCC是3个方法的首字母缩写,即Try方法、Confirm方法、Cancel方法。Try方法进行资源的检查和冻结,Confirm方法是当所有事务都成功后调用的方法,Cancel方法是当整体事务中某个分支事务失败时调用......
  • Seata 分布式事务
    Seata分布式事务​#Seata中间件#​Seata是2019年1月份蚂蚁金服和阿里巴巴共同开源的分布式事务解决方案。致力于提供高性能和简单易用的分布式事务服务,为用户打造一站式的分布式解决方案。官网地址:http://seata.io/CAP定理和Base理论这两个在前面弄Nacos的时候已经说过......
  • StackGres 数据库平台工程,使用 Citus + Patroni 创建生产级高可用分布式 PostgreSQL
    系列StackGres,可私有部署的云原生数据库平台工程StackGres 数据库平台工程功能介绍与快速上手StackGres1.6数据库平台工程集群配置管理(K8SPods/PostgreSQL/PgBouncer)StackGres1.6数据库平台工程,集群高可用(Patroni3管理)什么是ShardedCluster(分片集群)Sha......
  • HydroOJ 踩坑指南(1)狡猾的分布式官方文档
    本系列旨在记录使用HydroOJ时的一些坑点,更全的说明文档请查看官方文档。欢迎联系本人QQ补充:2422609586.HydroOJ官方QQ群:1085853538.入门第一坑:官方文档不止一处!都说学习项目要先认真读文档,HydroOJ的文档使用了分布式阅读系统,并异地多中心部署(bushi),所以需要汇总一下:......
  • 使用Slurm集群进行分布式图计算:对Github网络影响力的系统分析
    本文分享自华为云社区《基于Slurm集群的分布式图计算应用实践:Github协作网络影响力分析》,作者:yd_263841138。1.引言Slurm(SimpleLinuxUtilityforResourceManagement)是一个针对小型Linux集群的开源、容错、高可扩展的集群管理及作业调度系统,它具备统一管理集群内的计算资源......
  • 使用分布式事务 Seata 的 AT 模式
    有了上篇博客实现XA模式的基础,本篇博客在实现AT模式时,不需要修改任何代码,只需要增加一张数据库表,修改以下application.yml配置即可实现。AT模式也是分两个阶段提交的事务模型,它缺弥补了XA模型中资源锁定周期过长的问题。其实现的两个阶段的工作原理如下:第一阶段注册分......
  • 分布式协同(万字长文)
    分布式协同分布式协同,也叫分布式协调,是在计算机网络中,不同的硬件或软件组件完成各自的任务,然后通过协同工作来解决问题。在分布式系统中,不同的节点需要进行信息的交换,以达到一致的状态。这个过程就需要分布式协调。例如,我们要保证在分布式系统中的所有节点上的数据是最新的,就需......
  • 分布式事务~seata的使用
    springcloud-nacos-seata分布式事务组件seata的使用demo,AT模式,集成nacos、springboot、springcloud、mybatis-plus,数据库采用mysqldemo中使用的相关版本号,具体请看代码。如果搭建个人demo不成功,验证是否是由版本导致,由于目前这几个项目更新比较频繁,版本稍有变化便会出现许多奇怪......