минутная серия
Каковы возможные сценарии?
Когда объем данных в отдельной таблице MySQL слишком велик, скорость доступа к базе данных будет снижаться.Распространенным решением проблемы «большого объема данных» является «горизонтальная сегментация».
Каковы общие схемы горизонтальной сегментации в MySQL?
(1) Подбиблиотека и подтаблица;
(2) Таблица разделов.
Голос за кадром: I C, я никогда не слышал о таблице разделов, и некоторые друзья поражены.
Что такое подбиблиотека и подтаблица?
Разделите данные большой библиотеки (таблицы) на несколько библиотек (таблиц), каждая библиотека (таблица) имеет одинаковую структуру, но они могут быть распределены по разным экземплярам MySQL или даже по разным физическим машинам для достижения цели уменьшения объема данных в одной базе данных (таблице) и повышение производительности чтения и записи.
Каковы недостатки подтаблицы подбазы данных?
Подбаза данных и подтаблица часто реализуются бизнес-уровнем.После подбазы данных и подтаблицы часто требуется обновление системы:
(1) изменить некоторые коды SQL;
(2) Потеря некоторых функций SQL.
Что такое таблица разделов?
Все данные логически остаются в одной таблице, но физически они могут быть размещены в разных файлах по определенным правилам. Эта функция поддерживается после MySQL 5.1, и бизнес-код не требует изменения.
Таблица разделов выглядит очень красиво, почему большинство интернет-компаний не используют ее, а многие выбирают подбазу данных и подтаблицу для горизонтальной сегментации?
Некоторые недостатки секционированных таблиц неприемлемы для больших объемов данных и бизнеса с высокой степенью параллелизма:
(1) Если SQL не использует ключ раздела, могут возникнуть полные блокировки таблицы;
(2) Реализация связанных запросов в таблицах разделов — это катастрофа;
(3) суб-библиотека суб-таблица, и контроль доступа к своему собственному режиму бизнес-сцены, управляемый, таблица разделов, инженеры написали SQL, MySQL, что они не могут определить, как играть, неуправляемый;
Голос за кадром: Аналогично, реализуйте бизнес-логику не в хранимых процедурах, пользовательских функциях, триггерах, а в бизнес-коде.
(4) DBA зарыл яму для ОП, с которым легко бороться и вызывать конфликты среди коллег;
(5)…
Конечно, в некоторых конкретных сценариях, где объем данных и параллелизм не слишком велик, или в некоторых конкретных сценариях, где горячие и холодные данные или архивные данные хранятся в соответствии со временем, таблицы разделов все еще имеют возможность играть.
Голос за кадром: Например, разбивать по времени, хранить логи.
Надеюсь, эта минута будет полезной.
Путь архитектора — делитесь простыми для понимания техническими статьями
Исследовательская работа:
Используете ли вы подтаблицу подбазы данных или таблицу разделов?
Где вы используете таблицу разделов?