NoSql или MySQL для аналитики данных - PullRequest
8 голосов
/ 16 октября 2011

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

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

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

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

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

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

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

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

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

Ответы [ 4 ]

14 голосов
/ 18 октября 2011

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

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

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

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

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

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

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

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

2 голосов
/ 10 июня 2012

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

1 голос
/ 08 августа 2012

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

Извлечение http://code.google.com/p/shard-query

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

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

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

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

1 голос
/ 16 октября 2011

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...