Задать вопрос
@savenko
Php программист

Какую выбрать современную БД для BigData?

Здравствуйте, Коллеги!
Какую посоветуете базу для больших данных 100млн строк и более. Хочется наверное невозможного: легко проектировать, быстро выбирать, отказоустойчивость и масштабируемость средствами самой БД.
В данный момент не знаю что выбрать:
1) MongoDb- достаточно просто, есть опыт работы.
2) Cassandra-быстрое MongoDb, но есть много нюансов в работе, не очень гибкая в плане извлечения данных, нужно танцевать с бубном.

Может есть что-то еще?
  • Вопрос задан
  • 4893 просмотра
Подписаться 5 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 5
begemot_sun
@begemot_sun
Программист в душе.
У вас не BigData. Берите обычную БД и шардите данные на несколько таблиц (это максимум что вам нужно).
Ответ написан
begemot_sun
@begemot_sun
Программист в душе.
Для начала нужно определится, что за данные у вас там. И почему например вы юзаете InnoDB, а не MyISAM ? А попробуйте MariaDB, там есть другие движки из коробки, может что поможет.

Что касается 100Гб - а вы что хотите всю БД в памяти держать ? а зачем ? достаточно держать индексы + совет в лоб: перенести данные на SSD (это если у вас много случайных чтений по БД). На худой конец если вам нужен текстовый поиск, то возьмите Sphinx (его индексы занимают мало места).
Ответ написан
Комментировать
@portfelio
Всё зависит от того, какие данные вы собираетесь хранить. Может хватить и, к примеру, Монги или Постгреса под соусом NuoDB. Со своей стороны могу посоветовать Riak или Hadoop.
Ответ написан
Комментировать
@savenko Автор вопроса
Php программист
Спасибо за советы, begemot_sun и portfelio!

Для 100млн строк тогда нужен будет немеренно оперативы-> очень дорогой сервер, проще микроинстансы накупить и шардинг сделать и не через приложение, как с Mysql.

Сколько примерно памяти нужно для баз Mysql (InnoDb) с объемом примерно 100млн строк? Зависит от объема самой БД и что бы она помещалась в память?
Например, сейчас у нас 11млн (Каждый месяц удваивается), таблицы вместе с индексами весят 10гб. Недавно с 4ГБ ОЗУ, перешли на 8ГБ полет нормальный, но наверное через месяц опять перейти нужно будет(((.
Ответ написан
@savenko Автор вопроса
Php программист
begemot_sun,
InnoDb юзаем так как блокировка на уровне строки у нее, что позволяет одновременно читать и писать данные в таблицу.
InnoDb выделяет память под кеш данных и индексов в ОЗУ.

MariaDB спасибо, посмотрю.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы