Domanda

Sto indagando su un nuovo progetto che sarà un sito di social networking in stile. Sto leggendo su RavenDB e mi piace l'aspetto di molte delle sue caratteristiche. Non ho letto su NoSQL più di tanto, ma mi chiedo se c'è una nicchia si adatta meglio con vecchi e sql scuola è ancora la scelta migliore per altre cose.

Sto pensando che i permessi spina nella sarebbe l'ideale per un sito in stile rete sociale - ma sarà davvero esibiranno in un ambiente in cui sarà sempre martellato il database - o è ottimizzato per un sistema di stile più la segnalazione in cui è possibile continuare a lanciare nuove strutture di dati al database e relazione su queste strutture.

Sono ansioso di utilizzare lo strumento giusto per il lavoro -. Sarò con MVC3, Windsor + entrambi i server NHibernate + Sql o RavenDB

Dovrei bastone con il vecchio SQL scuola o andare con il nuovo capretto sul blocco:? RavenDB

È stato utile?

Soluzione

Questa domanda può ottenere molto vicino ad essere soggettiva (anche se non è realmente), si sta parlando di NoSQL come se fosse solo una cosa, e che non è il caso.

Hai

  • database del grafico (Neo4j ecc),
  • mappa / ridurre i database di documenti di stile (divano, Raven),
  • database di documenti che tentano di sentirsi come i database ordinarie (Mongo),
  • negozi chiave / valore (Cassandra etc)
  • Moar va qui.

Ognuno di loro cerca di risolvere un problema diverso tramite diversi mezzi, e se devi usare uno di loro nel corso di un archivio relazionale tradizionale è

  • Una questione di idoneità
  • Una questione di preferenze personali

Alla fine della giornata, per il principale dati-archiviazione per un singolo sistema, un database di documenti o negozio relazionale è probabilmente quello che volete, anche se per le diverse parti del sistema si può ben finire utilizzando un database grafico (per il calcolo vicini, ecc), o di un negozio chiave / valore (come Facebook fa / ha fatto per i messaggi di posta in arrivo).

Il principale vantaggio di scegliere un negozio di documento come il vostro negozio primario rispetto a quello di uno relazionale, è che non avete avuto modo di preoccuparsi di cercare di mappare gli oggetti in una collezione di tavoli, e c'è meno configurazione overhead coinvolto in tal modo.

L'altro aspetto negativo / a testa sarebbe che si deve imparare qualcosa di nuovo e gli errori fare lungo la strada.

Quindi la mia risposta, se ho intenzione di essere diretta?

  • RavenDB sarebbe adatto
  • SQL sarebbe adatto

Quale preferite da usare? In questi giorni mi sarei probabilmente solo andare per Raven, sapendo che posso scaricare i dati in un archivio relazionale ai fini della rendicontazione e, probabilmente, fare lo stesso per le altre parti del mio sistema, e ottenere di ricerca a testo libero e fastish-scrive / fast-legge senza andare attraverso lo sforzo di definire i negozi di lettura / scrittura separati è una vittoria complessiva.

Ma sono io, e io sono di parte.

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