Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
 Можно ли сделать секционирование в MySQL?  [new]
seadb
Member

Откуда:
Сообщений: 45
Как известно, в Oracle поддерживается секционирование таблиц в различные табличные пространства. Можно ли сделать что либо подобное в MySQL?
18 фев 04, 20:56    [542272]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли сделать секционирование в MySQL?  [new]
Макс М.
Member

Откуда: Кременчуг, Украина
Сообщений: 1717
не все знатоки MySQL знают, что такое "секционирование в Oracle".
Поясни для среднего ума.
18 фев 04, 21:19    [542293]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли сделать секционирование в MySQL?  [new]
seadb
Member

Откуда:
Сообщений: 45
Да я вроде сказал. Попробую подробнее. При секционировании, таблицы можно разделять на основе значений заданного столбца. Секции могут располагаться в разных файлах. При сканировании таблицы, секции могут пропускаться. Это значительно облегчает жизнь при работе с большими объемами данных.
18 фев 04, 21:36    [542301]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли сделать секционирование в MySQL?  [new]
Макс М.
Member

Откуда: Кременчуг, Украина
Сообщений: 1717
AFAIK в mysql такой возможности нет.
Насколько большие объемы данных ты хочешь в mysql-таблицах держать ?
Может стоит вернуться к Oracle ? ;)
19 фев 04, 01:08    [542388]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли сделать секционирование в MySQL?  [new]
seadb
Member

Откуда:
Сообщений: 45
Да я в курсе, что,встроенной такой возможности нет:( Но может быть кто ни будь эмулировал такое дело? А от Oracle я еще уйти не успел. Но его богатейшие возможности для наших нужд излишни. Мне даже транзакции не нужны. А работать приходится с большими объемами данных. В день приходит порядка 100Мб.
19 фев 04, 13:47    [543292]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли сделать секционирование в MySQL?  [new]
Markelenkov
Member

Откуда:
Сообщений: 2312
seadb
...Можно ли сделать что либо подобное в MySQL?


seadb
Но его богатейшие возможности для наших нужд излишни. Мне даже транзакции не нужны. А работать приходится с большими объемами данных. В день приходит порядка 100Мб

Так может, все-таки нужно кое-что из "богатейших возможностей"? Ведь никто не заставляет пользоваться всеми возможностями. Никто так и не делает.
22 фев 04, 17:54    [546899]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли сделать секционирование в MySQL?  [new]
Andron
Member

Откуда: Cherepovets
Сообщений: 1816
Секционирование (еще это называется фрагментацией) можно реализовать аппаратно посредством RAID (несколько винтов и контроллер). Тогда например одно или несколько пространств с таблицами можно "размазать" по нескольким винтам.
26 фев 04, 23:53    [553659]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли сделать секционирование в MySQL?  [new]
Markelenkov
Member

Откуда:
Сообщений: 2312
И получится всего лишь очень жалкое подобие hash partitioning...
27 фев 04, 21:06    [555617]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли сделать секционирование в MySQL?  [new]
seadb
Member

Откуда:
Сообщений: 45
RAID контролер конечно очень ускоряет доступ к данным. Но исключение секций, при сканировании таблицы, получить не удастся:(
2 мар 04, 17:39    [559978]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли сделать секционирование в MySQL?  [new]
Andron
Member

Откуда: Cherepovets
Сообщений: 1816
Вот еще идея: Если СУБД НЕ поддерживает фрагментацию, НО поддерживает распределенные запросы (т.е. запросы между серверами баз) то можно тогда часть таблиц в базу одного сервера, часть в базу другого, ну и сами пространства серверов - по разным дискам. Тут конечно встает вопрос о производительности распределенных транзакций, но попробовать стоит. И еще СУБД должна поддерживать множественное размещение (multiinstance как у informix например). Это когда на одном физическом сервере(хосте) может работать несколько экземпляров СУБД.
2 мар 04, 21:45    [560309]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли сделать секционирование в MySQL?  [new]
seadb
Member

Откуда:
Сообщений: 45
Спасибо. Идея интересная. Не знаю получится или нет, но попробовать стоит.
Интересно, а MySQL перечисленным условиям удовлетворяет?
3 мар 04, 18:05    [562153]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли сделать секционирование в MySQL?  [new]
Andron
Member

Откуда: Cherepovets
Сообщений: 1816
А вот и еще идея: (для любой СУБД у которой каждой таблице соотв. свой файл, каждому индексу свой файл) файлы с таблицами-индексами ввод/вывод в которые требуется оптимизировать (ведь цель фрагментации по дискам - оптимизация ввода/вывода), переложить на отдельные диски, и сделать линки на них. В *nix такие линки сделать можно, называются symlink.
19 апр 04, 13:51    [635862]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли сделать секционирование в MySQL?  [new]
Marat_L
Member

Откуда: Набережные Челны
Сообщений: 293
В MySQL есть тип таблиц MERGE.
Эти таблицы представляют собой набор файлов-секций. Эти файлы для ускорения доступа можно держать на разных дисках .
Впрочем, лучше почитать это на http://www.mysql.com. Там очень хорошая документация.
Жизнь коротка - потерпи немного :)
19 апр 04, 14:16    [635930]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли сделать секционирование в MySQL?  [new]
beginner_7
Member

Откуда:
Сообщений: 171
делалось такое и даже на Oracle :)
Организовывалось рад таблиц вида tName200403, tName200404
Это если партиции разделялись по дате;
писался программный интерфейс (динамический SQL), на вставку, удаление, изменение данных. На выборку было попроще - организовывалось представление вида
select * from tName200402
where TheDate between to_date('01.02.2004) and to_date('29.02.2004)
uniom all
select * from tName200403
where TheDate between to_date('01.03.2004) and to_date('31.03.2004)
...

Изврат конечно, но помогало в плане производительности.
19 апр 04, 14:36    [636003]     Ответить | Цитировать Сообщить модератору
Все форумы / Сравнение СУБД Ответить