From 3e2e65286e0027d643de9e31487459f73eb6e13e Mon Sep 17 00:00:00 2001 From: Vincent Texier <vit@free.fr> Date: Mon, 23 Jul 2018 13:46:04 +0000 Subject: [PATCH] Remove database implementation chapter --- ...003 RFC GraphQL API for Duniter Clients.md | 27 ------------------- 1 file changed, 27 deletions(-) diff --git a/rfc/0003 RFC GraphQL API for Duniter Clients.md b/rfc/0003 RFC GraphQL API for Duniter Clients.md index a4fad5a..d515d13 100644 --- a/rfc/0003 RFC GraphQL API for Duniter Clients.md +++ b/rfc/0003 RFC GraphQL API for Duniter Clients.md @@ -339,33 +339,6 @@ Variables: ## Duniter Server module The GraphQL API is added on the server as a Duniter module. -As this module add cpu and network charge on the Duniter node, it is optional. - -### New NoSQL Database - -The good practice to handle data in databases, is: - -- To use **relational database** to **write normalized data** (very fast to update an entity as entities are in separate tables). -- To use **document database (NoSQL database)** to **request denormalized data** (very fast as all entities information are agregated in one document). - -So the module will: - -- **Write normalized data** in the Duniter database as usual. -- **Write denormalized json documents** in a dedicated document database. - -- **Search/Request denormalized json documents** from the dedicated document database. - -We need to create a new database, handling **denormalized json documents** (NoSQL Database). - -Since version 3.9, **Sqlite3** has an extension (**json1**) to handle json documents: - -https://sqlite.org/json1.html - -http://charlesleifer.com/blog/using-the-sqlite-json1-and-fts5-extensions-with-python/ - -So we don't need another database software dependency. - -The module will create another Sqlite3 file `gva_documents.db` to keep things well separated. ### ENDPOINTS format -- GitLab