Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

MySQL 5: работа с очень большими объёмами данных

239
04 декабря 2009 года
Dolonet
1.7K / / 20.05.2000
Для аналитических целей использую MySQL 5.0.75. Есть, например, таблица с логинами и таблица с хитами от этих логинов. У хитов есть даты хитов; у логинов - даты регистрации. Размеры таблиц: миллионы и миллиарды записей.

Вопрос такой: как оптимизировать работу БД или запросы так, чтобы inner или left join-ы по таблицам, где у каждой ещё по where, работали максимально быстро?
36K
05 декабря 2009 года
Sonia
74 / / 21.05.2009
Вы используете индексы в своей БД. Если нет, возможно вам надо их включить. Они помогут вам ускорить поиск записей.
239
05 декабря 2009 года
Dolonet
1.7K / / 20.05.2000
Спасибо за ссылку. Оказалась полезной.
Индексы, конечно, использую. Только нет уверенности, что использую их наиболее оптимально. Как вариант сейчас рассматриваю разбиение одной миллиардной таблицы на много примерно десятимиллионных.
5
05 декабря 2009 года
hardcase
4.5K / / 09.08.2005
Может быть все-таки стоит воспользоваться чем-то более подходящим для подобных задач - Map/Reduce систему - например Hadoop?
Я к тому, что разбиение таблицы на более мелкие в сущности и есть этот самый Map, а объединение аналитики - Reduce шаг.
2
06 декабря 2009 года
squirL
5.6K / / 13.08.2003
Цитата: Dolonet
Спасибо за ссылку. Оказалась полезной.
Индексы, конечно, использую. Только нет уверенности, что использую их наиболее оптимально.


EXPLAIN поможет построить запрос оптимально. а show index - покажет кардинальность индексов в таблице, т. е. пользует ли MySQL их вообще.

Цитата: Dolonet

Как вариант сейчас рассматриваю разбиение одной миллиардной таблицы на много примерно десятимиллионных.


и уложить базу join'ами между этими таблицами? :)

вообще странен выбор MySQL. не самый лучший выбор для того, чтобы ворочать гигантскими объемами данных. да еще, если нужны сложные запросы.

239
08 декабря 2009 года
Dolonet
1.7K / / 20.05.2000
Цитата: squirL
EXPLAIN поможет построить запрос оптимально. а show index - покажет кардинальность индексов в таблице, т. е. пользует ли MySQL их вообще.

EXPLAIN использую, но есть ощущение, что не всегда могу его интерпретировать правильно в том плане, что понять, насколько оптимальный получился запрос.

Цитата: squirL
и уложить базу join'ами между этими таблицами? :)

Обижаешь:) Если сплитить таблицу, то так, чтобы не надо было джоинить, конечно. Просто собирать результат как сумму нескольких запросов. Только не уверен, что это будет производительней, ведь машина-то одна.

Цитата: squirL
вообще странен выбор MySQL. не самый лучший выбор для того, чтобы ворочать гигантскими объемами данных. да еще, если нужны сложные запросы.

А что в таких ситуациях нужно? Oracle? MySQL использую просто потому, что он уже стоит на сервере и начинались задачки с сотен тысяч записей.

239
08 декабря 2009 года
Dolonet
1.7K / / 20.05.2000
Цитата: hardcase
Может быть все-таки стоит воспользоваться чем-то более подходящим для подобных задач - Map/Reduce систему - например Hadoop?
Я к тому, что разбиение таблицы на более мелкие в сущности и есть этот самый Map, а объединение аналитики - Reduce шаг.


Разве Map/Reduce - это не для кластеров? Дело в том, что у меня сейчас только одна машина, пусть и мощная. И надо придумать, как же ворочать запросы для огромных таблиц в рамках одного многоядерного процессора и дискового пространства.

5
08 декабря 2009 года
hardcase
4.5K / / 09.08.2005
Цитата: Dolonet
Разве Map/Reduce - это не для кластеров? Дело в том, что у меня сейчас только одна машина, пусть и мощная. И надо придумать, как же ворочать запросы для огромных таблиц в рамках одного многоядерного процессора и дискового пространства.


Я не являюсь специалистом в области датамайнинга, но являюсь сторонником подхода "сперва посмотреть как делается правильно" (ну, или на то, что очень похоже на "правильно"), так вот задача действительно похожа на те, которые решается подобными системами. :rolleyes:
З.Ы. А вдруг еще одну машинку под проект выделят, всяко бывает же. ;)

2
08 декабря 2009 года
squirL
5.6K / / 13.08.2003
Цитата: Dolonet

А что в таких ситуациях нужно? Oracle? MySQL использую просто потому, что он уже стоит на сервере и начинались задачки с сотен тысяч записей.


например - PostgreSQL

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог