产品文档

分布式关系型数据库 DRDS

DRDS SQL 简介

京东云分布式关系型数据库 DRDS 高度兼容 MySQL 协议和语法,绝大多数SQL都可以在DRDS上正常运行。但是由于DRDS的的分布式特性和单机MySQL在架构和具体实现上的差异,部分SQL的使用上有一些限制,需要加以注意。

支持的拆分字段类型

DRDS 拆分字段支持以下类型:

  • 数值型:int,smallint,bigint,tinyint,mediumint
  • 字符型:char, varchar
  • 时间型:timestamp,date,datetime

时间类型支持的拆分函数

对于时间类型的字段,DRDS目前支持以下拆分函数,函数名不区分大小写。

  • YYYYMM():按月拆分,每n个月的数据存放在一个分表中,n 可以定义。
  • YYYY():按年拆分,每n年的数据存放在一个分表中,n 可以定义。

注意: 每个分表只存储一个时间段的数据,不会循环使用。当分表用尽后,用户需要手动对分表进行扩展。 例如,用户的某个DRDS数据库有16个分库,其中表tab1按年月拆分,每个月一个分表,因此总共可以存储16个月的数据。如果用户需要存储更多时间段的数据,需要手动增加分库数目,并对表进行扩展。

全局自增ID

DRDS支持全局自增ID,可以根据用户定义,按以下三种方式生成

  • SIMPLE:系统每次申请自增ID时,都会访问系统数据库,可以确保自增ID连续单调递增和唯一,但这种方式性能较低。
  • GROUP: 系统提前将一段连续的ID取出放在DRDS的内存中,每个DRDS节点一个GROUP。应用申请自增ID时,从内存中获取,性能极高。但由于应用可能会同时从两个GROUP中申请ID,因此通过这种方式获取的自增ID,可以保证唯一,但不能保证连续、递增
  • TIME:根据时间戳,采用近似snowflake算法生成的ID。时间戳可以精确到毫秒,同一毫秒至少可支持2^16个自增ID。 注意,使用TIME方式的自增ID,字段类型必须是bigint
更新时间:2019-07-19 18:20:48
文档反馈 docs feedback