Хороший дизайн для большого растущего стола - PullRequest
0 голосов
/ 03 октября 2018

У меня есть таблица заказов, которая содержит,

Order table{
    order id, item id, date...
}

Со временем таблица будет расти бесконечно.

Что такое хорошая практика при работе с растущей таблицей?

Я думаю создать sp для проверки даты запроса, а затем создавать новую таблицу каждый день.Это не похоже на хорошее решение.

Есть предложения?

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

Как утверждают другие, вряд ли существует требование к архивированию, поскольку БД очень способны.

Одна область, которая не упоминается (и зависит от БД), это разделение.Как следует из названия, секционирование позволяет вам управлять порциями данных через базу данных, а не через ваш код.Хотя это может использоваться для производительности, это не единственный случай.Скорее всего, он используется для администрирования (например, только для резервного копирования данных этой недели, перестроения индекса и т. Д.).Вам нужно будет проверить возможности вашей конкретной базы данных, чтобы увидеть, есть ли какие-то преимущества, которые можно получить (но не забивайте производительность кроличьей норы !!)

0 голосов
/ 03 октября 2018

Комментарии очень точные и правильные: нет никаких причин, чтобы заботиться о такой таблице.Если вы работаете в какой-то крупной розничной компании и ожидаете несколько тысяч заказов в час, то решение будет в аппаратном обеспечении, а не в базе данных.Высококачественный сервер с «голым железом» с несколькими SSD-дисками в RAID 0 позволил бы обрабатывать таблицу размером 1 ТБ без пота.В БД должно быть достаточно простых, распространенных практик, таких как правильная индексация.Детали зависят от вашей СУБД: для Oracle применяются другие детали, нежели для mysql, чем для MS-SQL, чем для PostgreSQL.

В случае, если вы ожидаете какой-то межгалактический бизнес, вам придетсяПодумайте о том, что каждый финансовый год закрытые заказы могут архивироваться.Эти старые и обслуживаемые заказы могут быть скопированы в другую таблицу (даже в NoSQL DB), в другом месте, сжаты и, возможно, на более низком быстродействующем оборудовании, что избавит ваши рабочие таблицы от некоторой нагрузки.После нескольких лет использования (в стабильном, не расширяющемся бизнесе) таблица «Заказы» будет достаточно стабильной: столько новых заказов в год, сколько их будет архивировано в конце года.В любом случае, в любом случае, вы можете попросить инопланетян предоставить инопланетную машину для управления БД.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...