【发布时间】:2011-03-20 21:01:55
【问题描述】:
我正在尝试设计一个可以容纳大量数据的数据模型,有大数据量经验的人对此有何反馈,即:
// 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() 最常见的操作之一成为最慢的操作。
【问题讨论】:
-
有一个follow up question在讨论how to manage一个拥有数万个子对象的实体组。
标签: java google-app-engine jdo