I made a tool that slices and dices data using SQL queries, and I wanted to make it available for people to use on their own data. The obvious setup would be to have them upload a CSV which I would then import into a database running on my server.
But I’m one guy in a garage, so why would anyone trust me to safeguard their sensitive data?
Lovefield was the answer. Nothing gets uploaded, just imported into local storage. So there’s no need for user accounts. The import into Lovefield is fast, and query speed is excellent.
In a normal server-based solution, all user data gets loaded into a big database running on a powerful machine. The power is needed to extract each user's data from the global store and deliver it back to them. It’s so much more efficient to store the data locally, where the database has only the individual user’s data.
It also means that your data stays on your computer. It could be a key enabling technology for the "data dignity" project. Aspects of the user’s data could be useful to aggregate between users (categorizations of financial transactions for example), and it would make sense to pay users to opt in.
With low power comes little responsibility.
The app:
The Google Chrome Extension fo use with Mint and Personal Capital
The code: