Разработка реляционной базы данных и надвигающееся предчувствие гибели

Я часть команды из четырех человек в растущей компании, насчитывающей более 200 пользователей. . Пришло время масштабного рефакторинга нашего проприетарного программного обеспечения, и мы очень рады создать идеальную систему, которая, как мы знаем, сможет выдерживать рост как минимум 5+ лет. Однако мы используем реляционную базу данных, и, хотя мы делаем несколько довольно хороших проектов, у меня появляется ощущение, что этот продукт может быть медленнее, чем мы надеялись в будущем.

Меня беспокоит использование нами внешних ключевых отношений. Они отлично подходят для обеспечения целостности данных, поэтому мы выбираем их. Если бы мы хотели изменить чье-то имя пользователя, это бы изменило его во всех связанных местах. Замечательно. Проблема в том, что это не так - мы связываемся по их идентификатору, поэтому единственное существенное преимущество - это повышение производительности за счет наличия индекса реляционного ключа.

Все эти накапливающиеся индексы дают мне повод для беспокойства.У нас есть несколько таблиц, которые просто связывают таблицы с тремя реляционными ключами. У них определенно есть свое место, и мы уверены, что это сократит количество запросов, которые мы будем делать. Однако затем я думаю - у нас есть 10 000 строк в этом, 10 000 в этом и 10 000 в другом, и мы хотим добавить новую. Бац! Новый индекс * 4.

Это настораживает. Есть ли какие-нибудь ловушки, в которые мы попадем, какие советы от опытных людей?

5
задан Seth Goodwin 5 December 2011 в 22:43
поделиться