gpt4 book ai didi

java - 超超大实体集团交易

转载 作者:搜寻专家 更新时间:2023-10-31 20:07:07 25 4
gpt4 key购买 nike

我正在尝试设计一个可以容纳大量数据的数据模型,是否有任何有处理大量数据经验的人对此有任何反馈,即:

// example only, not meant to compile
public class TransactionAccount {
private long balance;
private List<Transaction> transactions = new ArrayList<Transaction>();
....
public long getBalance() { return balance; }
}
private class Transaction {
public Date date;
public long amount;
}

根据我的阅读,在插入 Transaction 和更新 balance 时获得事务完整性的唯一方法是使其成为一个实体组。

但是,随着时间的推移,某个特定的 TransactionAccount 将产生数百万笔交易。对该实体组的写入次数会很低,但读取次数会高得多。

我知道它可能会被分片,但是读取 balance 是一个非常频繁的操作,分片会使 getBalance() 成为最常见的操作之一最慢的操作。

最佳答案

您描述的安排应该可以正常工作。如果您的实体组变得过大(在这成为一个问题之前,我们正在谈论数百兆字节的交易),您可以编写一个过程来“汇总”旧交易:以交易方式将一组旧交易记录替换为单个交易记录这些交易的总和,以保持余额等于所有交易总和的不变性。如果您仍然需要存储这些旧的“汇总”交易的记录,您可以在执行汇总之前在单独的实体组中制作它们的副本。

关于java - 超超大实体集团交易,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3331472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com