title: Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ° ÑÐ¸ÑÑÐµÐ¼Ñ Ð´Ð¾ÑÑÑÐ¿Ð° Ðº Ð½ÐµÑÐµÐ»ÑÑÐ¸Ð¾Ð½Ð½Ð¾Ð¹ Ð±Ð°Ð·Ðµ Ð´Ð°Ð½Ð½ÑÑ Tarantool Ð½Ð° Ð¾ÑÐ½Ð¾Ð²Ðµ Spring Data
title: Ð²ÑÐ¿ÑÑÐºÐ½Ð°Ñ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð¼Ð°Ð³Ð¸ÑÑÑÐ°
titleType: Subtitle
title: Development of an access system to the non-relational Tarantool database based on Spring Data
Creators: name: ÐÐµÐ»Ð¾Ð½Ð¾Ð³Ð¾Ð², ÐÐ¸ÐºÐ¾Ð»Ð°Ð¹
Publisher: name: Ð¡Ð°Ð½ÐºÑ-ÐÐµÑÐµÑÐ±ÑÑÐ³ÑÐºÐ¸Ð¹ Ð¿Ð¾Ð»Ð¸ÑÐµÑÐ½Ð¸ÑÐµÑÐºÐ¸Ð¹ ÑÐ½Ð¸Ð²ÐµÑÑÐ¸ÑÐµÑ ÐÐµÑÑÐ° ÐÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾
Year: 2024
Subjects: Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
ÑÐ¸ÑÑÐµÐ¼Ð° Ð´Ð¾ÑÑÑÐ¿Ð°
databases
access system

description: ÐÐ°Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð¿Ð¾ÑÐ²ÑÑÐµÐ½Ð° ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐµ ÑÐ¸ÑÑÐµÐ¼Ñ Ð´Ð¾ÑÑÑÐ¿Ð° (Ð¼Ð¾Ð´ÑÐ»Ñ Spring Data) Ðº Ð½ÐµÑÐµÐ»ÑÑÐ¸Ð¾Ð½Ð½Ð¾Ð¹ Ð±Ð°Ð·Ðµ Ð´Ð°Ð½Ð½ÑÑ Tarantool. Ð Ð¿ÑÐ¾ÑÐµÑÑÐµ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑÐ°Ð±Ð¾ÑÑ Ð±ÑÐ» ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½ Ð¼Ð¾Ð´ÑÐ»Ñ Spring Data, Ð¾Ð±ÐµÑÐ¿ÐµÑÐ¸Ð²Ð°ÑÑÐ¸Ð¹ ÑÐ´Ð¾Ð±Ð½ÑÐ¹ Ð¸ ÑÑÑÐµÐºÑÐ¸Ð²Ð½ÑÐ¹ Ð´Ð¾ÑÑÑÐ¿ Ðº ÑÑÐ°Ð½Ð¸Ð»Ð¸ÑÑ Ð´Ð°Ð½Ð½ÑÑ Tarantool Ð² ÑÐºÐ¾ÑÐ¸ÑÑÐµÐ¼Ðµ Spring Framework. Ð¦ÐµÐ»ÑÑ Ð´Ð°Ð½Ð½Ð¾Ð¹ ÑÐ°Ð±Ð¾ÑÑ ÑÐ²Ð»ÑÐµÑÑÑ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ðµ ÑÐ¸ÑÑÐµÐ¼Ñ Ð´Ð¾ÑÑÑÐ¿Ð°, ÐºÐ¾ÑÐ¾ÑÐ°Ñ Ð±Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ð»Ð° ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÑÐ¸ÐºÐ°Ð¼ Ð¸Ð½ÑÐµÐ³ÑÐ¸ÑÐ¾Ð²Ð°ÑÑ Tarantool Ð² ÑÐ²Ð¾Ð¸ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ, Ð¿Ð¾ÑÑÑÐ¾ÐµÐ½Ð½ÑÐµ Ð½Ð° Ð±Ð°Ð·Ðµ Spring Framework, Ñ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑÐ½ÑÐ¼Ð¸ ÑÑÐ¸Ð»Ð¸ÑÐ¼Ð¸ Ð¸ Ð¼Ð°ÐºÑÐ¸Ð¼Ð°Ð»ÑÐ½Ð¾Ð¹ ÑÑÑÐµÐºÑÐ¸Ð²Ð½Ð¾ÑÑÑÑ. Ð ÑÐ°Ð±Ð¾ÑÐµ ÑÐ°ÑÑÐ¼Ð°ÑÑÐ¸Ð²Ð°ÑÑÑÑ ÑÐ°Ð·Ð»Ð¸ÑÐ½ÑÐµ Ð¿Ð¾Ð´ÑÐ¾Ð´Ñ Ðº Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²Ð¸Ñ Ñ Ð±Ð°Ð·Ð°Ð¼Ð¸ Ð´Ð°Ð½Ð½ÑÑ Ð½Ð° ÑÐ·ÑÐºÐµ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Java, ÑÐ°ÐºÐ¸Ðµ ÐºÐ°Ðº JDBC, JPA Ð¸ Spring Data. ÐÐ°Ð¶Ð´Ð¾Ð¼Ñ Ð¸Ð· ÑÑÐ¸Ñ Ð¿Ð¾Ð´ÑÐ¾Ð´Ð¾Ð² ÑÐ´ÐµÐ»ÑÐµÑÑÑ Ð²Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ Ñ ÑÐ¾ÑÐºÐ¸ Ð·ÑÐµÐ½Ð¸Ñ Ð¸Ñ Ð¿ÑÐ¸Ð¼ÐµÐ½Ð¸Ð¼Ð¾ÑÑÐ¸ Ð´Ð»Ñ ÑÐ°Ð±Ð¾ÑÑ Ñ Ð½ÐµÑÐµÐ»ÑÑÐ¸Ð¾Ð½Ð½ÑÐ¼Ð¸ ÑÑÐ°Ð½Ð¸Ð»Ð¸ÑÐ°Ð¼Ð¸ Ð´Ð°Ð½Ð½ÑÑ, Ð¸Ñ Ð¿ÑÐµÐ¸Ð¼ÑÑÐµÑÑÐ² Ð¸ Ð½ÐµÐ´Ð¾ÑÑÐ°ÑÐºÐ¾Ð². Ð¢ÑÐµÑÑÑ Ð³Ð»Ð°Ð²Ð° ÑÐ°Ð±Ð¾ÑÑ Ð¿Ð¾ÑÐ²ÑÑÐµÐ½Ð° Ð°ÑÑÐ¸ÑÐµÐºÑÑÑÐµ Ð¸ ÑÐµÐ°Ð»Ð¸Ð·Ð°ÑÐ¸Ð¸ ÐºÐ¾Ð½ÑÐ¸Ð³ÑÑÐ°ÑÐ¸Ð¸ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ðº ÐºÐ»Ð°ÑÑÐµÑÑ Tarantool. Ð Ð°ÑÑÐ¼Ð°ÑÑÐ¸Ð²Ð°ÑÑÑÑ Ð´Ð²Ð° Ð¾ÑÐ½Ð¾Ð²Ð½ÑÑ Ð¼ÐµÑÐ¾Ð´Ð° Ð½Ð°ÑÑÑÐ¾Ð¹ÐºÐ¸: ÑÐµÑÐµÐ· ÐºÐ¾Ð½ÑÐ¸Ð³ÑÑÐ°ÑÐ¸Ð¾Ð½Ð½ÑÐµ ÑÐ°Ð¹Ð»Ñ Ð¸ Ñ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¼ Java-ÐºÐ»Ð°ÑÑÐ¾Ð². ÐÐ¿Ð¸ÑÐ°Ð½Ð° Ð°ÑÑÐ¸ÑÐµÐºÑÑÑÐ° ÑÐ°Ð±Ð¾ÑÑ Ð°Ð±ÑÑÑÐ°ÐºÑÐ¸Ð¹ Â«RepositoryÂ» Ð¸ Ð¿ÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ð½ÑÑ Ð¼ÐµÑÐ¾Ð´Ð¾Ð², Ð° ÑÐ°ÐºÐ¶Ðµ Ð¸Ñ ÑÐµÐ°Ð»Ð¸Ð·Ð°ÑÐ¸Ñ Ð´Ð»Ñ Tarantool. Ð¢Ð°ÐºÐ¶Ðµ Ð² Ð´Ð°Ð½Ð½Ð¾Ð¹ Ð³Ð»Ð°Ð²Ðµ ÑÐ°ÑÑÐ¼Ð°ÑÑÐ¸Ð²Ð°ÐµÑÑÑ ÑÐµÐ°Ð»Ð¸Ð·Ð°ÑÐ¸Ñ Ð¿Ð¾Ð´ÑÐ¸Ð¿Ð¾Ð² Ð¿ÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ð½ÑÑ Ð¼ÐµÑÐ¾Ð´Ð¾Ð² Ð´Ð»Ñ ÑÐ°Ð±Ð¾ÑÑ Ñ ÑÐ·ÑÐºÐ¾Ð¼ Ð¸ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Tarantool â LUA. ÐÐ»Ñ Ð¿ÑÐ¾Ð²ÐµÑÐºÐ¸ ÑÐ°Ð±Ð¾ÑÐ¾ÑÐ¿Ð¾ÑÐ¾Ð±Ð½Ð¾ÑÑÐ¸ ÑÐ¸ÑÑÐµÐ¼Ñ Ð±ÑÐ»Ð¾ Ð¿ÑÐ¾Ð²ÐµÐ´ÐµÐ½Ð¾ Ð¼Ð¾Ð´ÑÐ»ÑÐ½Ð¾Ðµ Ð¸ Ð¸Ð½ÑÐµÐ³ÑÐ°ÑÐ¸Ð¾Ð½Ð½Ð¾Ðµ ÑÐµÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ðµ, Ð¾Ð¿Ð¸ÑÐ°Ð½Ñ Ð¸Ñ Ð¾ÑÐ½Ð¾Ð²Ð½ÑÐµ ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÑ.
description: This work is dedicated to the development of an access system (Spring Data module) for the non-relational Tarantool database. During the course of this work, a Spring Data module was developed, providing convenient and efficient access to the Tarantool data store within the Spring Framework ecosystem. The goal of this work is to create an access system that allows developers to integrate Tarantool into their applications built on the Spring Framework with minimal effort and maximum efficiency. The work examines various approaches to interacting with databases in the Java programming language, such as JDBC, JPA, and Spring Data. Each of these approaches is considered in terms of their applicability to working with non-relational data stores, their advantages, and disadvantages. The third chapter of the work is dedicated to the architecture and implementation of the connection configuration to the Tarantool cluster. Two main configuration methods are considered: through configuration files and using Java classes. The architecture of Â«RepositoryÂ» abstractions and derivative methods, as well as their implementation for Tarantool, is described. This chapter also discusses the implementation of subtypes of derivative methods for working with the Tarantool query execution language â LUA. To verify the systems functionality, unit and integration testing were conducted, and their main results are described.