Тип работы:
Предмет:
Язык работы:


Организация сетевого взаимодействия между узлами в распределенной дисковой колоночной СУБД

Работа №125349

Тип работы

Бакалаврская работа

Предмет

база данных

Объем работы27
Год сдачи2017
Стоимость4850 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
55
Не подходит работа?

Узнай цену на написание


Введение 4
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) — один из популярных сцена­риев использования СУБД в индустрии [7, 13]. Данный сценарий используется для получения помощи в принятии бизнес-решений: генерации отчетов, анализа и пред­сказания продаж, оценки рисков и так далее.
Одна из основных особенностей такого сценария — редкое добавление новых дан­ных в систему. В то же время необходимо иметь возможность исполнять сложные запросы над большими массивами данных за наименьшее время. Сам термин OLAP появился достаточно давно, в 1993 году [5], примерно в то же время было решено разделять два типа СУБД.
В начале XXI века область начала испытывать подъем, например в работе [4] указывается, что рынок OLAP систем в 1998 году оценивался всего в 2 миллиарда долларов США, а уже в 2006 году составлял 6 миллиардов долларов.
Одним из наиболее оптимальных способов организации СУБД, ориентированной на OLAP, является поколоночное хранение [2], позволяющее эффективно использо­вать аппаратные ресурсы системы [3].
Поддержка распределенности в том или ином виде в настоящее время являет­ся де-факто обязательным требованием к любой серьезной СУБД. Распределенность позволяет не только увеличивать объем хранимых данных, но и позволяет увели­чивать эффективность выполнения запросов с помощью специальных алгоритмовс помощью специальных алгоритмов.
Аспект распределенности в классических (строковых) СУБД был подробнейшим образом изучен еще в 80-х. В то же время наблюдается дефицит или даже отсутствие исследовательских работ по распределенным колоночным СУБД. Конечно, к насто­ящему моменту было разработано несколько десятков индустриальных колоночных систем, однако научному сообществу про их внутреннее устройство практически ниче­го не известно. При этом, колоночные СУБД являются актуальной и востребованной в сообществе исследовательской темой. Дефицит публикаций объясняется просто: для проведения исследований в области распределенных колоночных СУБД необходи­мы специальные исследовательские прототипы таких систем. Функционально полных прототипов с открытым программным кодом на данный момент не существует [28].
При этом, использовать медиаторный подход [16] или расширять существующие централизованные СУБД нам не представляется оправданным в связи с имеющимися архитектурными ограничениями данных систем.
В связи с этим было принято решение с нуля начать разработку такой системы, ко­торая получила название PosDB. Это касается и аспекта распределенности, которому и посвящена данная работа.

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В рамках данной работы были достигнуты следующие результаты:
• В рамках сетевой подсистемы реализованы:
- сериализация различных сущностей: массивов данных, планов запроса, раз­личных идентификаторов, выражений и предикатов,
- фрагментирование запроса и рассылка его по узлам-исполнителям,
- считывание данных с удаленных узлов,
- отслеживание сетевых ошибок и восстановление соединений.
• Экспериментально исследована построенная РСУБД с использованием эталон­ного теста производительности SSB:
- ускорение,
- масштабируемость,
- сетевые накладные расходы,
- эффективность реализованного подхода к восстановлению соединений.


[1] A study of PosDB Performance in a Distributed Environment / George Chernishev, Viacheslav Galaktionov, Valentin Grigorev et al. // Proceedings of the 2017 Software Engineering and Information Management. — SEIM ’17. — Saint-Petersburg, Russia, 2017.-6 p.
[2] Abadi Daniel J., Boncz Peter A., Harizopoulos Stavros. Column-oriented Database Systems // Proc. VLDB Endow. — 2009. — Aug. — Vol. 2, no. 2. — P. 1664-1665.— Access mode: https://doi.org/10.14778/1687553.1687625.
[3] Abadi Daniel J., Madden Samuel R., Hachem Nabil. Column-stores vs. Row-stores: How Different Are They Really? // Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data. — SIGMOD ’08. — New York, NY, USA : ACM, 2008. — P. 967-980. — Access mode: http://doi.acm.org/10.1145/ 1376616.1376712.
[4] Chernishev George. Physical design approaches for column-stores // SPIIRAS Proceedings. — 2013. — Vol. 30. — P. 204-222. — online; accessed: www.mathnet.ru/ trspy682.
[5] Codd E.F., Codd S.B., Salley C.T. Providing OLAP (On-line Analytical Processing) to User-analysts: An IT Mandate. — Codd & Associates, 1993. — Access mode: https: //books.google.ru/books?id=pt0lGwAACAAJ.
[6] Costea Andrei, Ionescu Adrian. Query Optimization and Execution in Vectorwise MPP : Master’s thesis / Andrei Costea, Adrian Ionescu ; Vrije Universiteit Amsterdam. — 2012. — Aug.
[7] Date C.J. An Introduction to Database Systems.— 8 edition. — Boston, MA, USA : Addison-Wesley Longman Publishing Co., Inc., 2003.— ISBN: 0321197844.
[8] DeWitt David, Gray Jim. Parallel Database Systems: The Future of High Performance Database Systems // Commun. ACM. — 1992.—Jun.—Vol. 35, no. 6. — P. 85-98.— Access mode: http://doi.acm.org/10.1145/129888.129894.
[9] Eager D. L., Zahorjan J., Lazowska E. D. Speedup versus efficiency in parallel systems // IEEE Transactions on Computers. — 1989. — Mar. — Vol. 38, no. 3.— P. 408-423.
[10] Golub Marin, Jakobovic Domagoj, Janes Ivan. An overview of distributed programming techniques // Hypermedia and Grid Systems, MIPRO 2005.-2005.
[11] Graefe Goetz. Query Evaluation Techniques for Large Databases // ACM Computing Surveys. — 1993.— June.— Vol. 25, no. 2. — P. 73-169.
[12] Graefe G. Volcano — An Extensible and Parallel Query Evaluation System // IEEE Trans. on Knowl. and Data Eng. — 1994. — Feb. — Vol. 6, no. 1. — P. 120-135. — Access mode: http://dx.doi.org/10.1109/69.273032.
[13] Hector Garcia-Molina, Jeffrey D. Ullman, Jenifer Widom. Database Systems. The Complete Book. — 2nd edition. — Pearson Education, Inc, 2008.
[14] Hellerstein Joseph M., Stonebraker Michael, Hamilton James. Architecture of a Database System // Found. Trends databases. — 2007. — Feb. — Vol. 1, no. 2.— P. 141-259.—Access mode: http://dx.doi.org/10.1561/1900000002.
[15] High Performance Parallel Database Processing and Grid Databases / David Taniar, Clement H. C. Leung, Wenny Rahayu, Sushant Goel. — Wiley Publishing, 2008. — ISBN: 0470107626, 9780470107621.
...


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ