как обрабатывать очень большие данные? - PullRequest
4 голосов
/ 02 апреля 2012

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

Количество таблиц будет небольшим (<200), большинство данных (80%) будет содержаться в 20 таблицах, все данные практически только для вставки / чтения (без обновлений). </p>

Предполагаемый объем данных в этой таблице будет расти до 240 000 записей в минуту, и мы должны хранить их не менее 1–3 года, чтобы иметь возможность делать различные отчеты, и отчеты будут просматриваться администратором в режиме онлайн.

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

Ответы [ 2 ]

4 голосов
/ 02 апреля 2012

Oracle станет очень дорогим, чтобы его масштабировать достаточно. MySQL будет сложно масштабировать. Это не их вина; СУБД для этого излишня.

Позвольте мне начать с тупого вопроса: что вы делаете с этими данными? «различные отчеты» может быть много вещей. Если эти отчеты можно создавать массово, в автономном режиме, то почему бы не хранить данные в виде простого файла в общей файловой системе?

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

Аналитика на NoSQL в этом году - самая модная вещь. Например, я бы посмотрел на то, что делает Acunu, чтобы встроить аналитику в свой вкус Cassandra: http://www.acunu.com/blogs/andy-twigg/acunu-analytics-preview/

0 голосов
/ 02 апреля 2012

Вы также можете использовать Apache Solr и MongoDB.Mongo DB и Apache Solr также используются для обработки больших данных в NOSQL, что позволяет очень быстро вставлять и извлекать данные в базу данных.Таким образом, вы можете использовать базу данных Apache Solr или MongoDb.

...