Pergunta

Estou vindo de um plano de fundo MySQL e estou interessado em bancos de dados orientados a documentos, especificamente CouchDB. Uma das coisas em que estou interessado é a integridade dos dados. Como os bancos de dados orientados a documentos lidam com isso? Por exemplo, no RDBMSSes, existem maneiras de impedir a duplicação de registros ou garantir que, se você tiver um pouco de informação, terá outro, ou nenhum nenhum.

Eu acho que de maneira mais ampla, minha pergunta é: para que tipos de problemas os rdbms são cortados, em comparação com os problemas para os quais os dodbes são usados? Eu olhei algumas das outras perguntas do Stackoverflow para uma explicação, mas não encontrei nenhuma boa.

Além disso, com meus bancos de dados no trabalho, eu faço muitos relatórios, com valores de som e média e tendências históricas. Isso é algo apropriado para bancos de dados orientados a documentos?

Foi útil?

Solução

A maioria dos dados-dados de documentos suporta apenas verificações de integridade muito limitadas ou nenhuma integridade. Eles dependem do aplicativo para garantir que os dados estejam corretos. Eu posso te dizer como é no CouchDB.

Para a segunda parte. Eu acho que o RDBMS se sai muito bem ao relatar e analisar dados. O fato de você poder executar consultas complexas nos dados com junções, agregações, funções etc. faz do RDBMS uma ferramenta de relatórios muito poderosa. As dados de documentos são muito bem para armazenar os dados de aplicativos 'ao vivo'. É muito fácil armazenar um gráfico de objeto de recuperação em dados de documentos. O design sem esquema facilita a estende o modelo para novos recursos de aplicativo. No entanto, isso só funciona se você puder dividir seus dados de aplicativos em documentos agradáveis. Caso contrário, você perde muita elegância.

Se você quiser reportar principalmente, eu preferiria um RDBMS. Quando armazenar muitos registros simples e simples, é muito fácil reportar relatórios sobre ele. A ferramenta etc. é perfeita para relatar. No entanto, quando desejam reportar dados estruturados complexos, você provavelmente ainda é melhor com outro banco de dados Desgine do que um RDBMS.

No entanto, isso não significa que você precisa se limitar ao RDBMS. Você pode combinar as duas tecnologias. Imagine um software de blog. Você armazena os dados de aplicativos 'ao vivo', como postos de blog e comentários no DocumentDatabase. Os dados para relatórios como cliques e estatísticas de login são armazenados em um RDBMS. Veja também Rob Conerys Post.

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