我有一个在i3en.xlarge具有16个节点的AWS 实例上运行的scylla群集。
有我一个简单的方法,以集群切换到i3en.2xlarge或i3en.4xlarge超过一个替换现有节点之一(例如添加一个新节点,删除节点)等?
如果我添加一个i3en.2xlarge实例,集群将自动平衡数据,以便在i3en.2xlarge它上使用大约两倍于磁盘空间的磁盘i3en.xlarge吗?
我正在使用scylla db,并且有一个使用IP地址作为主键的表。群集的RF为3。我发现有些节点的负载(占用更多磁盘空间)比其他节点多,即使owns统计数据接近(31%〜35%)
我想知道是因为我使用IP地址作为主键,并且某些IP地址比其他IP地址更热(例如,对这些IP进行更多更新)吗?
有 APInodetool吗?尤其nodetool tablestats
我看到有https://github.com/scylladb/scylla/tree/master/api/api-doc。这是寻找 API 的正确地方吗?
我有两个模型,一个是用户
userSchema = new Schema({
userID: String,
age: Number
});
Run Code Online (Sandbox Code Playgroud)
另一个是每天为所有用户记录的分数
ScoreSchema = new Schema({
userID: {type: String, ref: 'User'},
score: Number,
created_date = Date,
....
})
Run Code Online (Sandbox Code Playgroud)
对于满足特定要求的用户,我想对得分进行一些查询/计算,比方说我想计算所有用户的得分平均值大于20天.
我的想法是,首先做填入的成绩来填充用户的年龄,然后做汇总之后.
就像是
Score.
populate('userID','age').
aggregate([
{$match: {'userID.age': {$gt: 20}}},
{$group: ...},
{$group: ...}
], function(err, data){});
Run Code Online (Sandbox Code Playgroud)
在聚合之前使用populate是否可以?或者我首先找到满足要求的所有userID并将它们保存在一个数组中,然后使用$ in来匹配得分文档?
我有一个密集读取和写入的程序(相同的读取和写入量,用于写入,4/5更新和1/5插入)。SizedTired压实效果是否优于Levelized压实效果?
另外,大多数数据的TTL为7天,其他数据为1天。在这种情况下,首选“时间窗”策略吗?
I have one scylla db cluster with 9 nodes and RF=3 using amazon AWS i3en.xlarge instance.
I'm curious if 3 i3en.3xlarge are much better than 9 i3en.xlarge.
我正在使用一个具有9个节点且复制因子为3的scylla群集。一个应用程序打开一个与之的连接,以读取和写入数据。
但是,我注意到在scylla CQL优化监视仪表板中,交叉分片的百分比非常高,大约为150%。
那是正常的还是我该如何优化呢?