yugabyte-db - Yugabtye 行级地理分区
问题描述
我写了一个行级地理分区 POC,并设置了以下链接。发现所有节点表的数据都是一模一样的,这里输入代码我想做横向分割怎么实现,你怎么du呢,谢谢!
https://docs.yugabyte.com/latest/explore/multi-region-deployments/row-level-geo-partitioning/
/usr/local/yugabyte-2.9.0.0/bin/yugabyted start \
--base_dir=/home/yugabyte/yugabyte-data \
--listen=192.168.106.34 \
--master_flags "placement_cloud=aws,placement_region=us-east-1,placement_zone=us-east-1a" \
--tserver_flags "placement_cloud=aws,placement_region=us-east-1,placement_zone=us-east-1a" &
/usr/local/yugabyte-2.9.0.0/bin/yugabyted start \
--base_dir=/home/yugabyte/yugabyte-data \
--listen=192.168.106.23 \
--join=192.168.106.34 \
--tserver_flags "placement_cloud=aws,placement_region=us-east-1,placement_zone=us-east-1a"
CREATE TABLE transactions (
user_id INTEGER NOT NULL,
account_id INTEGER NOT NULL,
geo_partition VARCHAR,
account_type VARCHAR NOT NULL,
amount NUMERIC NOT NULL,
txn_type VARCHAR NOT NULL,
created_at TIMESTAMP DEFAULT NOW()
) PARTITION BY LIST (geo_partition);
CREATE TABLESPACE us_central_1_tablespace WITH (
replica_placement='{"num_replicas": 1, "placement_blocks":
[{"cloud":"aws","region":"us-east-1","zone":"us-east-1a","min_num_replicas":1}]}'
);
CREATE TABLESPACE ap_south_1_tablespace WITH (
replica_placement='{"num_replicas": 1, "placement_blocks":
[{"cloud":"cloud1","region":"datacenter1","zone":"rack1","min_num_replicas":1}]}'
);
CREATE TABLE transactions_us
PARTITION OF transactions
(user_id, account_id, geo_partition, account_type,
amount, txn_type, created_at,
PRIMARY KEY (user_id HASH, account_id, geo_partition))
FOR VALUES IN ('US') TABLESPACE us_central_1_tablespace;
CREATE TABLE transactions_default
PARTITION OF transactions
(user_id, account_id, geo_partition, account_type,
amount, txn_type, created_at,
PRIMARY KEY (user_id HASH, account_id, geo_partition))
FOR VALUES IN ('India') TABLESPACE ap_south_1_tablespace;
INSERT INTO transactions
VALUES (200, 20001, 'India', 'savings', 1000, 'credit');
INSERT INTO transactions
VALUES (300, 30001, 'US', 'checking', 105.25, 'debit');
select * from transactions;
select * from transactions_us;
select * from transactions_default;
解决方案
推荐阅读
- html - 一种更简单的方法来编码这个 onclick 背景变化 - HTML/CSS
- java - 咖啡因缓存始终使用 getIfPresent 方法返回 null
- unit-testing - 在 VS2017 中以调试模式运行单元测试时出错
- c# - 带有 n+1 问题的 LINQ 查询
- excel - 尝试从 excel2016 向 access2016 表添加记录时出错
- python - 优化后评估 pyscipopt Expr
- neo4j - Set类型的可变深度持久性和关系
- visual-studio-code - 带有 Python 扩展的 VSCode 2019 年 4 月 - “Python 扩展加载...”
- reactjs - 如何在 Material UI 网格中添加水平滚动
- javascript - css 下拉菜单未显示在 iMac Safari 浏览器中