Preview

Труды Института системного программирования РАН

Расширенный поиск

Сравнительный анализ производительности библиотек объектно-реляционного отображения для Python

https://doi.org/10.15514/ISPRAS-2026-38(4)-25

Аннотация

Объектно-реляционное отображение является распространённым способом работы с реляционными базами данных в приложениях на языке программирования Python: данные описываются через модели, а запросы выполняются на уровне объектов. Цена такой абстракции – накладные расходы, способные заметно влиять на время выполнения типовых операций чтения и записи, особенно в условиях высокого числа транзакций к базе данных. В работе предложена воспроизводимая методика тестирования производительности библиотек объектно-реляционного отображения и представлены результаты сопоставления библиотек Django, Peewee, Pony, SQLAlchemy и SQLModel в 14 сценариях создания, чтения, обновления и удаления данных. Для каждого сценария фиксируются среднее значение, медиана и 99-й перцентиль времени выполнения операции. Результаты сведены в таблицы и сопровождаются краткими комментариями, ориентированными на практический выбор инструмента под характерные сценарии.

Об авторах

Александр Евгеньевич ЧЕРНОБРОВЕНКО
Белгородский государственный технологический университет им. В.Г. Шухова
Россия

Студент Белгородского государственного технологического университета им. В.Г. Шухова. Сфера научных интересов: машинное обучение, цифровые технологии, проектирование и разработка баз данных, алгоритмы и структуры данных, параллельное программирование.



Денис Андреевич ЛЫЛОВ
Белгородский государственный технологический университет им. В.Г. Шухова
Россия

Студент Белгородского государственного технологического университета им. В.Г. Шухова. Сфера научных интересов: машинное обучение, проектирование и разработка баз данных, информационно-коммуникационные технологии.



Максим Владимирович ПАНЧЕНКО
Белгородский государственный технологический университет им. В.Г. Шухова
Россия

Старший преподаватель кафедры программного обеспечения вычислительной техники и автоматизированных систем Белгородского государственного технологического университета им. В.Г. Шухова. Сфера научных интересов: технологии проектирования и разработки баз данных, методы интеллектуального анализа данных, нейро-нечеткие системы.



Список литературы

1. Django Software Foundation. Django documentation (v5.2). Available at: https://docs.djangoproject.com/en/5.2/, accessed: 28.11.2025.

2. Peewee. Peewee documentation. Available at: https://docs.peewee-orm.com/en/latest/, accessed: 20.01.2026.

3. PonyORM. Pony ORM documentation. Available at: https://docs.ponyorm.org/, accessed: 28.11.2025.

4. SQLAlchemy. SQLAlchemy documentation (v2.0). Available at: https://docs.sqlalchemy.org/en/20/, accessed: 30.11.2025.

5. tiangolo. SQLModel documentation. Available at: https://sqlmodel.tiangolo.com/, accessed: 21.01.2026.

6. Transaction Processing Performance Council. TPC Benchmarks Overview. Available at: https://www.tpc.org/information/benchmarks5.asp, accessed: 11.06.2026.

7. Cooper B.F., Silberstein A., Tam E., Ramakrishnan R., Sears R. Benchmarking Cloud Serving Systems with YCSB. In Proc. of the 1st ACM Symposium on Cloud Computing (SoCC 2010), 2010, pp. 143–154. DOI: 10.1145/1807128.1807152. Available at: https://github.com/brianfrankcooper/YCSB, accessed: 11.06.2026.

8. Curino C., Difallah D.E., Pavlo A., Cudré-Mauroux P. Benchmarking OLTP/Web Databases in the Cloud: the OLTP-Bench Framework. In Proc. of the 4th International Workshop on Cloud Data Management (CloudDB 2012), 2012, pp. 17–20. DOI: 10.1145/2390021.2390025. Available at: https://db.cs.cmu.edu/projects/benchbase/, accessed: 12.06.2026.

9. TechEmpower. TechEmpower Framework Benchmarks. Available at: https://www.techempower.com/benchmarks/, accessed: 13.06.2026.

10. Lorenz M., Rudolph J.-P., Hesse G., Uflacker M., Plattner H. Object-Relational Mapping Revisited – A Quantitative Study on the Impact of Database Technology on O/R Mapping Strategies. In Proc. of the 50th Hawaii International Conference on System Sciences (HICSS 2017), 2017, pp. 4877–4886. DOI: 10.24251/HICSS.2017.592. Available at: https://aisel.aisnet.org/hicss-50/os/enterprise_architecture/9/, accessed: 14.06.2026.

11. Chen T.-H., Shang W., Jiang Z.M., Hassan A.E., Nasser M., Flora P. Detecting Performance Anti-patterns for Applications Developed using Object-Relational Mapping. In Proc. of the 36th International Conference on Software Engineering (ICSE 2014), 2014, pp. 1001–1012. DOI: 10.1145/2568225.2568259. Available at: https://sailresearch.github.io/sail-website/data/pdfs/ICSE2014_DetectingPerformanceAnti-patternsForApplicationsDevelopedUsingObject-RelationalMapping.pdf, accessed: 14.06.2026.

12. Wiatrowski T. Comparative Analysis of ORM Systems for the .NET Platform. Journal of Computer Sciences Institute, 2024, vol. 31, pp. 97–102. DOI: 10.35784/jcsi.6012. Available at: https://ph.pollub.pl/index.php/jcsi/article/view/6012, accessed: 15.06.2026.

13. Attala J., Khemapatpapan C. Comparing the Performance of ORMs. Journal of Computer and Creative Technology, 2025, vol. 3, no. 2, pp. 201–213. DOI: 10.14456/jcct.2025.16. Available at: https://so13.tci-thaijo.org/index.php/jcct/article/view/2330, accessed: 16.06.2026.

14. Python Software Foundation. PEP 249 – Python Database API Specification v2.0. Available at: https://peps.python.org/pep-0249/, accessed: 26.11.2025.

15. psycopg. psycopg 3 documentation. Available at: https://www.psycopg.org/psycopg3/docs/, accessed: 27.11.2025.

16. psycopg. psycopg 2.9 documentation. Available at: https://www.psycopg.org/docs/, accessed: 27.11.2025.

17. Pydantic. Pydantic documentation (v2.12). Available at: https://docs.pydantic.dev/2.12/, accessed: 21.01.2026.

18. Bednarz B., Miłosz M. Benchmarking the performance of Python web frameworks. Journal of Computer Sciences Institute, 2025, vol. 36, pp. 336–341. DOI: 10.35784/jcsi.7738. Available at: https://ph.pollub.pl/index.php/jcsi/article/view/7738, accessed: 22.01.2026.

19. Fowler M. Unit of Work. Available at: https://martinfowler.com/eaaCatalog/unitOfWork.html, accessed: 30.11.2025.

20. Fowler M. Active Record. Available at: https://martinfowler.com/eaaCatalog/activeRecord.html, accessed: 30.11.2025.

21. Xu Z., Zhu J., Yang L., Zuo C. Mining the Relationship between Object-Relational Mapping Performance Anti-patterns and Code Clones. In Proc. of the 35th International Conference on Software Engineering and Knowledge Engineering (SEKE 2023), 2023, pp. 136–141. DOI: 10.18293/SEKE2023-161. Available at: https://ksiresearch.org/seke/seke23paper/paper161.pdf, accessed: 01.12.2025.

22. Tang C., Wang Z., Zhang X., Yu Q., Zang B., Guan H., Chen H. Ad Hoc Transactions in Web Applications: The Good, the Bad, and the Ugly. In Proc. of the 2022 International Conference on Management of Data (SIGMOD 2022), 2022, pp. 4–18. DOI: 10.1145/3514221.3526120. Available at: https://ipads.se.sjtu.edu.cn/_media/publications/concerto-sigmod22.pdf, accessed: 02.12.2025.

23. PostgresPro. Demo database. Available at: https://postgrespro.ru/education/demodb, accessed: 29.11.2025.

24. Reichelt D.G., Jung R., van Hoorn A. Overhead Measurement Noise in Different Runtime Environments. Softwaretechnik-Trends, 2024, vol. 44, no. 4, pp. 12–14. Available at: https://arxiv.org/abs/2411.05491, accessed: 28.01.2026.

25. Dean J., Barroso L.A. The Tail at Scale. Communications of the ACM, 2013, vol. 56, no. 2, pp. 74–80. DOI: 10.1145/2408776.2408794. Available at: https://dl.acm.org/doi/10.1145/2408776.2408794, accessed: 27.01.2026.


Рецензия

Для цитирования:


ЧЕРНОБРОВЕНКО А.Е., ЛЫЛОВ Д.А., ПАНЧЕНКО М.В. Сравнительный анализ производительности библиотек объектно-реляционного отображения для Python. Труды Института системного программирования РАН. 2026;38(4):177-192. https://doi.org/10.15514/ISPRAS-2026-38(4)-25

For citation:


CHERNOBROVENKO A.E., LYLOV D.A., PANCHENKO M.V. Comparative Performance Analysis of Object-relational Mapping Libraries for Python. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2026;38(4):177-192. (In Russ.) https://doi.org/10.15514/ISPRAS-2026-38(4)-25



Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)