# Performance Evaluation of NoSQL Document Databases: Couchbase, CouchDB, and MongoDB
## 5 Experimental Results
### CouchDB  
Table 4 shows the CouchDB runtime results for all workloads with three threads and using different numbers of records. The results for one and six threads are available at: [[https://github.com/isofiaC/Performance-Evaluation-of-NoSQL-Document-Databases](https://github.com/isofiaC/Performance-Evaluation-of-NoSQL-Document-Databases)]([https://github.com/isofiaC/Performance-Evaluation-of-NoSQL-Document-Databases](https://github.com/isofiaC/Performance-Evaluation-of-NoSQL-Document-Databases)) (accessed on 5 January 2023).  
For all records, workload E is the workload with the longest runtime because this workload is composed of 95% scanning operations and only 5% of insert operations.  
Table 5 shows the runtime results in seconds for all the workloads used in CouchDB. From these results, it was possible to conclude that:  
\begin{table}
\begin{tabular}{c c c c} \hline \hline
**CouchDB** & **100,000 Records** & **1,000,000 Records** & **10,000,000 Records** \\ \hline Workload A & 10.58 s & 1278.84 s & 18,513.14 s \\ Workload B & 14.83 s & 790.41 s & 28,537.45 s \\ Workload C & 17.20 s & 145.05 s & 4150.06 s \\ Workload D & 19.00 s & 194.48 s & 9021.59 s \\ Workload E & 181.30 s & 2806.93 s & 45,257.58 s \\ Workload F & 22.58 s & 734.97 s & 8988.81 s \\ Workload G & 26.41 s & 789.59 s & 12,043.40 s \\ Workload H & 22.37 s & 356.89 s & 6058.88 s \\ \hline \hline \multirow{2}{*}{Total} & 314.27 s & 7097.16 s & 132,570.91 s \\  & (5.24 min) & (118.29 min) & (2209.52 min) \\ \hline \hline \end{tabular}
\end{table}
Table 4: Runtime of CouchDB with 3 threads.  
\begin{table}
\begin{tabular}{c c c c} \hline \hline
**Couchbase** & **100,000 Records** & **1,000,000 Records** & **10,000,000 Records** \\ \hline
1 Thread & 1094.68 s & 18,951.37 s & 384,101.63 s \\
3 Threads & 488.03 s & 8725.28 s & 242,373.45 s \\
6 Threads & 256.29 s & 6066.70 s & 148,339.99 s \\ \hline \hline \multirow{2}{*}{Total} & 1839.00 s & 33,743.33 s & 774,815.06 s \\  & (30.65 min) & (562.39 min) & (12,913.58 min) \\ \hline \hline \end{tabular}
\end{table}
Table 3: Runtime of Couchbase for all workloads.  
* Considering 100,000 records, we see that increasing the number of threads from one to three caused the runtime to be more than halved. Although the same did not happen when switching from three to six threads, with the runtime being reduced by only 30%. This can be explained by the management of the threads that is performed by the database engine;
* Considering 1,000,000 records, we can see that with the increase in the number of threads, the runtime has almost halved;
* Considering 10,000,000 records, the runtime from one to three threads decreases by almost 60%, and from three to six threads, the runtime decreases by 50%. This shows that CouchDB presents good scale-up when using more threads;
* When increasing from 100,000 records to 1,000,000 records, the expected runtime was 10 times longer; however, there was an increase of 17.9 times;
* When increasing from 1,000,000 records to 10,000,000 records, the expected runtime increase was 10 times since the workload also increased 10 times, but it was found to increase 18.1 times;
* From 100,000 records to 10,000,000 records, the runtime increases by 323.7 times, when the expected increase was only 100 times since the workload increase was also 100 times. As explained before, this increase is due to the limitations of computer hardware and the high workload, implying more disk access.