Я пытаюсь понять различные концепции разбиения базы данных, и именно это я понял:
Горизонтальное разделение/оглавление. Разделение таблицы на другую таблицу, которая будет содержать подмножество строк, которые были в исходной таблице (пример, который я видел много, если разбивать таблицу Users на Континент, как подкатегория для Северной Америки, другая для Европы и т.д.). Каждый раздел находится в другом физическом местоположении (понимаем "машина" ). Как я понял, горизонтальное разделение и оглавление - это то же самое (?).
Вертикальное разделение. Из того, что я понял (http://technet.microsoft.com/en-us/library/ms178148%28v=sql.105%29.aspx), существует 2 вида вертикального разбиения:
-
Нормализация (которая заключается в удалении избыточности из базы данных путем разделения таблиц и связывания их с внешним ключом).
-
Разделение строк, вот что я не понимаю, в чем разница между нормализацией и разбиением строк? В чем эти два метода отличаются друг от друга?
Я также читал в этом сообщении (Разность между масштабированием по горизонтали и вертикали для баз данных), что разница между горизонтальным разделением и вертикальным разделением заключается в том, что в первом масштабе добавив больше машин, в то время как во втором, который вы масштабируете, добавляя больше мощности (CPU, RAM) к существующей машине, это правильное определение? Я думал, что разница между основными между этими двумя методами заключается в том, как вы разбиваете свои таблицы.
Прошу прощения за загрузку вопросов, но я немного смущен, поскольку множество разных веб-сайтов, с которыми я столкнулся, говорят разные вещи.
Любые разъяснения помогут получить высокую оценку. Любая ссылка на ясную и простую демонстрацию с несколькими таблицами также будет очень полезна.