Search code examples
javasqldatabasejakarta-eehsqldb

Lightweight Java solution for creating views on large data


I need to create a Java (J2EE) application that allows people to generate "views" on large CSV/TSV tabular data. Views might include things like: pagination through the data, sorting, filtering, pivoting and perhaps charting.

My current thinking is to load the data into temporary tables in a database, use SQL to perform the view tasks and then discard the tables.

Can someone recommend a better approach for this that is also fast? My constrains are:

  • This is a real-time transaction, so Hadoop/Hive is not an option
  • Fast response times are important
  • I would like to be able to do this in a stateless way where individual requests describe the view (but not at the cost of performance)
  • I would like to not have to hand-code view generation, hence the preference for SQL databases.

Solution

  • Answering my own question. I find that HSQL does exactly what I need. Looks like Text Tables in HSQL are what I would use to create views the way I need.