Logo
数据分片

数据分片 #

适用场景

在当前互联网时代的背景下,业务数据呈现快速增长的趋势,面对海量数据的存储和访问,传统关系型数据库单一节点存储的解决方案存在许多问题,在性能、可用性和运维成本这三方面已经难以满足海量数据的场景。数据分片可以按照某个维度,将单一数据库中的数据拆分至多个数据库或表中存储,从而达到提升性能和可用性的目的。

前提条件

以 DBPlusEngine-Proxy 为例,下载并解压 proxy,参考如下配置,在 conf 目录下配置对应的配置文件后启动 proxy。

配置示例

config-sharding.yaml

rules:
- !SHARDING
  tables: 
    t_order: 
      databaseStrategy: 
        standard: 
          shardingColumn: user_id
          shardingAlgorithmName: database_inline
      tableStrategy:
        standard: 
          shardingColumn: order_id
          shardingAlgorithmName: table_inline

  shardingAlgorithms:
    database_inline:
      type: INLINE
      props:
        algorithm-expression: ds_${user_id % 2}
    table_inline:
      type: INLINE
      props:
        algorithm-expression: t_order_${order_id % 2}

相关参考

数据分片 YAML 配置