Транзакции по очень очень многочисленной группе объекта

Я пытаюсь разработать модель данных, которая может содержать очень большой объем данных, делает любого с опытом в больших объемах данных, имеют любую обратную связь на этом, т.е.:

// 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;
}

На основе того, что я считал, единственный способ получить целостность транзакций при вставке a Transaction и обновление balance должен сделать это одной группой объекта.

Однако со временем были бы миллионы транзакций для детали TransactionAccount. Количество записей этой группе объекта было бы небольшим, но чтения будут намного выше.

Я знаю, что это мог возможно быть черепок, однако читая balance очень частая операция и sharding, он сделал бы одну из наиболее распространенных операций getBalance() самая медленная операция.

5
задан Jacob 26 July 2010 в 00:12
поделиться