aeolus
aeolus copied to clipboard
Implement storage interface for daily expenditure requests
"Given the
approximately 150,000 vehicles generated in a 3 hour sim-
ulation, this amounts to 150, 000 · L · 70 (roughly between
10 million and 100 million) rows." -> storage in a file will definitely become a bottleneck if we start scaling with L. Better abstract an interface early to plug in a database (embedded or with a network driver) instead of a file later (database backend doesn't need to be implemented before trouble occurs).
Database storage should occur with Java Persistence API after encapsulating toll account better then with Map<Integer, Map<Pair<Integer, Integer>, Integer>>.
We should leave that open until we figured out how to deal with the failure of Hibernate on JDK 6 revealed in #30. In case we stick to JDK 6, then we might just remove the JPA implementation or make it fail with a useful error message when used on JDK 6 and implement a JDBC based implementation (e.g. writing pure tuple into a postgres database).
We need to stick to Java 6 for now, because Storm is build with this version.
The next Storm release will drop Java 6, but it will take some time. Storm 0.9.5 (which is still using Java6) was just release yesterday.