DOI: 10.17587/prin.15.59-72
Refactoring a Complex Scientometric Software System to Support PostgreSQL Database Management System
M. A. Krivchikov, Senior Researcher, maxim.krivchikov@math.msu.ru, V. A. Roganov, Senior Researcher, radug-a@ya.ru, V. A. Vasenin, Professor, vasenin@msu.ru, Lomonosov Moscow State University, 119991, Moscow, Russian Federation
Corresponding author: Maxim A. Krivchikov, Senior Researcher, Lomonosov Moscow State University, 119991, Moscow, Russian Federation E-mail: maxim.krivchikov@math.msu.ru
Received on November 17, 2023
Accepted on December 07, 2023
The problem of software import substitution is under a great deal of attention in Russia since 2015. As a part of import substitution for a complex software system, database migration presents a considerable risk. Despite the SQL ISO standardization efforts, different implementations of SQL relational database management system are partially incompatible on the level of source codes for the schema, queries and stored procedures. Incompatibilities can manifest even at the level of query semantics. Some traits of complex scientometric software systems further complicate the migration process. Such traits include the complex data model and, consequently, the presence of non-trivial graph-traversing SQL queries which should complete fast enough to be used interactively for thousands of users simultaneously. In this paper an experience of refactoring a complex scientometric software system to support PostgreSQL database management system is presented. Our approach includes both usage and modification of the existing tools and development of the in-house software to support the refactoring process compounded with an extensive automated testing procedures.
Keywords: software engineering, refactoring, three-tier architecture, database management system, PostgreSQL, database migration
pp. 59–72
For citation:
Krivchikov M. A., Roganov V. A., Vasenin V. A. Refactoring a Complex Scientometric Software System to Support PostgreSQL Database Management System, Programmnaya Ingeneria, 2024, vol. 15, no. 2, pp. 59—72. DOI: 10.17587/prin.15.59-72 (in Russian).
References:
- Read A. G. DeWitt Clauses: Can We Protect Purchasers without Hurting Microsoft? The Review of Litigation, 2006, vol. 25, no. 2, pp. 387—421.
- ISO/IEC 9075-1:2016 Part 1: Framework (SQL/Framework). 2016.
- SQLite Consortium, SQLite Database 3.44.2, 2023, available at: https://sqlite.org/ (date of access 17.11.2023).
- MySQL AB, MySQL 5.0.26, 2006, available at: https://www.mysql.com/ (date of access 17.11.2023).
- The PostgreSQL Global Development Group, PostgreSQL 16.1, 2023, available at: https://www.postgresql.org/ (date of access 12/07/2023).
- Borodin V. Yandex.Mail success story, Presented at PgDay Russia 2016, Saint Petersburg, Russia, 2016, available at: https:// pgday.ru/ru/2016/papers/61 (date of access 17.11.2023).
- Sinitsky V. Extreme PostgreSQL migration: without downtime, data loss and testing, 2017, available at: https://habr.com/ru/company/yoomoney/blog/326998/ (date of access 17.11.2023).
- Darold G., ora2pg 24.1, 2023, available at: https://ora2pg.darold.net/ (date of access 17.11.2023).
- Schonig H.-J. Mastering PostgreSQL 11: Expert techniques to build scalable, reliable, and fault-tolerant database applications, Packt Publishing Ltd, 2018, 446 p.
- Liang W., Tong W., Shang Y. Transplanting stored procedure from Oracle to PostgreSQL, Journal of Computer Applications, 2010, S1, pp. 220—224.
- Zhang M. PMT: A Procedure Migration Tool from Oracle to PostgreSQL, IET Conference Proceedings, 2013, pp. 384-389. DOI: 10.1049/cp.2013.1999.
- Froisland M. Porting and Performance Analysis of InTra-Base from PostgreSQL to Oracle. M. S. thesis, University of Oslo, Oslo, Norway, 2007.
- Cusick J., Riaz I., Huang H. et al. Applying Operational Profiles to Demonstrate Production Readiness Of an Oracle to SQL Server Database Port using Web Services. Microsoft's SQL Server Migration Assistant (SSMA) Team's Blog, available at: https://www.researchgate.net/publication/259782228_Applying_Operational_Profiles_to_Dem-onstrate_Production_Readiness_Of_an_Oracle_to_SQL_Server_Da-tabase_Port_using_Web_Services (date of access 17.11.2023).
- Krivchikov M., Shachnev D., Vasenin V., Zenzinov A. IS-TINA data analysis system: Cross-cutting technologies for science and education, Proc. of the International Conference Actual Problems of Systems and Software Engineering (APSSE 2019), IEEE Conference Publications, 2019, pp. 140—150.
- Vasenin V., Itkes A., Krivchikov M., Yavtushenko E. ChRel-BAC data access control model for large-scale interactive informational-analytical systems, J Comput Virol Hack Tech., 2020, no. 16, pp. 313—331. DOI: 10.1007/s11416-020-00365-9.