2016-03-20 3 views
0

У нас очень простой прецедент, но нам трудно выбрать лучшее решение для БД, которое соответствует нашим потребностям.База данных столбцов ROLAP

Требование:

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

Использование регистр:

У нас есть база данных пользователей, и каждый пользователь принадлежит к разным свойствам. Существует до 10 тыс. Свойств, однако большинство пользователей имеют менее 30 свойств каждый.

Пример таблицы:

пользовательские свойства/

user1/1,5,10

пользователь2/7,5,9,24,42,1090

user3/9

пользователь4/98,1049,2000

. .

Идеальный сценарий - иметь базу данных хранилища столбцов, в которой каждое свойство является столбцом, а база данных позволяет использовать свойства более 10 000.

Monetdb подходит нам как раз, но есть две очень важные недостатки:

  • Объемная нагрузка очень низкая, в наших тестах он дал нам 5ms за запись закачанной. Для загрузки 1M записей потребуется более часа, что очень медленно.
  • Ошибка при массовой загрузке с дублирующимся первичным ключом (мы хотели бы обновить значения свойств на этом «на дубликат ключа», но это невозможно в этой базе данных).

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

Я могу дать больше объяснений при необходимости, любые рекомендации будут действительно оценены!

Thanks

ответ

0

Непонятно, как вы загружаете массу в базу данных. Простая COPY INTO над таблицей из 100 столбцов и 125M строк занимает не более полутора часов на обычном настольном компьютере 4core и 16G RAM. См. http://homepages.cwi.nl/~mk/ontimeReport

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

+0

Спасибо mkersten. Нет, это не отвечает на мой вопрос. Мне нужно 10k столбцов из-за производительности. Это OLAP db для быстрых свойств запроса, нормальный пользовательский интерфейс: настройка таблицы свойств не помогает мне в том, что мне нужно. Спасибо, в любом случае – fdnieves

Смежные вопросы