My problem is that the bandwidth and server power are limited and paid per usage.
On the other hand, the data I am working with has good properties
- read only
- client always looking at the same subset of data from "different angles"
- easy to compute a subset of data the client will work on
For instance the database contains 5 years of sales of a company in all their stores. Some clients will want to investigate all the products of a given store, other will want to compare a single product on all the stores, others the sales evolution per department per year, etc.
Therefore I thought I could add a "cache" on the client side, meaning an in-memory SQL database that would receive a big block of data from the server and work on it till the client writes a query that needs some data that is not available locally in which case it would request it from the server, etc.
I haven't found anything like that ready-to-use, so I was considering reengineering existing OCaml code (database + web) and maybe compile it to JavaScript. I have control on the client so I can afford installing an OCaml runtime if needed albeit impractical though.
Does anyone has an SQL engine written in OCaml ? I can only find bindings. Also, has anyone tested the OCaml -> JavaScript on projects with significant computation work ?