Estoy tratando de diseñar un modelo de datos que puede almacenar una gran cantidad de datos, ¿alguien con experiencia en grandes volúmenes de datos tiene algún comentario sobre esto, es decir:transacciones a través de muy gran grupo de entidades
// 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;
}
Según lo que he leído, la única forma de obtener integridad transaccional al insertar Transaction
y actualizar balance
es convertirlo en un grupo de entidades.
Sin embargo, con el tiempo habría millones de transacciones para un determinado TransactionAccount
. El número de escrituras en este grupo de entidades sería bajo, pero las lecturas serían mucho más altas.
Sé que podría estar fragmentado, sin embargo, leer el balance
es una operación muy frecuente, y la fragmentación haría una de las operaciones más comunes getBalance()
la operación más lenta.
Hay una [pregunta de seguimiento] (http://stackoverflow.com/questions/3342603/how-do-you-propery-add-manipulate-thousands-of-children-in-an-entity-group) discutiendo [cómo gestionar] (http://stackoverflow.com/questions/3342603/how-do-you-propery-add-manipulate-thousands-of-children-in-an-entity-group) un grupo de entidades con decenas de miles de objetos de niños. – Jacob