对于Oracle 23ai Sharding 新特性的验证脚本,目标是涵盖其核心改进和新增功能。基于 Oracle 23ai 的 Sharding 特性总结(Raft 协议、True Cache、Vector等),结合常见场景验证。
通过SQL脚本验证这些特性。例如:
- 1.基于Raft协议的分布式Sharding:需要创建分片表,并模拟跨节点的数据分布和故障切换。
- 2.True Cache集成:需要启用缓存并查询缓存命中情况。
- 3.自动化分片管理:需要动态添加分片并观察数据重新分布。
- 4.JSON与关系模型的统一分片:创建包含JSON类型的分片表,并插入数据验证分片策略。
- 5.AI Vector Search:可能需要使用向量存储并执行相似性搜索。
也许Oracle在MAA 架构领域太过强大的缘故,导致它的分布式raft实现没有其他分布式产品宣传的那么多,那么强。
大多数的企业是否真得需要一个分布式数据库,那就是另外一个话题了。
由于Oracle 23 ai free目前的版本,能测的Sharding特性不是很多,这个坑需要在OP版本发布后再填上。
1. 验证基于 Raft 协议的分布式 Sharding
验证:创建分片表并模拟跨节点故障切换。
-- 1. 创建分片表(假设使用 Raft 协议)
CREATE TABLE employees_shard (
employee_id NUMBER PRIMARY KEY,
name VARCHAR2(100),
department_id NUMBER
)
PARTITION BY HASH (employee_id)
PARTITIONS 4;
-- 2. 插入测试数据
INSERT INTO employees_shard VALUES (1, 'Alice', 10);
INSERT INTO employees_shard VALUES (2, 'Bob', 20);
INSERT INTO employees_shard VALUES (3, 'Charlie', 30);
-- 3. 查询分片分布(需启用 Raft 协议相关视图),free不存在视图
--SELECT * FROM v$sharding_nodes;
--SELECT * FROM v$sharding_partition_map WHERE table_name = 'EMPLOYEES_SHARD';
-- 4. 模拟故障切换(需关闭一个分片节点)
-- 假设分片节点 1 故障,Oracle 23ai 会自动切换到其他节点
-- 验证数据一致性
SELECT * FROM employees_shard;
SYS@CDB$ROOT> SELECT * FROM employees_shard;
EMPLOYEE_ID NAME DEPARTMENT_ID
______________ __________ ________________
2 Bob 20
1 Alice 10
3 Charlie 30
SYS@CDB$ROOT>
2. 验证 True Cache 与 Sharding 集成
验证:启用 True Cache 并观察缓存命中率,free不存在视图
-- 1. 启用 True Cache(需先安装并配置多个HOST)
ALTER SYSTEM SET TRUE_CACHE_ENABLED = TRUE SCOPE=BOTH;
-- 2. 创建分片表并插入数据
CREATE TABLE sales_shard (
sale_id NUMBER PRIMARY KEY,
product_id NUMBER,
amount NUMBER
)
PARTITION BY RANGE (sale_id) (
PARTITION p1 VALUES LESS THAN (100),
PARTITION p2 VALUES LESS THAN (200)
);
Table SALES_SHARD created.
INSERT INTO sales_shar
Oracle 23ai Database Sharding特性验证

最低0.47元/天 解锁文章
990

被折叠的 条评论
为什么被折叠?



