Details
| Title | Разработка веб-приложения для конвертации SQL-скриптов из PostgreSQL в ClickHouse: выпускная квалификационная работа бакалавра: направление 09.03.03 «Прикладная информатика» ; образовательная программа 09.03.03_03 «Интеллектуальные инфокоммуникационные технологии» = Development of a web application for converting SQL scripts from PostgreSQL to ClickHouse |
|---|---|
| Creators | Касьянов Артём Алексеевич |
| Scientific adviser | Андрианова Екатерина Евгеньевна |
| Organization | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
| Imprint | Санкт-Петербург, 2026 |
| Collection | Выпускные квалификационные работы ; Общая коллекция |
| Subjects | конвертация SQL-скриптов ; диалекты SQL ; PostgreSQL ; ClickHouse ; абстрактное синтаксическое дерево ; SQL script conversion ; SQL dialects ; abstract syntax tree |
| Document type | Bachelor graduation qualification work |
| Language | Russian |
| Level of education | Bachelor |
| Speciality code (FGOS) | 09.03.03 |
| Speciality group (FGOS) | 090000 - Информатика и вычислительная техника |
| DOI | 10.18720/SPBPU/3/2026/vr/vr26-2171 |
| Rights | Доступ по паролю из сети Интернет (чтение, печать, копирование) |
| Additionally | New arrival |
| Record key | ru\spstu\vkr\42734 |
| Record create date | 8/21/2026 |
Allowed Actions
–
Action 'Read' will be available if administrator prepare required files
Action 'Download' will be available if you login or access site from another network
| Group | Anonymous |
|---|---|
| Network | Internet |
Целью работы является разработка веб-приложения для автоматизированной конвертации SQL-скриптов из диалекта PostgreSQL в диалект ClickHouse с поддержкой привязанных к коду аннотаций о семантических расхождениях и невозможности перевода отдельных конструкций. Объект исследования: SQL-скрипты на диалекте PostgreSQL. В качестве методологической основы выбран правило-ориентированный подход, при котором исходный скрипт разбирается в собственное абстрактное синтаксическое дерево, к дереву применяется система формализованных правил, классифицированных по степени сохранения семантики, а результат сериализуется в код целевого диалекта. Выполнен обзор подходов к преобразованию SQL-кода и аналогов, систематизированы синтаксические и семантические различия PostgreSQL 18 и ClickHouse 24. Приложение было реализовано с помощью сервиса конвертации (Python), серверного шлюза (ASP.net) и веб-клиента (HTML + CSS + JS). Многоуровневое тестирование, включающее модульное, интеграционное, нагрузочное и ручное, подтвердило корректность преобразований и устойчивую работу приложения. Разработанный инструмент применим для разовых миграций схемы и данных, а также для прототипирования аналитических запросов. Наглядное выделение семантических расхождений непосредственно в коде упрощает выявление мест, требующих ручного вмешательства, и снижает риск незамеченных семантических ошибок при переносе. Полученные результаты подтверждают достижение поставленной цели — разработанный инструмент обеспечивает автоматизированную конвертацию с прозрачной диагностикой семантических расхождений и пригоден к эксплуатации в роли общедоступного веб-сервиса без дополнительной настройки со стороны пользователя.
The goal of the work is to develop a web application for automated conversion of SQL scripts from the PostgreSQL dialect to the ClickHouse dialect with code-bound annotations describing semantic divergences and untranslatable constructs. The object of research is SQL scripts written in the PostgreSQL dialect. The methodological basis is a rule-based approach in which the source script is parsed into a custom abstract syntax tree, a system of formalised rules classified by degree of semantics preservation is applied to the tree, and the result is serialised into the target dialect code. A review of SQL transformation approaches and analogues has been performed, and the syntactic and semantic differences between PostgreSQL 18 and ClickHouse 24 have been systematised. The application was implemented using a conversion service (Python), a server gateway (ASP.net) and a web client (HTML + CSS + JS). Multi-level testing, comprising unit, integration, load and manual testing, confirmed the correctness of the transformations and stable operation of the application. The developed tool is applicable to one-off migrations of schema and data and to prototyping of analytical queries. Highlighting semantic divergences directly within the code simplifies the identification of fragments requiring manual intervention and reduces the risk of unnoticed semantic errors during migration. The obtained results confirm that the stated goal has been achieved, as the developed tool provides automated conversion with transparent diagnostics of semantic divergences and is suitable for operation as a publicly available web service without any additional configuration on the users side.
| Network | User group | Action |
|---|---|---|
| ILC SPbPU Local Network | All |
|
| Internet | Authorized users SPbPU |
|
| Internet | Anonymous |
|