Como fazer reportagens com MongoDB?
7 answers
- JSON Studio . Esta é uma solução comercial que lhe permite construir visualmente pipelines de agregação e conectá-los a gráficos.
- SlamData . Esta é uma solução de código aberto que lhe permite executar consultas SQL directamente no MongoDB (incluindo ligações, grupo Por, ter, etc), através da interface GUI ou uma API. A versão atual do projeto tem Visualização de dados, e permite criar e incorporar painéis de relatórios em aplicações MongoDB.
Disclaimer: Eu sou um contribuinte para o projeto SlamData, embora eu não tenho nenhuma afiliação com JSON Studio.
Parece que as ferramentas de código aberto como o JasperReports e Pentaho pode ligar para o MongoDB, também, se você quiser pular para o NoSQL navio, mas sem saltar para o NoSQL navio, você pode usar um ODBC ou OLE DB driver como Simba um e, em seguida, usar qualquer normal SQL reporting ferramenta como DBxtra
Em relação à apresentação de relatórios: Map-Reduce {[[3]}, especialmente um incremental irá ajudá-lo muito, mas você não pode tratar o mongoDB como uma base de dados relacional. Não é só um. Por exemplo, a consulta para um subdocument loucura. A agregação-Framework mongoDB fará bem na maioria dos casos, mas tem seus limites em comparação com SQL.
Se estiver a utilizar. NET, é fácil escrever relatórios utilizando relatórios DexExpress. Ele funciona bem com o driver MongoDb.NET, apenas uma limitação, você tem que ter tipos fortes para cada agregação que você está usando em seus dados. Todos os tipos que você pode usar a partir do seu fornecedor de db aplicação principal, para que não será uma grande dor de cabeça. Se as suas coleções MongoDB são semelhantes às tabelas de dados SQL, você pode usar drivers ODBC, desta forma é muito limitado, mas você pode usar qualquer serviço de relatórios que funciona com ODBC conexao. Eu prefiro usar primeiro: "DevExpress" XtraReports.
Não sei se consegue fazer em MongoDB todos os seus relatórios mais têm tempo de resposta suficiente. Então você poderia adicionar uma ferramenta em cima de MongoDB para esse propósito. Por exemplo, o icCube agora suporta o MongoDB para este tipo de uso. Não faz sentido extrair todo o conjunto de dados, mas a maior parte do tempo de dados para o relato e análise representam apenas uma fração do todo e faz sentido conectar uma ferramenta OLAP em memória para o relato e análise.
Tanto quanto sei, não há uma maneira fácil de realizar juntas, agregações, etc. da mesma forma que faria numa base de dados relacional em Mongo. Existem diferentes ferramentas de análise externa que você pode usar para isso. Na minha empresa, usamos O Sisense e ligamo-lo ao MongoDB através de um driver ODBC, que nos permite utilizar funcionalidades do tipo SQL nos nossos dados e funciona muito bem. No entanto, eu não sei de uma maneira de fazer isso nativamente em MongoDB.
O Relatório MongoDB é facilitado porque tem a estrutura de agregação que fornece uma api que pode ser conectada a um software de relato. Aqui está um artigo que fornece detalhes sobre relatórios e visualização MongoDB http://blog.jinfonet.com/mongodb-reporting-visualization-jreport/