AliSQL · 开源 · Sequence Engine

  1. 云栖社区>
  2. 阿里云数据库ApsaraDB>
  3. 博客>
  4. 正文

AliSQL · 开源 · Sequence Engine

db匠 2017-03-08 10:52:47 浏览941
展开阅读全文

Introduction

单调递增的唯一值,是在持久化数据库系统中常见的需求,无论是单节点中的业务主键,还是分布式系统中的全局唯一值,亦或是多系统中的幂等控制。不同的数据库系统有不同的实现方法,比如MySQL提供的AUTO_INCREMENT,Oracle,SQL Server提供SEQUENCE等。

在MySQL数据库中,如果业务系统希望封装唯一值,比如增加日期,用户等信息,AUTO_INCREMENT的方法会带来很大的不便,在实际的系统设计的时候, 也存在不同的折中方法,比如:

  • 序列值由Application或者Proxy来生成,不过弊端很明显,状态带到应用端,增加了扩容和缩容的复杂度。
  • 序列值由数据库通过模拟的表来生成,但需要中间件来封装和简化获取唯一值的逻辑。

AliSQL自主实现了SEQUENCE ENGINE,通过引擎的设计方法

网友评论

登录后评论
0/500
评论
db匠
+ 关注
所属云栖号: 阿里云数据库ApsaraDB