Qualcuno può pensare ad alcune buone ragioni * non * per usare un DBMS orientato agli oggetti per supportare un sito Web?

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

Domanda

Supponi che stai codificando un qualche tipo di applicazione web. Qualcosa in cui le persone possono contribuire con contenuti, ad es. un semplice sito di condivisione di foto.

A quanti buoni motivi puoi pensare di non andare con un database orientato agli oggetti (ad esempio db4o)?

È stato utile?

Soluzione

Un OODBMS è migliore se devi solo accedere ai tuoi dati attraverso i tuoi oggetti. Se la tua soluzione richiede percorsi aggiuntivi per i tuoi dati (ad es. Query ad hoc, reportistica, altre applicazioni che richiedono l'accesso ai dati ma non possono utilizzare i tuoi oggetti), allora un sistema RDBMS tradizionale è migliore.

Nota: gli OODBMS hanno apportato molti miglioramenti in questo settore.

Altri suggerimenti

Non so quanto siano grandi i tuoi piani, ma la disponibilità di persone esperte e qualificate da assumere (o solo per dare una mano) influenzerebbe la mia decisione, così come solo un ampio corpus di conoscenze in generale su tutto dei dettagli del DB.

Oracle o MySQL hanno i loro difetti, ma le probabilità sono se hai un problema 100 altre persone hanno avuto lo stesso problema e possono dirti come risolverlo.

Direi che se stai considerando qualcosa come db4o che non sembrano avere esempi aziendali di potenziamento dei siti Web e sono principalmente utilizzati per applicazioni integrate.

Vedi il mio altro post su questo. ( Siti Web di esempio che utilizzano db4o )

Niente tecnicamente qui, solo l'adozione sembra. Tuttavia, per velocità di sviluppo, manutenzione e flessibilità di progettazione, gli OODB sono piuttosto imbattibili.

report pesanti ecc. possono essere eseguiti sincronizzando con un back-end relazionale, se necessario, che so che db4o supporta

Questo è un po 'allungato, ma per parafrasare un post di Joel, pianifica il successo. Cosa succede se la tua app diventa davvero popolare?

Ad esempio, cosa succede se stai ospitando la tua app sul tuo computer, ma decidi di visitare un sito di hosting formale o persino una server farm. Quali sono le possibilità che supporteranno un OODB rispetto a MySQL?

Consiglio di optare per gli OODBMS solo se il design della tua applicazione è orientato in modo molto, molto pesante agli oggetti e la complessità ne presenta la necessità. Un sito di condivisione di foto non sembra pesante sul lato OO, quindi non vedo il punto di andare per db4o.

Tuttavia, se vuoi davvero imparare i dettagli sull'uso di un OODBMS da un progetto per animali domestici, va bene usarne uno.

Un'altra buona ragione è la longevità relativa. db40 è un prodotto eccellente per quello che fa, ma la sua base di utenti è piccola e non è probabile che sopravviva a qualcosa come SQL Server.

Certo, ho anche detto che non c'era modo di sopravvivere a Java.

Dimensione dei dati (se ho a che fare con milioni e milioni di righe, seguo quello che so)

Rapporti (in genere abbastanza difficile nei database normalizzati, peggio ancora nei database OO)

Disponibilità di competenza / esperienza (RDBMS ha chiaramente più aderenti)

Grandi quantità di ETL (la maggior parte delle persone importa ed esporta in file flat, a meno che tu non stia ottenendo / inviando XML, stai parlando di vecchie tabelle semplici)

Nessuno di questi sembra un ostacolo per il tuo progetto

Necessità di velocità quando tutto ciò che hai è una bici a pedali. Gli scenari includono l'acquisizione di dati (ad esempio la registrazione) in cui dopo l'evento i dati acquisiti vengono spesso elaborati in una fase successiva e probabilmente suddivisi nei componenti degli oggetti.

Forse anche voi volete controllare questo articolo:

http://microsoft.apress.com/asptodayarchive / 74063 / con-un-orientato agli oggetti d

" Utilizzo di un OODB in un sito Web " di Jim Paterson

Best!

Per un'applicazione complessa con esigenze di dati modeste, non puoi battere GLASS (Gemstone, Seaside e Smalltalk). La segnalazione è sicuramente qualcosa che vuoi fare OO in Smalltalk.

La mia opinione personale, dove ci sono dati ... ci sono rapporti.

Nessun OODB fornirà ai tuoi dati il ??modello di archiviazione appropriato per essere disponibile per le tue applicazioni di reporting.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top