Изменения

Перейти к: навигация, поиск

Архитектура РСУБД

1259 байт добавлено, 11:58, 27 декабря 2021
Нет описания правки
== Общий план ==
Верхнеуровнево, система управления баз данных состоит из ''' хранилища данных ''' и ''' программы''', которая к этим данным обращается.  ''Замечание'', программа и данные могут быть на разных компьютерах.
[[Файл:intro_arch_mini.png|400px|Общий план]]
== Взаимодействие с СУБД ==
Под вопросом из первой картинки скрывается несколько компонент, один из них - ''' протокол ''' взаимодействия программы и СУБД. Этот протокол реализуется '' драйверами'' : с одного конца есть программа, взаимодействующая с драйвером, и, аналогично, с другого конца есть СУБД (которое обращается в хранилище) и также драйвер.
Традиционно''Замечание'', на этой картинке СУБД и данные располагаются на одном компьютере, что позволяет не ходить по сети между СУБД и хранилищем, если БД распределённая и хранилище это несколько компьютеров, то ходить оп сети всё же придётся. ''Замечание'', традиционно, у каждого СУБД есть свой протокол, по которому происходит взаимодействие.
[[Файл:intro_arch_drivers.png|400px|Протокол взаимодействия]]
Улучшения '' исполнителя запроса '':
* добавление модуля ''' управление памятью ''' - так как эффективность исполнение запроса может зависеть от кол-ва используемых данных, а именно - поместятся они все в память или нет, это стоит учитывать при выборе того как запрос будет исполнен
* использование '' статистики '' - в зависимости от того, какие данные конкретно хранятся, оптимизатор может принимать разные решения об используемых алгоритмах , например, если из бд нужно обработать информацию которая занимает бОльшую её часть, то выгоднее прочитать все данные подряд (из-за кэш линий) и обработать их, если наоборот, нужно обработать порядка 10% бд, то если есть способ быстро итерироваться по этой части данных, то вполне разумно обрабатывать этот запрос прочитав только нужные данные.
[[Файл:intro_arch_complete.png|400px|Эффективная обработка запроса]]
12
правок

Навигация