From f7909dae99184b8c86aa200781b6d35060a2e97a Mon Sep 17 00:00:00 2001 From: MathiasV Date: Fri, 17 Jan 2020 10:32:59 +0100 Subject: [PATCH 1/3] Update WF_I_04_CouchDB_Basics.md --- WF_I_04_CouchDB_Basics.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WF_I_04_CouchDB_Basics.md b/WF_I_04_CouchDB_Basics.md index 5907aee..53f4819 100644 --- a/WF_I_04_CouchDB_Basics.md +++ b/WF_I_04_CouchDB_Basics.md @@ -16,7 +16,7 @@ In comparison with relational databases management systems (RDBMS), NoSQL databa Notice that the concept of tables is complete abandonned. For a simple invoice with two products, you need 5 fields across 3 tables in a RDBMS. The same information is capture together as one document in the NosSQL system. Notice also the weird terminology of an *invoice database*. Indeed documents linked a to same entity are called a database (mind that this is the term used typically for CouchDB, other NoSQL system speak of collections). -Furthermore, mind that in the NoSQL system there is the possibility to have arrays, an array of objects, nested arrays, etc … Also very different is the fact that in the NoSQL system their is absolutely **no type definition**! There is not even a validation the the fields are all present inside a document. You might indeed have an invoice where the data field is missing, that is not just the value but the entire field, something that would never be possible in a RDBMS. In short, we can say that **the NoSQL system has no schema**! To top it off, there are no transactions anymore! The only difficulty of NoSQL systems is coming to terms with the above. In its use NoSQL is definitely simpler, it is just a matter to getting used to it. +Furthermore, mind that in the NoSQL system there is the possibility to have arrays, an array of objects, nested arrays, etc … Also very different is the fact that in the NoSQL system there is absolutely **no type definition**! There is not even a validation whether the fields are all present inside a document. You might indeed have an invoice where the data field is missing, that is not just the value but the entire field, something that would never be possible in a RDBMS. In short, we can say that **the NoSQL system has no schema**! To top it off, there are no transactions anymore! The only difficulty of NoSQL systems is coming to terms with the above. In its use NoSQL is definitely simpler, it is just a matter to getting used to it. Here is a [very educational video](https://youtu.be/b2F-DItXtZs) on the topic of NoSQL versus RDBMS. From dbf09f8be904f0bd7c56ea80bf319e6c6b29568c Mon Sep 17 00:00:00 2001 From: MathiasV Date: Fri, 17 Jan 2020 10:34:32 +0100 Subject: [PATCH 2/3] Update WF_I_04_CouchDB_Basics.md --- WF_I_04_CouchDB_Basics.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/WF_I_04_CouchDB_Basics.md b/WF_I_04_CouchDB_Basics.md index 53f4819..011a9f5 100644 --- a/WF_I_04_CouchDB_Basics.md +++ b/WF_I_04_CouchDB_Basics.md @@ -26,7 +26,7 @@ There are several NoSQL database systems of which the most popular are shown her ![Top NoSQL Database Systems](Media/NoSQL_Top.png) -So although not the most popular, CouchDB has many advantages that make it a good choice when learning the principle of NoSQL. +So even though CouchDB isn't the most popular, it has many advantages that makes it a good choice when learning the principle of NoSQL. ### Scalability @@ -50,8 +50,6 @@ In a RDBMS, you let the users wait (lock) during an update operation until all a ### Revisions -The clue to make this all work is the use of a intelligent versioning system. It is simple and comparable to github with one exception: +The clue to make this all work is the use of an intelligent versioning system. It is simple and comparable to github with one exception: > CouchDB does not guarantee that all versions will remain available forever! - -![Versions](Media/Versioning.png) From 00b91085beee83be8516d26f7da6fbbbb95b6d3c Mon Sep 17 00:00:00 2001 From: MathiasV Date: Fri, 17 Jan 2020 10:46:19 +0100 Subject: [PATCH 3/3] Update WF_I_05_CouchDB_React.md --- WF_I_05_CouchDB_React.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WF_I_05_CouchDB_React.md b/WF_I_05_CouchDB_React.md index 73effd3..d42f0ed 100644 --- a/WF_I_05_CouchDB_React.md +++ b/WF_I_05_CouchDB_React.md @@ -35,7 +35,7 @@ Views in CouchDB uses the Map-Reduce paradigm. ### The Map-Reduce Paradigm -This paradigm is used to crunch large datasets in a distributed system. Iti a two-phase process. The first phase is the Map phase. It converts documents to a set of key-value pairs. In Map-reduce parlance, we say it 'emits' key value pairs. It the second phase the key-value pairs are aggregate (grouped) by their keys. +This paradigm is used to crunch large datasets in a distributed system. It's a two-phase process. The first phase is the Map phase. It converts documents to a set of key-value pairs. In Map-reduce parlance, we say it 'emits' key value pairs. It the second phase the key-value pairs are aggregated (grouped) by their keys. ![MapReduce](Media/MapReduce.png) [Bron](https://www.youtube.com/watch?v=lgWy7BwIKKQ)