próbuję zaprojektować model danych, który może pomieścić bardzo dużą ilość danych, czy ktoś z doświadczeniem w dużych ilości danych mają jakieś opinie na ten temat, a mianowicie:Transakcje powyżej bardzo dużej grupy podmiotów
// 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;
}
Na podstawie tego, co przeczytałem, jedynym sposobem uzyskania integralności transakcyjnej przy wstawianiu Transaction
i aktualizowaniu balance
jest utworzenie jednej grupy encji.
Jednak z biegiem czasu będą miliony transakcji dla określonego TransactionAccount
. Liczba zapisów do tej grupy encji byłaby niska, ale odczyty byłyby znacznie wyższe.
Wiem, że można go było zignorować, jednak odczytanie balance
jest bardzo częstą operacją, a odłamanie go spowodowałoby jedną z najczęstszych operacji.
Istnieje [pytanie uzupełniające] (http://stackoverflow.com/questions/3342603/how-do-you-propery-add-manipulate-thousands-of-children-in-an-entity-group) dyskusja [jak zarządzać] (http://stackoverflow.com/questions/3342603/how-do-you-propery-add-manipulate-thousands-cho-children-in-an-entity-group) grupa encji z dziesiątkami tysięcy obiektów dzieci. – Jacob