Comparison – Disk vs. MOT
Comparison – Disk vs. MOT
The following table briefly compares the various features of the openGauss disk-based storage engine and the MOT storage engine.
Table 1 Comparison – Disk-based vs. MOT
| Feature | openGauss | openGauss |
| Intel x86 + Kunpeng ARM | Yes | Yes |
| SQL and Feature-set Coverage | 100% | 98% |
| Scale-up (Many-cores, NUMA) | Low Efficiency | High Efficiency |
| Throughput | High | Extremely High |
| Latency | Low | Extremely Low |
| Distributed (Cluster Mode) | Yes | Yes |
| Isolation Levels | READ COMMITTEDREPEATABLE READ | READ COMMITTEDREPEATABLE READ |
| Concurrency Control | Pessimistic + MVCC | Optimistic + MVCC |
| Data Capacity (Data + Index) | Unlimited | Limited to DRAM |
| Native Compilation | No | Yes |
| Replication, Recovery | Yes | Yes |
| Replication Options | 2 (sync, async) | 3 (sync, async, group-commit) |
Appendices
References
[1] Y. Mao, E. Kohler, and R. T. Morris. Cache craftiness for fast multicore key-value storage. In Proc. 7th ACM European Conference on Computer Systems (EuroSys), Apr. 2012.
[2] K. Ren, T. Diamond, D. J. Abadi, and A. Thomson. Low-overhead asynchronous checkpointing in main-memory database systems. In Proceedings of the 2016 ACM SIGMOD International Conference on Management of Data, 2016.
[3] https://e.huawei.com/en/products/servers/taishan-server/taishan-2280-v2.
[4] https://e.huawei.com/en/products/servers/taishan-server/taishan-2480-v2.
[5] Tu, S., Zheng, W., Kohler, E., Liskov, B., and Madden, S. Speedy transactions in multicore in-memory databases. In Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles (New York, NY, USA, 2013), SOSP ’13, ACM, pp. 18–32.
[6] H. Avni at al. Industrial-Strength OLTP Using Main Memory and Many-cores, VLDB 2020.
[7] Bernstein, P. A., and Goodman, N. Concurrency control in distributed database systems. ACM Comput. Surv. 13, 2 (1981), 185–221.
[8] Felber, P., Fetzer, C., and Riegel, T. Dynamic performance tuning of word-based software transactional memory. In Proceedings of the 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP 2008, Salt Lake City, UT, USA, February 20-23, 2008 (2008),
pp. 237–246.
[9] Appuswamy, R., Anadiotis, A., Porobic, D., Iman, M., and Ailamaki, A. Analyzing the impact of system architecture on the scalability of OLTP engines for high-contention workloads. PVLDB 11, 2 (2017),
121–134.
[10] R. Sherkat, C. Florendo, M. Andrei, R. Blanco, A. Dragusanu, A. Pathak, P. Khadilkar, N. Kulkarni, C. Lemke, S. Seifert, S. Iyer, S. Gottapu, R. Schulze, C. Gottipati, N. Basak, Y. Wang, V. Kandiyanallur, S. Pendap, D. Gala, R. Almeida, and P. Ghosh. Native store extension for SAP HANA. PVLDB, 12(12):
2047–2058, 2019.
[11] X. Yu, A. Pavlo, D. Sanchez, and S. Devadas. Tictoc: Time traveling optimistic concurrency control. In Proceedings of the 2016 International Conference on Management of Data, SIGMOD Conference 2016, San Francisco, CA, USA, June 26 - July 01, 2016, pages 1629–1642, 2016.
[12] V. Leis, A. Kemper, and T. Neumann. The adaptive radix tree: Artful indexing for main-memory databases. In C. S. Jensen, C. M. Jermaine, and X. Zhou, editors, 29th IEEE International Conference on Data Engineering, ICDE 2013, Brisbane, Australia, April 8-12, 2013, pages 38–49. IEEE Computer Society, 2013.
[13] S. K. Cha, S. Hwang, K. Kim, and K. Kwon. Cache-conscious concurrency control of main-memory indexes on shared-memory multiprocessor systems. In P. M. G. Apers, P. Atzeni, S. Ceri, S. Paraboschi, K. Ramamohanarao, and R. T. Snodgrass, editors, VLDB 2001, Proceedings of 27th International Conference on Very Large Data Bases, September 11-14, 2001, Roma, Italy, pages 181–190. Morga Kaufmann, 2001.
Glossary
Table 2 Glossary
| Acronym | Definition/Description |
| 2PL | 2-Phase Locking |
| ACID | Atomicity, Consistency, Isolation, Durability |
| AP | Analytical Processing |
| ARM | Advanced RISC Machine, a hardware architecture alternative to x86 |
| CC | Concurrency Control |
| CPU | Central Processing Unit |
| DB | Database |
| DBA | Database Administrator |
| DBMS | Database Management System |
| DDL | Data Definition Language. Database Schema management language |
| DML | Data Modification Language |
| ETL | Extract, Transform, Load or Encounter Time Locking |
| FDW | Foreign Data Wrapper |
| GC | Garbage Collector |
| HA | High Availability |
| HTAP | Hybrid Transactional-Analytical Processing |
| IoT | Internet of Things |
| IM | In-Memory |
| IMDB | In-Memory Database |
| IR | Intermediate Representation of a source code, used in compilation and optimization |
| JIT | Just In Time |
| JSON | JavaScript Object Notation |
| KV | Key Value |
| LLVM | Low-Level Virtual Machine, refers to a compilation code or queries to IR |
| M2M | Machine-to-Machine |
| ML | Machine Learning |
| MM | Main Memory |
| MO | Memory Optimized |
| MOT | Memory Optimized Tables storage engine (SE), pronounced as /em/ /oh/ /tee/ |
| MVCC | Multi-Version Concurrency Control |
| NUMA | Non-Uniform Memory Access |
| OCC | Optimistic Concurrency Control |
| OLTP | Online Transaction Processing |
| PG | PostgreSQL |
| RAW | Reads-After-Writes |
| RC | Return Code |
| RTO | Recovery Time Objective |
| SE | Storage Engine |
| SQL | Structured Query Language |
| TCO | Total Cost of Ownership |
| TP | Transactional Processing |
| TPC-C | An On-Line Transaction Processing Benchmark |
| Tpm-C | Transactions-per-minute-C. A performance metric for TPC-C benchmark that counts new-order transactions. |
| TVM | Tiny Virtual Machine |
| TSO | Time Sharing Option |
| UDT | User-Defined Type |
| WAL | Write Ahead Log |
| XLOG | A PostgreSQL implementation of transaction logging (WAL - described above) |