35 lines
1.6 KiB
Markdown
35 lines
1.6 KiB
Markdown
---
|
||
aliases:
|
||
tags:
|
||
- зрелость/🌱
|
||
date:
|
||
- - 2024-06-20
|
||
zero-link:
|
||
- "[[00 Базы Данных]]"
|
||
- "[[00 HighLoad]]"
|
||
parents:
|
||
linked:
|
||
- "[[Шардирование в БД]]"
|
||
---
|
||
- Берем данные и разделяем по какому-то признаку
|
||
- Разделенные данные физически лежат отдельно. Разные таблицы
|
||
- Но все данные остаются в пределах одного сервера.
|
||
|
||
**Минусы:**
|
||
- Некоторые запросы могут замедлиться. Кросс-партиционные запросы.
|
||
- Так как данные лежат на одном сервере, то если уперлись в производительность диска, партиционирование не поможет.
|
||
- Кажется перестройка партиций дорогостоящая операция.
|
||
|
||
**Плюсы:**
|
||
- Простая реализация. Разработчик продолжает обращаться к таблице, а СУБД понимает в какую партицию ей стоит идти.
|
||
- Некоторые типы запросов может ускорить за счет уменьшения объема данных в партиции.
|
||
|
||
Основные типы разделения:
|
||
- key. По ключу
|
||
- range. По диапазону
|
||
- list. По списку
|
||
- hash. По хэш значению поля
|
||
|
||
Пример создания в PostgreSQL: ![](Pasted%20image%2020240620214723.png)
|
||
|
||
Пример создания в MySQL: ![](Pasted%20image%2020240620214648.png) |