Бесплатные системы хранения данных - специально для хранения данных - PullRequest
4 голосов
/ 24 октября 2009

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

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

Редактировать: я должен упомянуть - одна БД, на которую я кратко посмотрел, была MongoDB. Кажется, что это может сработать, но в их «Сценариях использования» хранилище данных специально упоминается как «Менее подходящее»: http://www.mongodb.org/display/DOCS/Use+Cases. Кроме того, похоже, что он не предназначен специально для хранилищ данных.

Ответы [ 7 ]

5 голосов
/ 28 октября 2009

http://www.hypertable.org/ может быть тем, что вы ищете (и я буду следовать вашим описаниям здесь выше) что-то для хранения больших объемов зарегистрированных данных с нормализацией. то есть журнал посещений.

Hypertable основан на проекте Google BigTable. см. http://code.google.com/p/hypertable/wiki/PerformanceTestAOLQueryLog для ориентиров

вы теряете реляционные возможности баз данных на основе SQL, но значительно повышаете производительность. вы можете легко использовать hypertable для хранения миллионов строк в час (стойкость на жестком диске).

надеюсь, что это поможет

3 голосов
/ 31 октября 2009

Пентахо Мондриан

  • Открытый исходный код
  • Использует стандартную реляционную базу данных
  • MDX (думаю, сводная таблица)
  • ETL (через чайник)

Я использую это.

3 голосов
/ 26 октября 2009

Возможно, я не правильно понимаю проблему - однако, если вы найдете время (повторно) посетить «Набор инструментов хранилища данных» Кимбалла, вы обнаружите, что все, что требуется для базового DW, - это простая ванильная база данных SQL. другими словами, вы могли бы создать приличный DW с MySQL, используя MyISAM для механизма хранения. Вопрос только в желаемой детализации информации - что вы хотите сохранить и как долго. Если ваши отчеты в основном периодические, и вы внедрили хранилище или кэш отчетов, вам не нужно хранить предварительно рассчитанные агрегации (нет необходимости в кубах). Другими словами, звезда Kimball с кэшированными отчетами может обеспечить приличную производительность во многих случаях. Вы также можете взглянуть на общедоступную версию «Pentaho BI Suite» (с открытым исходным кодом), чтобы быстро освоить ETL, аналитику и отчетность, и немного поэкспериментировать, чтобы оценить производительность, прежде чем углубляться в пользовательскую разработку. Хотя это может и не соответствовать вашим ожиданиям, стоит подумать.

2 голосов
/ 01 ноября 2009

Все зависит от данных и того, как вы планируете получить к ним доступ. MonetDB - это движок баз данных, ориентированный на столбцы, из самой революционной команды по технологиям баз данных. Они только что получили 10-летнюю награду VLDB за лучшую бумагу . БД с открытым исходным кодом, и есть множество обзоров онлайн восхваляющих их.

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

Также рассмотрите необходимость параллелизма, он добавляет большие накладные расходы для любого подхода, а иногда и не требуется. Например, вы можете предварительно переварить некоторые сводные или индексные данные и защитить их только для высокого параллелизма. Профилирование ваших запросов данных - следующий шаг.

Насчет SQL, он мне тоже не нравится, но я не думаю, что это умно исключать движок только из-за языка интерфейса.

2 голосов
/ 29 октября 2009

В дополнение к ответу Майка о гипертабельности вы можете взглянуть на проект Apache Hadoop:

http://hadoop.apache.org/

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

0 голосов
/ 04 июля 2012

Многие люди просто используют Mysql или Postgres:)

0 голосов
/ 31 октября 2009

Я вижу похожую проблему и думаю об использовании простого MyISAM с http://www.jitterbit.com/ в качестве уровня доступа к данным. Jitterbit (или другой бесплатный инструмент) кажется очень хорошим для такого рода преобразований.

Надеюсь, это немного поможет.

...