Alguém pode pensar em algumas boas razões para não * * usar um DBMS Object-Oriented para fazer um site?

StackOverflow https://stackoverflow.com/questions/173040

Pergunta

Digamos que você está codificação algum tipo de aplicação web. Algo onde as pessoas podem contribuir com conteúdo, por exemplo, um site simples de compartilhamento de fotos.

Como muitas boas razões pode você pensar para não ir com um banco de dados orientado a objetos (por exemplo db4o)?

Foi útil?

Solução

Um OODBMS é melhor se você só precisa acessar seus dados através de seus objetos. Se a sua solução requer caminhos adicionais para seus dados (por exemplo, consultas ad-hoc, relatórios, outras aplicações que o acesso aos dados necessidade, mas não pode fazer uso de seus objetos), então um sistema RDBMS tradicional é melhor.

Nota:. OODBMSes ter feito uma série de melhorias nesta área

Outras dicas

Eu não sei o quão grande são os seus planos, mas a disponibilidade de pessoas experientes e qualificados para contratar (ou apenas para dar uma mão) fator seria a minha decisão, bem como apenas um geralmente grande corpo de conhecimento sobre tudo dos prós e contras da DB.

Oracle ou MySQL tem suas falhas, mas as probabilidades são, se você tem um problema de 100 outras pessoas tiveram o mesmo problema e posso dizer-lhe como resolvê-lo.

Eu diria que o fato de que se você está pensando em algo como db4o que eles não parecem ter exemplos de empresas de alimentação de websites, e são na sua maioria em uso para aplicações embarcadas.

Veja meu outro post sobre este assunto. ( Exemplo sítios utilizando Db4o )

Nada tecnicamente no caminho aqui, apenas a adoção parece. No entanto, para a velocidade do desenvolvimento, da manutenção e flexibilidade de design, OODBs são bastante imbatível.

relatórios pesada etc. pode ser feito por sincronizar com um back-end relacional se necessário que eu sei db4o suportes

Este é um bocado de um estiramento, mas parafraseando um Joel post, plano para o sucesso. E se a sua aplicação torna-se realmente popular?

Por exemplo, se você está hospedando seu aplicativo em sua própria máquina, mas decidir ir para um site de hospedagem formal, ou mesmo um farm de servidores. Quais são as chances de que eles vão apoiar um OODB contra MySQL?

Eu só recomendo ir para OODBMSs se o design do aplicativo é muito, muito fortemente orientada a objeto, e da complexidade apresenta uma necessidade para ela. Um site de compartilhamento de fotos não soa como é pesado no lado do OO, então eu não vejo o ponto de ir para db4o.

No entanto, se você realmente quer apenas aprender os meandros de usar um OODBMS fora de um projeto de estimação, não há problema em usar um.

Outra boa razão é relativa longevidade. DB40 é um excelente produto para o que ele faz, mas sua base de usuários é pequeno e não é provável que algo outlive como SQL Server.

Claro, eu também costumava dizer que não havia nenhuma maneira Java iria sobreviver.

Tamanho dos dados (Se eu estou lidando com milhões e milhões de linhas, eu estou furando com o que eu sei)

Reportando (suficiente Tipicamente difícil em bases de dados normalizados, pior em bases de dados OO)

Disponibilidade de especialização / experiência (RDBMS têm claramente mais adeptos)

Grandes quantidades de ETL (A maioria das pessoas importação e exportação em arquivos simples, a menos que você está recebendo / XML envio, você está falando mesas antigos simples)

Nenhum destes som como obstáculos para o seu projeto

Necessidade para a velocidade quando tudo que você tem é uma bicicleta pedal. Os cenários incluem a captura de dados (por exemplo, exploração madeireira), onde após o evento os dados capturados muitas vezes é processado numa fase posterior e provavelmente dividido em seus componentes objeto de qualquer maneira.

Talvez vocês também querer verificar este artigo:

http://microsoft.apress.com/asptodayarchive / 74063 / usando-um-orientada objeto-d

"Usando um OODB em um site", de Jim Paterson

Melhor!

Para uma aplicação complexa, com necessidades de dados modesto, você não pode bater VIDRO (Gemstone, Seaside e Smalltalk). Relatórios é definitivamente algo que você quer fazer OO em Smalltalk.

A minha opinião pessoal, onde há dados ... Há relatórios.

No OODBs vai dar os seus dados o modelo de armazenamento apropriado para estar disponível para seus aplicativos de relatórios.

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