Hacker News new | past | comments | ask | show | jobs | submit login

> So a storage abstraction layer on top of IndexDB with a proprietery API.

...that synchronizes with a server-side abstraction layer on top of MongoDB. This is essentially the Meteor architecture.

Synchronization is non-trivial and the storage abstraction options come down to NoSQL JSON document stores, GraphQL, and SQL. Browsers support IndexedDB while native iOS/Android support SQLite. I’m not aware of any decent solution that synchronizes a relational database with client-side SQLite.

I too would prefer a SQLite Sync solution that just works and SQLite in the browser available from Service Workers but it is what it is.

SQL is how I want to talk to my storage abstraction layer. And I want it to do that one thing and do it well.

Syncing to a server is another issue and I am not sure if it should be part of the same library.

SQL is great for relational tables with a two-dimensional structure of rows and fixed columns.

It's not so great for schemaless object databases or navigating nested arrays and hashmaps.

Some relational databases can store JSON objects, and incorporate SQL extensions to navigate those objects.

But in general, SQL doesn't seem to be a great tool for data that isn't a collection of two-dimensional data structures.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact