Преобразование базы данных без звездообразной схемы в базу данных звездообразной схемы

Я новичок в OLAP, и я столкнулся со следующей ситуацией:

У меня есть база данных без звездообразной схемы (PostgreSQL), которая содержит сотни таблиц, и теперь мне нужно преобразовать ее в базу данных звездообразной схемы, чтобы выполнять OLAP. Вот несколько вопросов:

  1. Нужно ли мне создавать новую базу данных в виде звездообразной схемы и вставлять существующие данные в новую базу данных? Если да, то есть ли какие-нибудь инструменты, которые помогут мне выполнить эту задачу автоматически?

  2. Данные, которые нужны Мондриану, должны находиться в базе данных звездообразной схемы, но мой веб-проект основан на базе данных без звездообразной схемы. То есть каждый раз, когда у меня появляется новая запись, мне нужно обновлять обе БД одновременно, верно?

Буду признателен за вашу помощь, спасибо!


person Neo    schedule 16.04.2014    source источник


Ответы (1)


Процесс перемещения данных из базы данных OLTP в базу данных OLAP называется ETL (извлечение, преобразование, загрузка). Есть много инструментов ETL. Попробуйте Пентахо (Чайник). Вы можете создать таблицы многомерной базы данных на своем существующем сервере или на новом сервере - в зависимости от того, насколько загружен ваш существующий сервер / база данных. Что касается обновления данных в схеме OLAP, лучше не делать это как часть бизнес-транзакции. Это могло иметь проблемы с производительностью. Кроме того, бизнес-транзакция не должна завершаться неудачей из-за некоторых проблем с перемещением данных в таблицы OLAP. В зависимости от времени ожидания данных, которое вы можете себе позволить, у вас может быть пакетный процесс, который запускается несколько раз в день. Как вы будете идентифицировать измененные данные (система отслеживания измененных данных), в большинстве случаев представляет собой проблему.

person Jayadevan    schedule 16.04.2014
comment
Так что вы имеете в виду, что мне нужно создать новую базу данных OLAP вручную, верно? - person Neo; 16.04.2014
comment
да. Это краткий ответ. - person Jayadevan; 16.04.2014