On Sunday, 1 January 2017 at 03:24:31 UTC, Adam Wilson wrote:
2. There are so many different types of data storage systems, how do you design a system generic enough for all of them?

My answer: You don't. Nobody else has bothered trying, and I believe that our worry over that question is a large part of why we don't have anything substantive today.

My idea: Split the data storage systems out by category of data-store.
For example:
        - SQL: std.database.sql (PostgreSQL, MySQL, MSSQL, etc.)
        - Document: std.database.document (Mongo, CouchDB, etc.)
        - Key-Value: std.database.keyvalue (Redis, etcd2, etc.)

I think that these can all be seen as special cases of a hypegraph database. So on the face of it you probably can build some common interface (apparently the fellows in hypergraphdb.org are trying to do something in this spirit). You can then have specialized interfaces inheriting from it. But given how general hypergraph dbs are, I'm not sure if this is a worthwhile abstraction.

By the way, what about XML? The documentaion on std.xml says that the module will be replaced at some point in the future. I wonder when and with what...

Reply via email to