19
Олег Царёв 10.4.10 Реляционные СУБД и их нереляционные реализации

олег царев Rit 2010 реляционные субд и их нереляционные реализации

  • Upload
    rit2010

  • View
    743

  • Download
    1

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: олег царев Rit 2010   реляционные субд и их нереляционные реализации

Олег Царёв

10.4.10

Реляционные СУБД и их нереляционные реализации

Page 2: олег царев Rit 2010   реляционные субд и их нереляционные реализации

10.4.10

NoSQL это...● Эффективность● Простота● Масштабируемость● Популярность

Page 3: олег царев Rit 2010   реляционные субд и их нереляционные реализации

10.4.10

SQL● Можно выполнять запросы● Эффективные реализации● Типизированные данные● Наглядный и лаконичный синтаксис

Page 4: олег царев Rit 2010   реляционные субд и их нереляционные реализации

10.4.10

Строчная архитектураПартиция #1 Партиция #2

Page 5: олег царев Rit 2010   реляционные субд и их нереляционные реализации

10.4.10

Колоночная архитектура

Колонка #1 Колонка #2 Колонка #1 Колонка #2Партиция #1 Партиция #2

Page 6: олег царев Rit 2010   реляционные субд и их нереляционные реализации

10.4.10

Плюсы row-based● Эффективная выборка полных кортежей● Эффективное обновление данных● Предсказуемое время выполнения● Хорошее кеширование данных

Page 7: олег царев Rit 2010   реляционные субд и их нереляционные реализации

10.4.10

Плюсы column-based● Эффективная выборка частичных кортежей● Вертикальное шардирование данных● Эффективное расширение кортежей● Большое число оптимизаций

Page 8: олег царев Rit 2010   реляционные субд и их нереляционные реализации

10.4.10

РеализацииСтрочные

● PostgreSQL

● MySQL

● MS SQL

● Oracle

Колоночные

● SyBase IQ● Monetdb

Page 9: олег царев Rit 2010   реляционные субд и их нереляционные реализации

10.4.10

Нереляционные аспекты● Таблицы (table scan)● Расширения (extension)● Индексы (index scan / index join)● Хеш-контейнеры (hash index / hash join)

Page 10: олег царев Rit 2010   реляционные субд и их нереляционные реализации

10.4.10

Таблицы● Последовательная выборка из таблиц● Выбор из таблицы по региону● Кластерный индекс

Page 11: олег царев Rit 2010   реляционные субд и их нереляционные реализации

10.4.10

Расширение (extension)● «Протаскиваем» Row ID вместо данных● По Row ID расширяем кортеж● Расширяем лишь когда это необходимо● Расширять можно несколько раз

Page 12: олег царев Rit 2010   реляционные субд и их нереляционные реализации

10.4.10

Индексы● B-Tree — большие объемы данных● R-Tree — геоинформация● GIN — полнотекстовой поиск● GiST — поиск по произвольному критерию● Hash — linear hashing

Page 13: олег царев Rit 2010   реляционные субд и их нереляционные реализации

10.4.10

Join● Merge● Merge-index● Index● Hash● Nested loop

Page 14: олег царев Rit 2010   реляционные субд и их нереляционные реализации

10.4.10

Декомпозиция запросов● Сложные запросы разбиваются на простые● Простые запросы требуют один контейнер● Простых запросов конечное число● Оптимизатор это делает автоматически

Page 15: олег царев Rit 2010   реляционные субд и их нереляционные реализации

10.4.10

Параллельное выполнение● CPU, RAM, IO — ключевая тройка● Ресурсы независимы● Управление ресурсами — задача оптимизатора● Простые запросы выполняются без блокировок

Page 16: олег царев Rit 2010   реляционные субд и их нереляционные реализации

10.4.10

Общие данные● Большинство запросов имеют одинаковый план● Контейнеры используются совместно● Кеш запросов● Кеш данных● Статистика● Гистограммы

Page 17: олег царев Rit 2010   реляционные субд и их нереляционные реализации

10.4.10

Переупорядочевание● В запросах есть зависимость по данным● Порядок выполнения выбирает СУБД● Ресурсы не должны простаивать● Минимальное время отклика● Минимальное время выполнения

Page 18: олег царев Rit 2010   реляционные субд и их нереляционные реализации

10.4.10

Выводы● В SQL базах доступны полноценные запросы● Простые запросы работают сравнимое время● Сложные запросы бьются на простые● СУБД эффективно управляет ресурсами● Запросы работают параллельно

Page 19: олег царев Rit 2010   реляционные субд и их нереляционные реализации

10.4.10

Вопросы?

[email protected]