Это все больше похоже на то, что мне нужно будет жить до того, как у меня будет время, чтобы настроить все запросы/таблицы и т. Д., Прежде чем я перейду на сайт с веб-сайтом (уже на 6 месяцев отстает от графика, так что все, хотя это не идеальный сценарий - вот как обстоят дела).Насколько легко (или иначе) это настраивать базу данных ПОСЛЕ «ЖИТЬ»?
Теперь это случай, когда нужно укусить пулю. Это всего лишь случай, когда мы пытаемся выяснить, насколько велика эта пуля, когда мы придем к ее «кусанию». Как только данные собираются жить, очевидно, мы не можем изменить данные по прихоти, потому что их живые данные. Я довольно уверен в большей части схемы db - например, таблицы находятся в большинстве 3 и 4-й нормальной форме, а ограничения используются для обеспечения целостности данных. Я также добавил некоторые индексы в какой-то колонке, что (, я думаю,) будет много использоваться в запросах, хотя это было сделано довольно неуверенно и не проверено - это то, о чем я беспокоюсь.
Чтобы уточнить, я не говорю об изменении структуры оптовой торговли. Сами таблицы вряд ли изменятся (если вообще когда-либо), однако почти гарантировано, что мне придется настраивать таблицы на каком-то этапе (лично или нанимая кого-то).
Я хочу знать, насколько это задание. В частности, если предположить базу данных нескольких гигабайтов (до сих пор около 300 таблиц)
Предполагая, что 50% из таблиц необходимо настраивать в течение следующих нескольких месяцев:
Сколько времени потребуется, чтобы выполнить настройку (Я знаю, что это вопрос типа «длинный вопрос»), но каковы основные факторы, требующие усилий, поэтому я могу определить, как долго это займет время?
Можно ли заблокировать разделы базы данных (или конкретные таблицы), пока индексы переработаны, или все данные базы данных должны быть отключены? (Я использую mySQL 5.x в качестве db)
Является ли то, что я описываю (собирается жить до того, как ВСЕ таблицы отлично настроены) возмутительно рискованно/нецелесообразно? (Это оправдывает месяцы бессонных ночей, что вызвало у меня до сих пор)?
Даниил: не могли бы вы прояснить (возможно, пример или URL-адрес), что вы подразумеваете под (1). «количественно определить пределы емкости базы данных» и (2). Что касается «стресс-тестирования», вы упомянули, его ОЧЕНЬ, ОЧЕНЬ хорошая идея. Есть ли какие-либо утилиты или что-то в этом роде, которые я могу использовать для стресс-теста веб-приложения (это определенно поможет мне лучше спать по ночам!). Я использую рамочную работу Symfony, если это помогает. –
@Stick it ...: «Определяя пределы», я просто хотел определить, что заставляет стресс-тест ломаться. Например, если вы создаете клон Stack Overflow, вы можете создать некоторые базовые симуляторы, которые имитируют типичное использование сайта: поток, который читает из базы данных, другой поток, который отправляет случайные вопросы и ответы, другой поток, который представляет случайные голоса и т. д. Затем вы сможете увеличить частоту этих операций до тех пор, пока что-то не сломается. –
(продолжение) ... Например, вы можете узнать, что если вы просматриваете основную страницу много раз в секунду, новые вопросы/ответы могут блокироваться из-за некоторых конфликтов блокировок. Обнаружение этого и выяснение того, что это происходит со скоростью 500 ударов в секунду, очень ценно, поскольку это позволяет вам действовать систематически. –