Ich verwende Google Guava Table, um strukturierte Tabellendaten in einer JAVA-Anwendung zu verarbeiten. Mein Data-Objekt besteht aus der Tabelle und einer Map, die die DataTypes für jede Spalte speichert (int, string, decimal ...).Caching-Tabelle - Google Guava-Tabelle
Dieses Objekt kann sehr groß und speicherintensiv werden (bis zu 10.000.000 Zeilen und 16 GB Arbeitsspeicher). Also war meine Idee, den Temp-Ordner alle 50.000 Zeilen oder so zu chachen und die Daten bei Bedarf zu lesen.
public void putRow(int row, String column, Object value){
data.put(row, column, value);
rowSize = data.rowKeySet().size();
if(rowSize == maxObjectSize){
writeCache();
}
}
Ich habe große Probleme der Daten chachen. Auf der einen Seite ist es sehr zeitaufwendig zu cachen, auf der anderen Seite ist es schwer sicherzustellen, dass keine Daten verloren gehen und ich habe keine gute Drittanbieter-API gefunden, um die Daten zu chachen.