I find myself having many RDBMS-type information that needs to follow me around and be available to multiple distributed apps. I need the strict referential integrity and type-checking that typically are found in RDBMS.
I can set up my own servers or use hosted RDBMS for the data but it seems that Solid might also offer an interesting avenue. These are smallish datastores (<10MB).
I’ve tried some web-based versions such as Airtable and Caspio, but I want to own my own data vs. just store it on their servers.
You can embed SQLite DBMS in your app, and access data stored in Solid. Just a thought.
What is your exact question here? Your title has a question, but your description doesn’t really clarify that.
Thanks for that suggestion. I’ll give it a test run. I suppose I could also just read/write selected tables as needed in order to keep down the data transfers.
I’d like to store relational records in a pod. My use cases include a home-grown contact management system as well as a product/customer/order system. I’d like to have the normal RDBMS capabilities present. Currently I have the data stored in an Airtable base but I’d be more comfortable having personal control over its visibility, updating, etc.
The two main tasks I see here are
- Determine the RDF data model of your data, i.e., what classes and what predicates will you use.
- Investigate how to store the data, considering that the PODs does now everything with files while with RDBs that is not the case.
I was thinking of some kind of web services that would convert a RDF model to RDBMS model and vice versa. Also with a functionality of converting queries both way.
There has been a ton of research done on that, so I would suggest to look there then.
Thanks for your instant answer. Can you please share a couple of links ?
Conversions would add overhead to the access. All it needs is a secure file interface for SQLite to perform efficiently. Not sure Solid has that support yet…
One major problem I see with using Solid to store multi-access data would be the need to lock access (read/write) at various levels (schema/table/row/etc.) and to ensure transaction completeness.
I must admit I haven’t looked at how Solid does that now for non-RDBMS applications. Is it possible to lock a portion of a pod against access?