Большие наборы данных - NoSQL, NewSQL, SQL ..? Жареный мозг - PullRequest
8 голосов
/ 09 мая 2011

Мне нужен какой-то совет.Я работаю над новым стартапом в области интеллектуального анализа данных.По сути, это побочный результат исследовательского проекта.

В любом случае, если у нас имеется большое количество неструктурированных данных, мы проводим различные НЛП, классификационный и кластерный анализ этих данных.

У нас есть миллионы сообщений, начиная от сообщений в Твиттере, сообщений в блогах, сообщений на форумах, новых статей в газетах, отчетов и т. Д. И т. Д. Весь текст.В целом мы берем около 300 ГБ + текстовых данных и растем каждый день (около 10 ГБ в день)!

Так что нам нужно где-то хранить всю эту информацию в формате, который мы можем фактически обработать, запросить и получитьотносительные результаты в реальном времени.

В любом случае нам нужно где-то хранить эти данные ...

Поскольку это новый стартап, мы действительно не можем / не хотим платить за лицензированныйпродукт, например, корпоративная версия VoltDB, Oracle и т. д. недосягаем.

Я подумал, что это может быть идеальным приложением для базы данных "NoSQL", не связанной с отношениями, такой как Apache Cassandra или Hadoop / HBase (колонкасемейство), MongoDB (документ), VoltDB (сообщество edn) или MySQL.

В настоящее время все данные находятся в текстовых файлах TSV и обрабатываются как записанные в файл.Излишне говорить, что это больно, и это означает, что все дело в одном процессе, и мы не можем запросить его.Это работает, но его способ ограничен из-за богатства того, что мы могли бы делать с этим набором данных.

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

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

Я думаю, что лучше использовать базу данных семейства столбцов non-rel / NoSQL, например HBase, для нас, когда мы постоянно добавляем новые источники данных (сканеры, потоковые API и т. Д.), Будет гораздо проще, если у нас будет неструктурированная модель.

Любая помощь будет принята с благодарностью!Черт, там даже может быть работа:)

Ура!

Ответы [ 3 ]

4 голосов
/ 09 мая 2011

Вам необходимо тщательно продумать, какие типы запросов вам нужно будет выполнить для этих документов. Cassandra и т. Д. Вполне могут подойти, если ваши запросы являются базовыми, но более сложные SQL-подобные запросы невозможны. Самые большие развертывания Cassandra имеют порядок 150 ТБ, поэтому объем данных не должен быть проблемой; но производительность Cassandra может быть излишней и пожертвовать богатством запросов.

Если вам нужна только текстовая индексация, рассмотрите также Lucene, так как я думаю, что для пакетной индексации Lucene теперь может обрабатывать более 100 ГБ / час, поэтому возможна быстрая индексация 1 ТБ - и Lucene теперь заявляет о сопоставимых скоростях для инкрементной индексации. ...

2 голосов
/ 12 мая 2011

Оформить заказ RavenDB .Это БД документов, поддерживающая Map / Reduce, которая основана на Lucene и, следовательно, может также предоставлять возможности полнотекстового поиска непосредственно из API запросов.

Встроены и очень продвинуты возможности создания и копирования.Используя Esent в качестве хранилища, каждый узел может хранить до 16 ТБ данных.

0 голосов
/ 06 июня 2014

База данных в основном зависит от ваших вариантов использования.Я предложу вам пойти с Кассандрой или Hbase.

Для анализа в режиме реального времени на кассандре вы можете использовать Apache Spark и Stream Stream - все хорошо.

Также попробуйте Elastic search или Solar search для поиска текста.Все это с открытым исходным кодом и очень хорошо попробовать.

Для анализа в реальном времени вы также можете посмотреть на Facebook с открытым исходным кодом Prestodb, но я не нашел много необходимой информации, кроме сайта Presto и большинства людей, предлагающихидти с кассандрой с апачей искрой.

...