
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
02.03.2017, 13:05
|
|||
|---|---|---|---|
|
|||
Организация хранения с разбивкой на части |
|||
|
#18+
Есть таблица (пример просто суть): фамилия имя отчество др квартира дата С Запросы к ней идут двух типов: 1. поиск по фио др с целью получить адреса, где проживал человек 2. поиск по квартире с целью получить всех кто в ней когда-либо проживал На данный момент все хорошо: делается два индекса для каждого поиска и вперед Теперь задача разбить эту таблицу на части по неск. десятков млн, что-то вроде самопального патиционирования. Варианты: 1. Можем разбить например по годам или например по пятилеткам. Плюсы: - просто - будет возможность легко отрезать совсем старые данные Минусы: - придется для каждой таблицы делать те же два индекса и любой из двух типов запросов по факту будет обращаться ко всем таблицам, на которые будет разбита исходная (нет "патишн пранинга") 2. Можно создать два "хранилища" с разбивкой на части, каждое будет работать для конкретного типа запросов и иметь соответствующую разбивку например одно разбито на части по хэшу фио, другое - по номеру квартиры Плюсы: - при поиске будем сразу обращаться к нужной части, а не лезть в каждую отдельно Минусы: - немного сложнее в реализации и сопровождении - требуется больше места на дисках - затратнее удалить "старые" данные Есть опыт в использовании первого варианта. Все работает вполне сносно и по скоростям и по сопровождению. Но. Вопрос: Какие есть еще варианты? Может реален какой-то симбиоз/компромисс? При этом реально типов запросов может быть не два, а например 5, создавать под каждый отдельные таблицы/индексы только для пранинга острой необходимости нет конечно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.03.2017, 13:15
|
|||
|---|---|---|---|
Организация хранения с разбивкой на части |
|||
|
#18+
Avotgeбудет возможность легко отрезать совсем старые данныеТ.е. это единственная причина партиционирования? AvotgeВсе работает вполне сносно и по скоростям и по сопровождению.Очень большой плюс. Avotgeзапросов может быть не два, а например 5Тем более. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.03.2017, 13:30
|
|||
|---|---|---|---|
|
|||
Организация хранения с разбивкой на части |
|||
|
#18+
ElicТ.е. это единственная причина партиционирования? Единственная причина - немного удобнее администрировать мелкие таблички, чем одну большую, "отрезать" данные скорее, никто и не собирается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.03.2017, 13:33
|
|||
|---|---|---|---|
Организация хранения с разбивкой на части |
|||
|
#18+
AvotgeЕдинственная причина - немного удобнее администрировать мелкие таблички, чем одну большую,Неубедительно. Звучит как "это модно". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.03.2017, 13:45
|
|||
|---|---|---|---|
|
|||
Организация хранения с разбивкой на части |
|||
|
#18+
ElicНеубедительно. Звучит как "это модно". Возможно. Причин можно придумать и больше - возможность распараллеливания обработки например (хотя на это все равно нет мощностей), но админу просто так удобнее (все-таки ворочать табличку и индексы с под млрд записей иногда очень и очень неудобно особенно когда стеснен в дисковом пространстве). В общем понял, что каких-то интересных альтернативных эффективных вариантов не видно ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=52&mobile=1&tid=1886343]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
160ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
23ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 412ms |

| 0 / 0 |
