Quais são as vantagens de utilizar banco de dados orientado a objetos? - Stack Overflow em Português
Quais são as vantagens e desvantagem de utilizar banco de dados orientado a objetos em relação banco de dados relacionais?
Quais são os bancos de dados orientado a objetos mais usados?
banco-de-dados orientação-a-objetos
editada 22/02/16 às 11:06
perguntada 18/02/16 às 12:32
Eles permitem uma modelagem que são ditas como mais próximas do mundo real, ainda que isto não seja possível de fato, em tese reduzindo a manutenção.
Embora seja possível em outros tipos de DBs, a capacidade de criação de novos tipos de dados é melhor, o que obviamente permite criar estruturas de dados mais avançadas com melhores abstrações, mais flexíveis e teoricamente mais confiáveis, permitindo hierarquia.
Funciona melhor com linguagens orientadas a objeto, evitando a tal da impedance mismatch.
Navegação pelos dados é feita de forma mais natural e expressiva na maioria dos casos.
Alguns padrões de uso podem aumentar a performance (não usa JOIN).
Melhor reuso.
Costuma existir algumas outras características que são mais subjetivas ou dependente de fornecedor, por exemplo ter mecanismo de versionamento.
Falta padronização. Cada fornecedor usa uma forma diferente, determinando uma modelagem diferente. Há várias correntes que propõem formas diferentes de uso deste modelo.
Falta fundamentação matemática. Falta uma forma melhor de expressar consultas complexas da forma como as pessoas estão acostumadas fazer no modelo relacional.
Os produtos, apesar de longa existência, ainda não são maduros, as pessoas não o adotam porque não há adoção geral e por causa disto não há investimentos suficientes para melhorias.
Para adotar o modelo fielmente há perda de performance em vários cenários. Para evitar isto há uma quebra no modelo. Vários tipos de acesso precisam ser feitos de forma indireta através de objetos intermediários desnecessários naquela consulta.
A concorrência automática pode ser complicada ou trazer dificuldades. A manual exige mais do desenvolvedor.
A abstração pode esconder problemas reais no modelo adotado, pode ser difícil obter performance.
Faltam mecanismos já bem estabelecidos no modelo relacional para acesso aos dados de forma segura.
Faltam ferramentas, documentação, experiência, profissionais qualificados.
Há alguns itens que sequer há concordância se é vantagem ou desvantagem :)
editada 16/10/20 às 10:41
respondida 18/02/16 às 12:57
Talvez adicionar que Caché é a mais usada, e comentar como desvantagem a dificuldade de expresão de queries se comparado com bancos relacionais? afinal SQL é uma linguagem baseada em um conceito matemático (relational algebra) cujo único propósito é expressar a busca de dados em um certo modelo, é realmente difícil bater isso.
18/02/16 às 13:52
É, posso falar disso, mas qual é mais usado eu não sei e não me arriscaria. Só falaria se tivesse uma fonte confiável disso. E não sei se seria uma informação tão útil assim.
18/02/16 às 14:12
Esta não é a resposta que você está procurando? Pesquise outras perguntas com a tag banco-de-dados orientação-a-objetos ou faça sua própria pergunta.