Domanda

Quali sono i vantaggi (se presenti) per l'azienda (non solo per gli sviluppatori) ho potuto guadagnare passando da SQL Server 2008 per Versant OODB?

Maggiori informazioni sul progetto e sui fatti per aiutare con una risposta (fatemi sapere se avete bisogno di più):

  • Molto piccola squadra, OODB quasi mai utilizzato.
  • Project utilizza NHibernate 2.
  • A proposito di copertura di test il 75%.
  • ASP.NET MVC app.

A questo punto non ho potuto giustificare l'interruttore a causa di seguito i punti (la maggior parte legato alla db4o, non Versant tradizionale OODB):

  • utensili è piuttosto male per il confronto RDBMS mondo dove ci sono mucchio di "Gestori", profiler, integrazione / migrazione strumenti e altri;
  • documentazione è piuttosto semplice da quello che posso osservare e pesantemente mescolato con Java;
  • non così tante risorse in rete confrontandole con RDBMS;
  • passaggio ad altri database può essere problematico (al contrario di RDBMS);
  • curva di apprendimento per gli sviluppatori e team IT;
  • costi di licenza aggiuntivi;
  • costi di manutenzione aggiuntivi;
  • nessuna integrazione con MSDeployment (compresi i backup automatici, MSBuild, imballaggio, ecc);
È stato utile?

Soluzione

Ecco una commenti da parte di un utente reale che sono passati da SQL Server 2005 per Versant:

È qui feedback da me ei miei colleghi circa VOD.Net.

ho raggruppato le mie idee in pro e contro

PRO: (In una parola: Velocità)

  • Il motore di database è veloce per i dati di lettura e scrittura, da quello che abbiamo fatto, si tratta di circa 5 a 10 volte più veloce di SQL Server 2005
  • E 'ridurre la quantità di codice necessario per fare stessa cosa rispetto agli standard tecnologie Data Access Layer
  • E 'anche a ridurre il tempo di sviluppare nuove funzionalità
  • Si crea una struttura rigorosa e oggetti che l'integrità dei dati facilita
  • importare i dati in VOD è facile

CONS: (in una parola: hanno bisogno di competenze di risoluzione dei problemi)

  • Il nostro principale punto negativo riguarda l'usabilità Strumenti di amministrazione (Administration Console e Object Inspector)
  • I pulsanti / Link non del tutto esplicito su ciò che fanno, di solito capire quando cerchiamo di usarlo
  • Versant Compilation / errori di aggiornamento del database non sono abbastanza esplicite, che a malapena sappiamo cosa Classe causa l'errore, ma non la ragione, quindi abbiamo bisogno di eseguire il debug da noi stessi.
  • Utilizzando l'opzione di menu Database non poteva funzionare Verifica e mostrerà gli errori (A seconda dei tempi)
  • Migrazione Application
  • Quando la migrazione di un applicazione di decorazioni DAL, è lungo per farlo funzionare con VOD, se si tenta di mantenere lo stesso codice per l'interfaccia utente

Nel curriculum, mi consiglia di utilizzare VOD.Net per le imprese avere maggiori sviluppatori competenze e grande struttura complessa / dati. E 'sicuramente più veloce la creazione di nuova applicazione di migrare applicazioni esistenti. La necessità oggetto Inspector una riprogettazione per essere più user friendly.

Abbiamo affrontato alcune delle preoccupazioni Inspector fornendo supporto LINQPad. Penso che si dovrebbe prendere la decisione di interruttore sulla base di vantaggi tecnici e non su qualsiasi discussione emotiva. Inoltre, Versant è un partner di Microsoft, e ci sono un sacco di opportunità per le persone con buone competenze OO Versant o meno.

Altri suggerimenti

dipende da voi oggetto del modello. Se hai a che fare con un oggetto grafico nel profondo del tuo dominio con relazioni gerarchiche complesse potrai beneficiare grande tempo passando da SQL Server 2008 per Versant ODB. Se hai a che fare con oggetti piatti bastoni per un motore relazionale. Si prega di verificare i risultati del c / s in www.polepos.org: http://polepos.sourceforge.net/results/PolePositionClientServer.pdf

Si è dimenticato .... Si è probabilmente andando a me molto molto più veloce (ma dipenderà dal vostro modello. Se si dispone di semplice modello, vi consiglio di solo bastone con RDB).

Se si dispone di molti-to-any, relazioni ricorsive, sottografi nidificate, ecc ... se poi sarà molto più veloce.

Naturalmente, sarà anche eseguito su un terreno meno hardware. Studi con IBM spettacolo che vi farà risparmiare circa il 50% della CPU nel vostro livello intermedio (ad esempio, se server web dove tutto il tipo happend traduzione per la RDB).

Inoltre, non c'è bisogno di un esperto di database .. se sei un ragazzo OO allora hai già il set di abilità ... soprattutto se si sa Hibernate / NHibernate perché i concetti di gestione del ciclo di vita oggetto da Hibernate e la spazio ORM hanno praticamente dirottato dal mondo OODB e portato al campo di RDB.

Inoltre, è possibile scorrere molto più velocemente nei vostri cicli di sviluppo senza dover andare continuamente a un DBA e chiedere aggiornamenti dello schema.

.... RDB finirà per fare la fine del mainframe. Ancora in giro, ma non viene utilizzato per i nuovi progetti. Quei programmatori cobalto non ci credevano al momento della sua ... quindi non perdete tempo con tutte le na-sayers.

Se si desidera passare poi farlo. Questo è il tuo unico punto "plus".

"sbarazzarsi di disadattamento di impedenza relazionale ad oggetti che tutti noi siamo così stanchi di."

È elencato la maggior parte degli aspetti negativi già. Io aggiungo altri due:

  • come possono i lavori mai chiedere competenze Versant OODB?
  • quanti sviluppatori avranno competenze Versant OODB?

In divulgazione, io lavoro per Versant nelle vendite, e di commentare le vostre domande, Versant è un prodotto commerciale, ma come SQL Server, abbiamo prezzi simili, Community Edition è gratuito con limitazioni sulle dimensioni del database, Standard Edition è un piccolo costo per server, ma limitata nel numero di thread consentito, ed una versione Enterprise che è costoso, ma meno di SQL Server o Oracle se avete bisogno di scalabilità e le prestazioni. Inoltre, passando da NHibernate a LINQ si sarà in grado di utilizzare tale al database di Versant, e in futuro, se si vuole tornare a SQL Server, è possibile farlo abbastanza facilmente con EF o LINQ to SQL, quindi mitiga la tua rischiare nella infrastruttura di database. Questo sarebbe un punto di partenza per Versant piuttosto che utilizzare un negozio KVP NoSQL con un'interfaccia prorprietary. È vero, e tanto meno la documentazione che relazionale, ma www.odbms.org ha alcuni grandi materiale informativo e di riferimento. La curva di apprendimento se la tua squadra è abile in C # dovrebbe essere abbastanza facile, e dal punto di vista amministrativo, Versant è un database, in modo da imparare le procedure di backup e ripristino dovrebbero sembrare familiare. I nostri clienti, C ++, Java o .Net, dicono tutti i vantaggi di Versant sono facilità di sviluppo, le prestazioni e la capacità di supportare le loro esigenze con una minore quantità di risorse server e storage.

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