Shared database for GraphQL/Apollo - updated

I’ve been watching the discussions around GraphQL and Apollo and I’m wondering what people think of the implementation I’m considering.

I have access to a unique patented NoSQL database that would back the infrastructure I’m proposing. Essentially, it would be a shared database that would support a extended version of GraphQL (I need privacy considerations included in the schema). As the single source for data,it would be possible to provide invalidation events to any meteor/node server attached. My implementation requires a data model conformant to an entity-centric model where ‘aspects’ or collection of like semantic values (demographic, shares/likes, etc.) are available for query. This entity-centric condition allows me to ‘shard’ storage among entity specific servers for scalability/performance.

I’m thinking that the db server would stream mutation events to the registered meteor/node servers and let them decide how to invalidate data to their clients.

I plan to offer a free single instance developer version, restricted only in capacities. A enterprise edition would be offered with full sharding/scalabilities as a hosted PaaS. Something that Galaxy could offer.

I have yet been unsuccessful in gaining funding, so this might not happen.

Any thoughts would be appreciated.


Though I’d add some of the offered features:

  • datastore engine indexes everything, elements/attributes/fields using a hash-like ‘icon’ so there is no indexing definition required. ‘Icon’ algebra allows pattern matching without going back to data.

  • datastore engine is schema-agnostic, GraphQL schema defines values within interface layer. Hierarchy nodes can be deleted/inserted/updated at will without re-indexing as in mongo.

  • datastore engine is fully ACID supporting transactions/rollback and live backup.

  • will accept XML/JSON and possibly YAML as input, output in any of them.

  • looking to build node.exe addon for native database within node runtime, i.e., no network latency. Useful for embedding in IoT gateways to manage device data.