digital-garden/meta/zero/00 Базы Данных.md

40 lines
3.3 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
tags:
- type/zero-link
parents:
- "[[00 Разработка]]"
aliases:
- база данных
- базу данных
linked:
- "[[../../../../_inbox/00 In-memory СуБД|00 In-memory СуБД]]"
---
- [Журнал БД](../../dev/database/Журнал%20БД.md)
- [Репликация БД](../../dev/architecture/highload/Репликация%20БД.md)
- [Резервные копии БД](Резервные%20копии%20БД.md)
- [Транзакция БД](Транзакция%20БД.md)
СуБД:
- [PostgreSQL](00%20PostgreSQL.md)
- [MySQL](00%20MySQL.md)
## Улучшение производительности
- [Репликация БД](../../dev/architecture/highload/Репликация%20БД.md)
- [Шардирование БД](../../../../_inbox/Шардирование%20БД.md)
- Выбирать правильный тип для колонки
- Денормализация
- Меньше индексов - лучше
- Меньше джойнов - лучше
Приложение работает неограниченное количество времени, с каждым днем количество данных в БД увеличивается. При возрастании объема запросы начинают отрабатывать медленнее, в таком случае возникает необходимость в применении [партиционирования](Партиционирование%20в%20БД.md) и [шардирования](../../../../_inbox/Шардирование%20БД.md).
- [Производительность SQL запросов](_inbox/Производительность%20SQL%20запросов.md)
## Заметки
 - Классические СУБД хранят данные в двух местах: на диске и в памяти.
 - [[../../dev/fundamental/Страница|Страница]] модифицируется сначала в оперативной памяти, потом попадает на диск.
 - ![](Pasted%20image%2020240531082744.png)
 - Часто думают, что реляционная таблица — это массив. Некоторые даже думают, что это двумерный массив. На самом деле, это гораздо более сложная штука. Это мультимножество набор определенного сорта кортежей, над которым не задано порядка. В SQL-таблице нет порядка. Это важно. И, как результат, когда вы делаете SELECT* из БД (просканировать все записи), результат выполнения запроса может меняться строчки могут быть в одном порядке, а могут и в другом. Про это нужно помнить.
 - Профиль нагрузки на реляционную базу данных выглядит следующим образом: 80% запросов это чтение, 20% запросов это запись. Если запросов на запись больше, то возможно реляционная база данных вам не подходит.