Pergunta

Eu tenho um monte de dados mysql que eu preciso para gerar relatórios a partir. É principalmente dados histórico para que ele não vai mudar muito, mas pesa 20-30 gigabytes facilmente e é esperado para crescer. Eu tenho atualmente uma coleção de scripts PHP que irá fazer algumas consultas complexas e CSV de saída e arquivos de Excel. Eu também uso phpMyAdmin com consultas marcadas. Eu manualmente editá-los para alterar os parâmetros. A quantidade de dados está crescendo e o número de pessoas que precisam de acesso a ele também está crescendo, então eu estou fazendo o tempo para melhorar esta situação.

Eu comecei a ler sobre Data Warehousing no outro dia e parece que esta uma área que se relaciona com o que eu preciso fazer. Eu li alguns boa artigos e estou ainda à espera de um livro. Eu acho que estou recebendo uma alça sobre o que esses tipos de sistemas de fazer e que é possível.

A criação de um sistema de comunicação para os meus dados sempre esteve em uma lista de tarefas, mas até recentemente eu percebi que seria um empreendimento altamente nicho a programação. Desde agora eu sei o armazenamento de dados é uma coisa comum, eu acho que deve haver algum tipo de relatórios / armazenagem quadros disponíveis para facilitar o desenvolvimento. Eu ficaria feliz em ignorar escrever interfaces e scripts para agendar relatórios e e-mail e semelhantes e vara para escrever consultas e criação de relações.

Eu fui principalmente um cara lâmpada, mas eu não estou acima trocar as linguagens ou plataformas. Eu só preciso de uma solução mais robusta como a minha um fora de scripts não escala bem.

Então, onde é um bom lugar para começar?

Foi útil?

Solução

eu vou discutir alguns pontos sobre a {orçamento, função de utilidade negócio, quadro hora} espectro lá fora. Por conveniência, vamos seguir a conceituação arquitetura que você ligado a pelo

WikipediaDataWarehouseArticle

  • camada de banco de dados operacional
    Os dados de origem para o data warehouse - normalizado para Em um único lugar manutenção de dados

  • camada de acesso a dados
    A transformação de seus dados de origem em sua camada de acesso a informação. ferramentas de ETL
    para extrair, transformar dados de carga para a queda armazém para essa camada.

  • camada de acesso Informativa
    • Relatório-facilitando Estrutura de Dados
    Dados não é mantido aqui. É meramente um reflexo de sua fonte de dados
    estruturas Assim, desnormalizados (contendo duplicado, mas sistematicamente derivados dados) Quais são geralmente mais eficaz aqui
    • As ferramentas de relatórios
    Como você realmente permitir seu acesso aos usuários os dados
    • Relatórios pré-enlatados (simples) métodos de acesso slice-and-dice
    • mais dinâmicos

Os dados acessados ??para relatórios e análise e as ferramentas para a geração de relatórios e análise de dados
cair nessa camada. E as diferenças Inmon-Kimball sobre metodologia de projeto,
discutido mais tarde no artigo Wikipedia, tem a ver com esta camada.

  • camada de metadados (facilita a automatização, organização, etc)

Roll seu próprio (low-end)
Por muito pouco out-of-pocket custos, apenas reconhecendo a necessidade das estruturas desnormalizados pode comprar aqueles que não estão usando-o algumas eficiências

Get no jogo de bola (alguns gastos obrigatório)
Você não precisa usar todas as funcionalidades de uma plataforma de direita fora do bastão.
IMO, no entanto, você quer estar em uma plataforma que você sabe que vai crescer, e no altamente competitivo e consolidando ambiente de BI, que parece ser uma das quatro empresas mega-fornecedores (minha opinião)

  • Microsoft (a plataforma da nossa empresa 110 funcionários)
  • SAP
  • A Oracle
  • IBM

BiMarketStateArticle

A minha empresa é nesta fase, usando algumas das capacidades ETL oferecido pelo SQL Server Integration Services (SSIS) e algum uso alternativo do código aberto, mas em licença prática exigindo produto Talend na "Data Access Layer", um denormalized estrutura de relatórios (implementada completamente no banco de dados básica do SQL Server), e SQL Server Reporting Services (SSRS) para automatizar grande parte (com base em sua habilidade) a produção de relatórios pré-especificado. Note-se que um "relatório" SSRS é apenas um (escalável) XML de configuração / especificação que é renderizado em tempo de execução através do motor de SSRS. Escolhas como exportação para um arquivo do Excel são opções simples.

compromisso sério (algum compromisso humana significativa obrigatório)
Observe acima que ainda temos de utilizar a mineração de dados / corte dinâmico / em cubos capacidades do SQL Server Analysis Services. Estamos trabalhando para que, mas agora focado na melhoria da qualidade de nossos dados de limpeza na "Data Access Layer".

Espero que isso ajude você a ter uma noção de onde começar a procurar.

Outras dicas

Pentaho reuniu um conjunto muito abrangente de produtos. Os produtos são "livres", mas estar preparado para o pesado habitual vender uma vez que você gastar mais de suas informações de identificação.

Eu não tive a chance de realmente esticar-los como nós somos uma loja de Microsoft de um triste fim para o outro.

Eu acho que você deve primeiro verificar Kimball e Inmon e veja se você quer se aproximar de seu data warehouse de uma forma particular. Kimball, em particular, estabelece um quadro muito bom para a modelagem e construção do armazém.

Há uma série de ferramentas que tentar fazer o processo de concepção, implementação e gestão / operação de um Data Warehouse e cada um tem seus pontos fortes e fracos e muitas vezes muito diferentes pontos de preço. Sob as tampas você está sempre vai ser melhor fora se você tem um bom conhecimento de warsehousing princípios do Kimball e / ou campos de Inmon.

Além de ferramentas como Kalido e Wherescape RED (que fazer coisa semelhante de modos muito diferentes), muitas das plataformas de ETL agora têm um bom suporte embutido para o trabalho de burro de implementação -. Componentes SCD etc e rastreamento de linhagem

Melhor embora para ver todos estes como ferramentas a serem utilizadas nas mãos de vocês, o artesão, eles fazem certas coisas fáceis ainda mais fácil (ou mesmo triviais), algumas coisas duras mais fácil, mas algumas coisas que eles basta entrar em eles maneira de IMHO;) Aprenda a metodologia e os princípios em primeiro lugar e ter uma boa compreensão das mesmas e, em seguida, você vai saber quais as ferramentas para aplicar a partir de sua kitbag e quando ...

Ele não foi atualizado em quando, mas há um pacote de Data Warehousing / ETL Rubi agradável chamada ActiveWarehouse .

Mas eu gostaria de verificar os produtos Pentaho como Nick mencionado em outra resposta. Deve facilmente lidar com o volume de dados que você tem e pode fornecer-lhe mais maneiras de cortar e cortar seus dados do que você jamais poderia ter imaginado.

O melhor quadro atualmente você pode obter é Anchor Modeling .
Pode parecer bastante complexo por causa de sua estrutura genérica e built-in capacidade de historize dados.
técnica de modelagem também é bastante diferente do ERD.
Mas você acaba-se com o código SQL para gerar toda db objetos incluindo 3NF pontos de vista e:

  • insert / update tratado por gatilhos
  • consulta qualquer ponto / intervalo na história
  • Você desenvolvedores de aplicativos não verá subjacente modelo âncora 6NF.

A tecnologia é código aberto e no momento é imbatível.

Se você tem a pergunta AM você pode querer perguntar em que tag .

Kimball é o método mais simples para o armazenamento de dados.

Nós usamos Informatica para mover dados por aí, mas ele não faz DW coisas como indexação por padrão.
Eu gosto da idéia de Wherescape RED, como uma ferramenta DW e usando servidores vinculados do MS SQL para evitar a necessidade de uma ferramenta de ETL.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top