MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Ferramenta para criar uma visualização do MongoDB existente


Isso realmente depende de seus requisitos para "visualização". Normalmente, a maioria dos aspectos visuais mais interessantes de um diagrama para um banco de dados relacional são os relacionamentos de alto nível e as restrições de integridade (1:1, 1:muitos, chave primária, chaves estrangeiras, etc).

O MongoDB tem flexibilidade esquema, no sentido de que os documentos dentro de uma determinada coleção não precisam obedecer a um formato predeterminado. Isso não significa que os dados subjacentes não possam ter alguma organização... apenas que não há um esquema único imposto a uma coleção (como seria o caso de um banco de dados relacional tradicional).

No MongoDB, muitos detalhes interessantes para visualização exigirão análise inspecionando alguns ou todos os documentos em uma coleção OU revisando o código.

Revisão do código


Se seu aplicativo estiver usando um ODM (Object Document Mapper), como Mongoose (Node.js) ou Morphia (Java), o código do aplicativo pode fornecer uma visão rápida e descritiva do esquema pretendido (ou pelo menos a versão mais recente do esquema pretendido). Uma ferramenta de documentação de linguagem apropriada, como jsdoc ou javadoc pode ser útil para gerar uma visão geral razoável de suas classes de modelo. Você provavelmente terá que adicionar algumas anotações de documentação para obter melhores resultados.

Análise de esquema


A análise de esquema é uma abordagem de força bruta que envolve olhar para os dados para inferir um esquema observado. Uma abordagem comum para isso é usar Map/Reduce .

Existem alguns mongo diferentes casca auxiliares que lhe darão uma ideia da estrutura geral das coleções (por exemplo, tipos de campo/dados e sua cobertura nos documentos de origem):

Eles não são visuais (no sentido gráfico), mas os resultados da análise de esquema fornecem informações sobre a forma esperada dos dados e variações comuns.

Relacionamentos


O servidor MongoDB não tem suporte para relacionamentos de chave estrangeira, o que remove muitas anotações visuais potencialmente interessantes.

Existem algumas abordagens de driver de cliente diferentes para criar Referências de banco de dados (DBRefs) , mas estão seguindo convenções de uso em vez de um recurso do servidor. Para determinar relacionamentos entre coleções usando DBRefs, alguns ou todos os documentos em uma coleção teriam que ser verificados. A inferência de relacionamentos não é compatível com variety ou schema.js ainda.

Conteúdo


Para ter uma ideia melhor do conteúdo real, você pode tentar uma das Admin UIs .