Sharding

Storage unit Operation

  • Configure data source information
  1. REGISTER STORAGE UNIT ds_0 (
  2. HOST="127.0.0.1",
  3. PORT=3306,
  4. DB="ds_1",
  5. USER="root",
  6. PASSWORD="root"
  7. ),ds_1 (
  8. HOST="127.0.0.1",
  9. PORT=3306,
  10. DB="ds_2",
  11. USER="root",
  12. PASSWORD="root"
  13. );

Rule Operation

  • Create sharding rule
  1. CREATE SHARDING TABLE RULE t_order(
  2. STORAGE_UNITS(ds_0,ds_1),
  3. SHARDING_COLUMN=order_id,
  4. TYPE(NAME="hash_mod",PROPERTIES("sharding-count"="4")),
  5. KEY_GENERATE_STRATEGY(COLUMN=order_id,TYPE(NAME="snowflake"))
  6. );
  • Create sharding table
  1. CREATE TABLE `t_order` (
  2. `order_id` int NOT NULL,
  3. `user_id` int NOT NULL,
  4. `status` varchar(45) DEFAULT NULL,
  5. PRIMARY KEY (`order_id`)
  6. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
  • Drop sharding table
  1. DROP TABLE t_order;
  • Drop sharding rule
  1. DROP SHARDING TABLE RULE t_order;
  • Unregister storage unit
  1. UNREGISTER STORAGE UNIT ds_0, ds_1;
  • Drop distributed database
  1. DROP DATABASE foo_db;