2013-04-28 1 views
6

Attualmente sto sviluppando un'applicazione in node.js. Ho un database Postgres/PostGIS per memorizzare informazioni geospaziali e renderle come SVG. Funziona bene finora. Dall'altra parte ho un database CouchDB pieno di dati, da un progetto precedente.Utilizzo di più database all'interno della stessa applicazione

Mi piacerebbe combinare questi dati con i dati geospaziali di postgis tramite node.js, ma non sono sicuro su come procedere con la struttura dei miei database.

È una buona idea lavorare con due diversi tipi di database - anche paradigmi - in un'unica applicazione? O è meglio trasformare i dati da un db all'altro?

BTW: Questo è un progetto puramente hobby.

+0

Se non si utilizza la replica o la funzione di feed in couchdb, vorrei semplicemente scaricarlo e utilizzare postgresql per tutto ciò nonostante. Il motivo per cui le persone utilizzano principalmente più database è perché offrono funzionalità diverse. – Pickels

risposta

7

Non c'è niente di sbagliato nell'accedere a due database da una sola applicazione. È un modello usato frequentemente. Non è raro che un server Node acceda sia a Mongodb che a Redis, usando ognuno per i propri punti di forza. Devi solo legare le relazioni dati nella tua app anziché nel database.

Il nodo è particolarmente adatto per applicazioni multi-database poiché è possibile accedere a più risorse contemporaneamente. Il pacchetto async semplifica la ricerca di più database contemporaneamente e unisce i risultati. Questo è qualcosa che i server sincroni tipicamente fanno in ordine, in attesa di un risultato prima di inviare la query per il secondo risultato. Quindi, se sfrutti appieno le potenzialità di Node, avrai una migliore esperienza nell'accesso a più fonti di dati, quindi faresti parte di molte altre popolari piattaforme di sviluppo web.

+0

Grazie per la risposta, è stato molto utile ascoltare un'opinione professionale su tale questione. –