NoSql или MySQL для анализа данных

У нас есть кластер (hadoop, pig), который обрабатывает данные 350Gb (рост на пару ГБ в неделю).

Все эти данные должны быть доступны для аналитики.

У нас есть решение Msyql со звездообразной схемой (в него загружаются только части данных). Но

вопрос в том, как далеко это можно растянуть?

Должен ли я смотреть на NoSQL как Hive для анализа данных?

Я прочитал эту статью http://anders.com/cms/282/Distributed.Data/Hadoop/Hbase/Hive

Насколько велики большие данные, и когда я должен смотреть в сторону от MySQL? Будет ли структурная жесткость Mysql вызвать проблемы?

В настоящее время данных всего несколько ГБ (в MySQL), но они, безусловно, будут расти. Как насчет кластеризации MySQL?

Должен ли я идти по этому пути вообще ??

mysql,nosql,hive,

8

Ответов: 4


14 принят

350 ГБ (растет на пару ГБ в неделю) ... Все эти данные должны быть доступны для аналитики

У вас есть гуру MySQL в доме? Если да, конечно => просто создайте и увеличьте этот MySQL кластер. Единственная проблема, связанная с этим решением, заключается не в том, что это MySQL, и не в том, что это не NoSQL =>, а в буквальном смысле, потому что для его настройки требуется эксперт, и он всегда будет рядом с вами в случае необходимости. изменилось. Но угадайте, что => SQL НАМНОГО лучше и проще для аналитики, чем симуляция SQL с отображением / сокращением.

Что-то, что может стать проблемой позже с решением MySQL, является Oracle . Поэтому убедитесь, что вы понимаете, какие функции MySQL вы можете использовать бесплатно, и за какие функции вам придется платить.

Если вы не имеете эксперта MySQL в доме, или вы не хотели бы , чтобы заплатить за один, вы определенно можете обратиться к NoSQL. Это не означает, что вам не понадобится опыт работы с продуктом NoSQL, но настройка и запуск узлов X как единой системы - чрезвычайно простой и естественный процесс для решений NoSQL.

Например, в Riak и нескольких других животных NoSQL большинство сложностей с дистрибутивом решаются с помощью продукта без необходимости что-либо делать вообще => это действительно так просто.

Цена, которую вы платите с NoSQL, - это потеря SQL (если подумать о хороших функциях агрегирования) и согласованности, что в конечном итоге является возможным , и если вы строго занимаетесь аналитикой, для вас согласованность может вообще не быть ценой.

Взамен вы получаете очень естественную обработку больших данных, отказоустойчивость и многое другое .

Если вы находитесь в пространстве Hadooooxyz, и у вас все в порядке, посмотрите на Hadapt , который обещает 5-кратную производительность Hive.


Вопросу, конечно, уже много месяцев, но ... Я недавно натолкнулся на InfiniDB, которая ставит интерфейс MySQL на высокомасштабируемый движок больших данных на основе MapReduce, предназначенный специально для аналитики. Это может быть решением этой проблемы - в принципе, оно должно появиться и потребовать очень небольшого администрирования и небольшого количества изменений кода. Поддерживается масштабирование на одном компьютере или на нескольких серверах ...


Вы переключаетесь, когда у вас появляются проблемы, описанные в этом сравнительном вопросе: https://dba.stackexchange.com/questions/5/what-are-the-differences-between-nosql-and-a-traditional- RDBMS

Кроме этого, немного сложнее ответить на вопрос, кроме общих советов, потому что вы не представляете конкретную проблему, которую пытаетесь решить (например, масштабирование, скорость чтения, проблемы с требованием 100% согласованности и т. Д.).


InfiniDB не является бесплатным.

Проверьте http://code.google.com/p/shard-query

Это похоже на Map-Reduce на разделенный набор баз данных без совместного использования. Прекрасно работает для схем STAR. Разделите таблицу фактов на N узлов и продублируйте таблицы измерений на каждом сервере.

Вы можете проверить этот пост в блоге для получения дополнительной информации и результатов тестирования производительности:

http://www.mysqlperformanceblog.com/2011/05/06/scale-out-mysql/

К вашему сведению: я автор Shard-Query.

MySQL, NoSQL, улей,
Похожие вопросы