Ezaul
Vamos primeiro falar de conceitos:
Data Warehouse -> Seria o grande repositório de dados com as informações gerenciais da empresa. Nele não nos preocupamos em performance em sim em armazenagem. Devemos garantir que nele todos os indicadores estejam salvos usando as regras de negócio da empresa, que os conceitos estejam unificados e onde todos os indicadores gerenciais estejam lá, prontos para serem consultados. - -
ETL: É o processo de carga do Data Warehouse. O ETL se conectará nas diversas fontes de dados origem, sejam bancos de dados operacionais, sejam planilhas, arquivos textos,d ados da web, etc etc etc. Ele vai normalizar e guardar no Data Warehouse as informações já limpas, ajustadas a regras de negócio e integras.
OLAP: Banco de consulta. Nele teremos como única fonte uma parte do Data Warehouse, pegando indicadores somente dos departamentos. O OLAP deve privilegiar performance.
Vamos a arquitetura. Vou tirar fora o ETL pois ele é processo. Podemos usar ferramentas de ETL no mercado (ex: Integration Services da Microsoft, Informatica, Powercenter da IBM, Data Services da SAP) ou fazer nossos próprios programas, em C, Java, .NET, Python, para extrair dados e guardar no Data Warehouse
Data Warehouse. Normalmente falamos em armazena-los nos bancos de dados relacionais. Porque suportam grandes volumes, seu conhecimento é disseminado, tem um custo baixo, normalmente a empresa já usa ele para outros sistemas.
O OLAP posso te-lo em qualquer lugar. Num banco relacional ? Porque não? Mas vamos muda o nome do OLAP. Vamos chama-lo de "Data Mart". O Data Mart é um pedaço do Data Warehouse preparado para consulta.
Se o nosso Data Mart estiver guardado também no banco relacional, sem problemas (No mesmo SGBD ou em outro). Mas cuidado com a performance. As operações de pivot tão necessárias na ferramentas de BI, podem ser providenciadas pela ferramenta de visualização conectada diretamente ao Data Mart. Um exemplo muito conhecido são as tabelas dinâmicas do Excel (Pivot table).
Chamamos nossos Data Marts de OLAP quando a estrutura multimensional não está na ferramenta de visualização e sim no banco de dados. Nativamente bancos de dados relacionais não possuem estrutura matricial para fazer os pivots. Mas existem outros bancos, que não são SGBDs, que possuem uma forma diferente de armazenagem dos dados priorizando o Pivot e performance. Estes são bancos OLAPs.
O Oracle SGBD não é um OLAP. O SQL Server não é um OLAP. O DB2 não é um OLAP. Mas podem ser Data Marts. Se usa-los transfira a necessidade de Pivotear o dado para a ferramenta de consulta.
O Analysis Services é um OLAP. O Oracle Hyperion é um OLAP. O Cognus IBM é um OLAP. O Microstrategy é um OLAP. O SAP BW é um OLAP. O SAP HANNA é um OLAP. A estrutura interna destes bancos são preparadas para o BI. O Pivot dos dados são nativos. A performance é muito, mas muito mais rápida que os SGBDs.
Concluindo. Conceitualmente você pode ter o seu Data Mart no SGBD, sendo ele o mesmo ou um banco relacional diferente do DW. Mas você terá que transferir o trabalho de exploração de dados para a ferramenta de análise (Ex: Power BI da Microsoft, Tableau,, QLIK, Business Object da SAP, Cognus Dashboard da IBM). Se o Data Mart estiver em um banco OLAP não se preocupe pois o dado já estará sendo exibido com as funcionalidades de pivot. Na maioria destes bancos OLAP a linguagem de query não é o SQL (SELECT FROM TABELA) e sim o MDX (SELECT ON ROW, * ON COLUMN FROM BASE).
Att
Victorino Vila