Skip to content

НИР#2

Open
stewkk wants to merge 120 commits into
pr2from
master
Open

НИР#2
stewkk wants to merge 120 commits into
pr2from
master

Conversation

@stewkk

@stewkk stewkk commented May 4, 2026

Copy link
Copy Markdown
Owner

No description provided.

@TonitaN TonitaN left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Очень увлекательное описание мечты, но пока ещё далёкое от систематического изложения плана её реализации)

Comment thread report/thesis.tex Outdated
\noindent\hspace{13.5ex}\normalsize\hspace{170pt}\hspace{2ex}\scriptsize{(Подпись, дата)}\normalsize\hspace{30pt}\hspace{6ex}\scriptsize{(И.О. Фамилия)}\normalsize
\bigskip

\noindent Нормоконтролер \hfill \underline{\hspace{4cm}}\quad

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Это для НИР не нужно)

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

У меня титульник в отдельном шаблоне, убрал отсюда

Comment thread report/thesis.tex Outdated
\anonsection{ВВЕДЕНИЕ}

В эпоху стремительного роста объемов данных системы управления базами данных
(СУБД) являются ключевой частью информационных систем. По данным аналитических

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Слово ключевой очень любят роботы, лучше бы не злоупотреблять. И из этого параграфа оптимально оставить только первое предложение (ключевой -> важный, как написал бы нормальный студент).

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

А я в последней курсовой так и писал примерно....

С развитием технологий обработки больших данных и появлением все большего числа
распределенных высоконагруженных систем, как никогда актуальным становится
вопрос эффективного хранения данных. Системы управления базами данных решают эти
задачи, упрощая разработку и экономя вычислительные ресурсы, а также место на
дисках.
Реляционные системы управления базами данных занимают более половины
рынка~\cite{DBReport} и остаются стандартом для хранения данных. Основным языком
запросов к таким системам является SQL.
Разработчики СУБД постоянно борются за производительность исполнения SQL

Поправил

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Курсовую читает только руководитель, а на ВКР (есть надежда, что куски из НИР пойдут туда) будет смотреть комиссия, поэтому лучше убрать триггеры и быть проще)

Comment thread report/thesis.tex Outdated
допускающим параллельность исполнения.

Целью данной работы является разработка и реализация оптимизатора подмножества
SQL-запросов на основе архитектуры Cascades, а также создание фреймворка для его

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

фреймворка -> каркаса

Comment thread report/thesis.tex Outdated
\begin{enumerate}
\item \emph{Синтаксический анализ} --- запроса проходит лексический и синтаксический разбор. Результатом данного этапа
является синтаксическое дерево, узлы которого соответствуют конструкциям
языка SQL: операторам \texttt{SELECT}, \texttt{FROM}, \texttt{WHERE},

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Это лучше в макросы вынести и использовать здесь уже команды

Comment thread report/thesis.tex Outdated

Реляционная алгебра представляет собой формальный язык для описания операций над
отношениями реляционной базы данных. В отличие от декларативного SQL,
реляционная алгебра процедурной, так как она определяет конкретную

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

*является процедурной

Comment thread report/thesis.tex Outdated

Группа в Memo представляет собой множество выражений, которые эквивалентны с
точки зрения логического результата. Например, для отношений \(A\), \(B\) и
\(C\) выражения

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

не нужно здесь выключную формулу, можно и внутритекстовую

Comment thread report/thesis.tex Outdated
листинга~\ref{lst:query}. Например, группа \(G_5\) представляет результат
соединения трех отношений, в ней находятся два логически эквивалентных выражения
с разной ассоциацией соединений и четыре физические реализации для них. Входными
данными для операторов являются группы группы, поэтому общие подвыражения не

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

лучше просто группы

Comment thread report/thesis.tex Outdated
\label{fig:cascades-tasks}
\end{figure}

\section{Правила трансформации и реализации}

@TonitaN TonitaN May 8, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В этом разделе есть одна важная проблема: правила имеют другой вид, чем описывается в самой первой формуле (условие - уже после левой и правой части, например, также форма стрелки другая). Предлагаю решить проблему кардинально - написать макрос с тремя аргументами для единообразной записи правил. А затем свести их в общую таблицу, к которой уже добавить текстовые комментарии

Comment thread report/thesis.tex
сортировкой может конкурировать с планом на основе соединения слиянием, которое
сохраняет порядок результата.

\section{Метод ветвей и границ}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Тут, конечно, маловато конкретики - хотелось бы видеть, какую стоимостную модель вы выбрали для своей системы

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Добавил формулы для конкретных операторов

Comment thread report/thesis.tex

% {\color{red} TODO: табличка формул для разных операторов}

\section{Дифференциальный анализ физических планов}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Тут крайне мало конкретики: пока что раздел выглядит как "за всё хорошее и против всего плохого". Непонятно, какие конкретно системы считаются эталонами, как конкретно вы собираетесь конвертировать извлеченный физический план в свою модель, и не получится ли после этого преобразования совсем другая производительность, а также почему эквивалентность планов достаточно проверить на единственном наборе таблиц.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Поправил

@geogreck

Copy link
Copy Markdown

круто

@stewkk

stewkk commented Jun 10, 2026

Copy link
Copy Markdown
Owner Author
1. ** В документе много символов, размер которых меньше 8 пт: Стр. 58 "𝜃|𝜃|𝜃 𝜃|оба соединения внутренние;|𝜃 ∧𝜃 пере", Стр. 59 "𝑝 𝜃|𝑝 null-отбрасывающий по 𝑎𝑡𝑡𝑟𝑠(𝑆)|𝑝 �".
2. Документ содержит страницы, размеры левого поля на которых не соответствуют требованиям или отступ первой строки абзаца не равен 1.25…1.27 см: Стр. 8, Стр. 10, Стр. 11, Стр. 12, Стр. 15, Стр. 16.
3. Документ содержит страницы, размеры верхнего поля на которых не соответствуют требованиям: Стр. 15, Стр. 16, Стр. 19, Стр. 42, Стр. 44, Стр. 45, Стр. 58.
4. Номер страницы должен находиться внутри нижнего поля и располагаться по центру текста. На титульном листе номер страницы не ставится.Стр. 2.

сложно

UPD: 1 пофиксил, остальное видимо можно не фиксить

@TonitaN TonitaN left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Необходимо выполнить балансировку частей ВКР - расширить конструкторскую часть и уменьшить исследовательскую.

Не нашла в конструкторской части ничего про дифференциальные планы. В аналитической части упоминается фаззер, который ищет к ним приближение, но почему-то ничего - про результаты его работы (какие правила так удалось улучшить, насколько часто удаётся получить такой же план, среднее расстояние до промышленного плана).

Comment thread report/vkr.tex Outdated
итеративного улучшения путем сравнения с промышленными реализациями.

Для достижения поставленной цели прежде всего требуется изучить архитектуру
оптимиазторов Cascades и на ее основе проработать собственную.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

*оптимизаторов

Comment thread report/vkr.tex Outdated
Правила трансформации должны порождать логически эквивалентные планы, а правила
реализации сопоставлять логическим операторам допустимые физические операторы.

Для оптимизации алгоритма поиска нужно реазивовать метод ветвей и границ. Этот

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

*реализовать

Comment thread report/vkr.tex Outdated

\setlength{\tabcolsep}{3pt}
\newpage
\thispagestyle{empty}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Если это отключить, то на номер страницы ругаться не будет. И нужно будет поправить точку отсчёта (добавить страницы под калпланы etc)

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

добавить страницы под калпланы etc

а нам вот такое писали:

  1. Титульный лист (нумеруется, но цифорка не ставится)
  2. Задание на ВКР (не нумеруется)
  3. Календарный план(не нумеруется)
  4. Аннотация (не нумеруется)
  5. Содержание (нумеруется)
  6. Введение (нумеруется)
    ....

То есть у Содержания (оно же Оглавление) номер страницы 2. Ничего из 1-5) в содержание не идёт. Первый пункт содержания - введение.

Comment thread report/vkr.tex Outdated
Процесс исполнения SQL-запроса в реляционной СУБД проходит несколько
последовательных этапов.

\begin{enumerate}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Тут enumerate лишний, лучше абзацами, заодно могут починиться поля

Comment thread report/vkr.tex Outdated
\]

Среди основных операторов реляционной алгебры выделяют
следующие\cite{silberschatz2020database}.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Здесь и везде - цитирование отделяем неразрывным пробелом ~

Comment thread report/vkr.tex Outdated
для пары \((G_i, P_i)\) на текущий момент работы алгоритма. Поскольку
оптимизация группы является рекурсивным процессом, к моменту отсечения для
\((G_i, P_i)\) уже могут быть найдены некоторые планы, и их минимальная
стоимость служит нижней границей. Если же группа \(G_i\) под свойством \(P_i\)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Здесь важно подчеркнуть, что поскольку C* вычислена в том же пайплайне и использовала точно не лучшие оценки стоимости дочерних групп, такая оценка корректна. Потому что если $C^*$ взята из другого выполнения, например, в котором была оценка стоимости дочерних групп более низкая, то формула вызывает вопрос, а при таких ограничениях - уже не вызывает.

Comment thread report/vkr.tex Outdated
C_{local}(e) + \sum_{i=1}^{k} LB(G_i, P_i) \geq C^*,
\]

то выражение \(e\) может быть отсечено. Здесь \(LB\) обозначает нижнюю границу

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

после выключных формул лучше бы вставлять \noindent, чтобы подавить красную строку

Comment thread report/vkr.tex Outdated

\subsubsection{Метод ветвей и границ}

% актуализировать: формулы, алгос и у меня другая селективность...

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Здесь можно оставить общее описание и даже сократить несколько, а актуализацию - в конструкторскую часть.

Comment thread report/vkr.tex
% \end{minted}
% \end{listing}

Для поиска ошибок исполнения реализован дифференциальный фаззер. Он генерирует

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Нужно воткнуть схему общего пайплайна вашего проекта, в виде диаграммы, затем чтобы иметь возможность вставить её в слайды на защите

Comment thread report/vkr.tex Outdated
повторений запросов SSB. Ускорение рассчитывается как отношение времени
выполнения наивного плана ко времени выполнения оптимизированного плана.

Видно, что на стандартном наборе запросов оптимизатор дает на $20-50\%$ раз, а

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

*ускорение на .. .

Важно! Не прокомментированы последние кейсы, где ускорения нет. Это обязательно нужно сделать. Также нужно прокомментировать явно рис. 5-6 и дать на них ссылки в тексте, иначе рисунок 6 вообще оказывается в вакууме

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Я в итоге исправил код, теперь ускорение есть везде

@stewkk

stewkk commented Jun 15, 2026

Copy link
Copy Markdown
Owner Author

статистику по правилам добавил

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants