| Literature DB >> 28821246 |
Ricardo Sánchez-de-Madariaga1, Adolfo Muñoz2, Raimundo Lozano-Rubí3,4, Pablo Serrano-Balazote5, Antonio L Castro2, Oscar Moreno2, Mario Pascual2.
Abstract
BACKGROUND: The objective of this research is to compare the relational and non-relational (NoSQL) database systems approaches in order to store, recover, query and persist standardized medical information in the form of ISO/EN 13606 normalized Electronic Health Record XML extracts, both in isolation and concurrently. NoSQL database systems have recently attracted much attention, but few studies in the literature address their direct comparison with relational databases when applied to build the persistence layer of a standardized medical information system.Entities:
Keywords: Algorithmic complexity; Clinical practice; Document-based task; Electronic health record extract; ISO/EN 13606 standard; NoSQL database; Normalized medical information; Primary use; Relational database; Secondary research use
Mesh:
Year: 2017 PMID: 28821246 PMCID: PMC5563027 DOI: 10.1186/s12911-017-0515-4
Source DB: PubMed Journal: BMC Med Inform Decis Mak ISSN: 1472-6947 Impact factor: 2.796
Fig. 1One way to perform ORM on standardized EHR extracts
Six queries performed on relational and NoSQL databases
|
| |
|---|---|
| Q1 | Find all problems of a single patient |
| Q2 | Find all problems of all patients |
| Q3 | Find initial date, resolution date and severity of a single problem of a single patient |
| Q4 | Find initial date, resolution date and severity of all problems of a single patient |
| Q5 | Find initial date, resolution date and severity of all problems of all patients |
| Q6 | Find all patients with problem ‘pharyngitis’, initial date > = ‘16/10/2007’, resolution date <= ‘06/05/2008’ and severity ‘high’ |
Response times in seconds of the six queries performed on MySQL relational ORM database
|
|
|
|
|
|
|---|---|---|---|---|
| Q1 | 0.0429 | 209.0284 | 1082.7872 | 72,182.95 |
| Q2 | 101.6196 | >10,000 | >10,000 | >> |
| Q3 | 0.1256 | 4.1982 | 12.6110 | 832.36 |
| Q4 | 0.1843 | 400.6388 | 1598.7410 | 106,570.45 |
| Q5 | 200.8954 | >10,000 | >10,000 | >> |
| Q6 | 0.7362 | 65.1898 | 185.2420 | 12,300.39 |
| Database size | 4.8GB | 9.7GB | 19.8GB | |
| Total extracts | 5000 | 10,000 | 20,000 |
*stands for the multiplication sign
Response times in seconds of the six queries performed on MongoDB NoSQL database
|
|
|
|
|
|
|---|---|---|---|---|
| Q1 | 0.0460 | 0.0570 | 0.1221 | 5.07 |
| Q2 | 34.5181 | 68.6945 | 136.2329 | 6780.99 |
| Q3 | 0.0480 | 0.0580 | 0.1201 | 4.81 |
| Q4 | 0.0520 | 0.0610 | 0.1241 | 4.81 |
| Q5 | 38.0202 | 75.4376 | 149.9330 | 7460.85 |
| Q6 | 9.5153 | 18.5566 | 36.7805 | 1817.68 |
| Database size | 1.95GB | 3.95GB | 7.95GB | |
| Total extracts | 5000 | 10,000 | 20,000 |
*stands for the multplication sign
Response times in seconds of the six queries performed on eXist NoSQL database
|
|
|
|
|
|
|---|---|---|---|---|
| Q1 | 0.6608 | 3.7834 | 7.3022 | 442.76 |
| Q2 | 60.7761 | 129.3645 | 287.362 | 15,105.73 |
| Q3 | 0.6976 | 1.7710 | 4.1172 | 227.96 |
| Q4 | 0.6445 | 3.7604 | 7.3216 | 445.17 |
| Q5 | 145.3373 | 291.2502 | 597.7216 | 30,158.93 |
| Q6 | 68.3798 | 138.9987 | 475.2663 | 27,125.82 |
| Database size | 1.25GB | 2.54GB | 5.12GB | |
| Total extracts | 5000 | 10,000 | 20,000 |
*stands for the multiplication sign
Fig. 2ORM (up) and NoSQL (MongoDB left, eXist right) response times to queries Q1 and Q4 for three database sizes
Fig. 5ORM and NoSQL (eXist and MongoDB) response times to query Q6 for three database sizes
Fig. 3ORM (up) and NoSQL (MongoDB left, eXist right) response times to queries Q2 and Q5 for three database sizes
Fig. 4ORM (up) and NoSQL (MongoDB left, eXist right) response times to query Q3 for three database sizes
Shows space and time costs to store and retrieve XML documents in the three DBMSs
|
|
|
|
| |
|---|---|---|---|---|
|
| 6188.5 | 7569.7 | 960 | 244.876 |
|
| 14.0 | 35.0 | 390 | 244.876 |
|
| 4.9 | 90.9 | 250 | 244.876 |
Shows illustrative data from three relational database management systems presented in [16]
|
|
|
|
| |
|---|---|---|---|---|
| Q1 | Query 2.1 | 0.221 | 0.191 | 24.866 |
| Q3 | Query 3.1 | 0.242 | 0.270 | 294.774 |
| Q6 | Query 7.1 | 14.582 | 1.293 | 41.217 |
| Database size | 1.60 GB | 2.90 GB | 43.87 GB | |
| Total extracts | 29,743 | 29,743 | 29,743 |
Shows most frequent query throughput and response times in concurrent execution in MySQL
|
|
|
|
|---|---|---|
| Q1 | 4711.6 | 0.0793 |
| Q3 | 4711.6 | 0.1558 |
| Q4 | 4711.6 | 0.9674 |
Shows most frequent query throughput and response times in concurrent execution in MongoDB
|
|
|
|
|---|---|---|
| Q1 | 178,672.6 | 0.0030 |
| Q3 | 178,672.6 | 0.0026 |
| Q4 | 178,672.6 | 0.0034 |