我正在设计服务器健康监控架构,
我有这样的场景:一个集群有'N'个节点,每个集群有'N'个节点,每个节点有'N'个资源,如下 群集 - > (一对多) - >节点(一对多) - >资源(如内存,具有名称,类型,单位,使用,总数等属性的CPU)
这是Cassandra中这个用例的最佳数据建模,你能告诉我为什么吗?
另外,我需要更新和查询,
1)通过nodeId查询所有节点的资源 2)集群中CPU /内存的总资源?
CREATE TYPE resources (
id int PRIMARY KEY,
name text,
type text,
unit text,
description text,
used int,
total int,
PRIMARY KEY (id, type)
);
CREATE TABLE nodes (
id int PRIMARY KEY,
name text,
ip text,
resources frozen <resources>
);
CREATE TABLE cluster (
id int PRIMARY KEY,
node text
);
我的问题是我期待这个用例的最佳实践。
谢谢, 哈利