Журнальная таблица с миллионами строк.Что теперь? - PullRequest
3 голосов
/ 06 октября 2010

У меня есть таблица журнала с миллионами строк.Я имею в виду разделение данных на несколько таблиц (т.е. LoginHistory, ExceptionHistroy, PaymentProcessingHistory и т. Д.) Какой термин используется, когда берете большую таблицу со многими строками (не столбцами) и создаете несколько таблиц?

Моя текущая схема таблицы журналов напоминает: LogID, LogMessage, LogReason, LoggedBy, LoggedOn и т. Д.

Проблема в том, что я помещаю слишком много вещей в одну таблицу, я думаю?Возможно, таблица слишком общая?

Спасибо

Ответы [ 3 ]

3 голосов
/ 06 октября 2010

Sharding - это термин de jour. По ссылке:

Горизонтальное разбиение - это принцип проектирования базы данных, согласно которому строки таблицы базы данных хранятся отдельно, а не разбиваются по столбцам (как для нормализации). Каждый раздел является частью осколка , который, в свою очередь, может находиться на отдельном сервере базы данных или в физическом местоположении.

3 голосов
/ 06 октября 2010

Это называется разделением данных.

2 голосов
/ 06 октября 2010

Я думаю, вы должны смотреть на горизонтальное разбиение .Горизонтальное разбиение является более или менее подмножеством шардинга.

Для получения более подробной информации о горизонтальном разбиении, вот ссылка в Википедии:http://en.wikipedia.org/wiki/Partition_%28database%29

Вы не упомянули, какую технологию БД вы используете, но вот несколько технических ссылок, которые помогут вам разбить данные на части:

IBM DB2 Partition Разделение MySQL Разделение Oracle Разделы SQL Server Разделение PostgreSQL Разделение Sybase ASE 15.0

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