Тема: Организация сетевого взаимодействия между узлами в распределенной дисковой колоночной СУБД
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
1. Постановка задачи 5
2. Существующие подходы 6
3. Выполнение запроса в централизованном случае 8
3.1. Пример 8
3.2. До материализации 9
3.3. После материализации 10
4. Реализация 11
4.1. Основные понятия 11
4.2. Принцип работы сервера 12
4.3. Сериализация 12
4.4. Управление подключением и обнаружение ошибок 13
4.5. Сетевой считыватель: NetworkReader 14
4.6. Сетевой оператор: ReceivePos 15
4.6.1. Принцип работы 15
4.6.2. Восстановление после ошибок сети 15
4.6.3. Восстановление после ошибок сервера 16
5. Эксперименты 19
5.1. Ускорение 20
5.2. Масштабируемость 21
5.3. Накладные расходы 22
5.4. Восстановление соединений 22
Заключение 24
Список литературы 25
📖 Введение
Одна из основных особенностей такого сценария — редкое добавление новых данных в систему. В то же время необходимо иметь возможность исполнять сложные запросы над большими массивами данных за наименьшее время. Сам термин OLAP появился достаточно давно, в 1993 году [5], примерно в то же время было решено разделять два типа СУБД.
В начале XXI века область начала испытывать подъем, например в работе [4] указывается, что рынок OLAP систем в 1998 году оценивался всего в 2 миллиарда долларов США, а уже в 2006 году составлял 6 миллиардов долларов.
Одним из наиболее оптимальных способов организации СУБД, ориентированной на OLAP, является поколоночное хранение [2], позволяющее эффективно использовать аппаратные ресурсы системы [3].
Поддержка распределенности в том или ином виде в настоящее время является де-факто обязательным требованием к любой серьезной СУБД. Распределенность позволяет не только увеличивать объем хранимых данных, но и позволяет увеличивать эффективность выполнения запросов с помощью специальных алгоритмовс помощью специальных алгоритмов.
Аспект распределенности в классических (строковых) СУБД был подробнейшим образом изучен еще в 80-х. В то же время наблюдается дефицит или даже отсутствие исследовательских работ по распределенным колоночным СУБД. Конечно, к настоящему моменту было разработано несколько десятков индустриальных колоночных систем, однако научному сообществу про их внутреннее устройство практически ничего не известно. При этом, колоночные СУБД являются актуальной и востребованной в сообществе исследовательской темой. Дефицит публикаций объясняется просто: для проведения исследований в области распределенных колоночных СУБД необходимы специальные исследовательские прототипы таких систем. Функционально полных прототипов с открытым программным кодом на данный момент не существует [28].
При этом, использовать медиаторный подход [16] или расширять существующие централизованные СУБД нам не представляется оправданным в связи с имеющимися архитектурными ограничениями данных систем.
В связи с этим было принято решение с нуля начать разработку такой системы, которая получила название PosDB. Это касается и аспекта распределенности, которому и посвящена данная работа.
✅ Заключение
• В рамках сетевой подсистемы реализованы:
- сериализация различных сущностей: массивов данных, планов запроса, различных идентификаторов, выражений и предикатов,
- фрагментирование запроса и рассылка его по узлам-исполнителям,
- считывание данных с удаленных узлов,
- отслеживание сетевых ошибок и восстановление соединений.
• Экспериментально исследована построенная РСУБД с использованием эталонного теста производительности SSB:
- ускорение,
- масштабируемость,
- сетевые накладные расходы,
- эффективность реализованного подхода к восстановлению соединений.





