Document database per le root di un DM?

rated by 0 users
This post has 1 Reply | 2 Followers

Top 50 Partecipanti
Maschio
Post 3
Punteggio 30

Sto studiacchiando la "filosofia" che sta alla base dei document database (come MongoDb e RavenDb per intenderci), anche spinto dal fatto che alcuni fenomeni del web come Amazon utilizzano archivi di questo tipo.

indipendentemente dai discorsi sulla natura documentale dei dati o la scalabilità delle prestazioni, mi sto domandando (facendo un volo pindarico mica da ridere): siccome un singolo documento è un oggetto anche complesso, non si potrebbe usare un db documentale (nosql come vengono chiamati) per archiviare le root di un domain model?

in fin dei conti in una modellazione orientata al domain model andrebbero individuate le root del nostro grafo e solo tramite di esse accedere al sottografo che ognuna identifica, individuando nella root una sorta di superclasse fatta di relazioni a "cascata".

questo anche in funzione del fatto che tecnologicamente l'implementazione di questi motori di archiviazione hanno un meccanismo che permette di individuare un "indice" (ovvero un puntatore riutilizzabile ad una lista di documenti dello stesso tipo) e solo successivamente eseguire query più specifiche su quell'indice, ottenendo proiezioni filtrate di tutto ciò che sta sotto l'indice (almeno così mi sembra funzioni RavenDb).

In questo modo "puntando" un indice su una root (ovvero ottenendo il "Repository<root>") è possibile poi querare su questo indice senza dover ovviamente tirare su tutto il sottografo che sarebbe da spararsi in termine di prestazioni (se poi tutto questo è fatto tramite il meccanismo di deferred execution di Linq e un pizzico di caching siamo a cavallo).

visto che sono solo all'inizio dello studio del nosql potrei star dicendo una manica di idiozie.

Top 10 Partecipanti
Maschio
Post 243
Punteggio 3.383

Risponde uno che ha solamente guardato al volo il concetto di "noSql". Secondo me Roberto è proprio quello l'uso di un NoSql, per lo meno "a tendere" nelle implementazioni future. Il mio sogno è avere finalmente un prodotto di archiviazione che implementi il Repository :), in maniera nativa. Stiamo a vedere cosa succede, perchè secondo me i tempi iniziano ad essere quantomeno maturi.

Purtroppo nel passato ci sono stati tentativi di fare database di tipo object, ma forse solo ora, con tutto l'interesse che ci sta verso il DDD ed in generale sempre più persone capiscono i vantaggi dell'object oriented, il mercato è pronto, e quando è pronto il mercato, probabilmente qualcuno inizierà a pensare di riempire quella nicchia.

Tra l'altro sarei curioso, avendo il tempo, di provare un approccio con nosql su qualche piccolo progetto, cosi da vedere in caso reale cosa ci si può fare, perchè sono molto curioso.

Staremo a vedere :)

alk.

  • | Punteggio Post: 5
Pagina 1 di 1 (2 elementi) | RSS
Powered by Community Server (Commercial Edition), by Telligent Systems