Wednesday, 7 November 2012

MySQL просто отвратителен при работы с большими объемами данных!

Сабж :( Сколько можно оптимизировать и все равно его клинит через раз от миллионнострочных таблиц :(

Кто посоветует хорошее быстрое persistent хранилище с удобным интерфейсом? Впрочем, подойдет и  in memory хранилище, но с расширенными возможностями фильтрации.

7 comments:

  1. А что именно "клинит" то? Работает вроде и поболее миллиона. Может дело в другом.

    ReplyDelete
  2. Да ни к черту оно работает. У меня задачка особенная - идет вставка в базу где-то 5 миллионов записей, иначе как через загрузку с csv не получается грузить, все это нереально долго. Ни insert delayed не помогает, ничего прочее. А в базе хранятся хэши, так что реляционные фичи в общем-то не нужны.

    ReplyDelete
  3. Посмотрите в сторону noSQL. Я бы порекомнедова mongodb или casandra.

    ReplyDelete
  4. Надеюсь перед инсертом вы индексы убиваете + отключаете?

    ReplyDelete
  5. Разумеется, при инсерте отключаю, но есть много операций апдейта, где отключать их нельзя.

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

    Cassandra - запускать Java на VPS у меня как-то рука не поднимается. Идеал моих представлений о nosql - это MemcacheDB, жаль, что проект не жив не мертв (нет апдейтов с 2008 года).

    ReplyDelete
  6. У редиса есть огроменный минус - он всю свою базу тащит в память. Иногда это невозможно.

    Вместо memcacheDB поглядите на memBase, может подойдет.

    ReplyDelete

Note: only a member of this blog may post a comment.