2013-04-28 17 views
6

Obecnie rozwijam aplikację w pliku node.js. Mam bazę danych Postgres/PostGIS do przechowywania informacji geoprzestrzennych i renderowania ich jako SVG. To działa dobrze do tej pory. Z drugiej strony mam bazę danych CouchDB wypełnioną danymi, z poprzedniego projektu.Używanie wielu baz danych w tej samej aplikacji

Chciałbym połączyć te dane z danymi geoprzestrzennymi z postgis za pośrednictwem node.js, ale nie jestem pewien, jak postępować ze strukturą moich baz danych.

Czy dobrze jest pracować z dwoma różnymi typami baz danych - nawet paradygmatami - w jednej aplikacji? Czy lepiej jest przekształcić dane z jednej db do drugiej?

BTW: To jest wyłącznie projekt hobby.

+0

Jeśli nie używasz replikacji lub funkcji kanałów w couchdb, po prostu zrzuciłbym go i użyłbym postgresql do wszystkiego. Powód, dlaczego ludzie najczęściej korzystają z wielu baz danych, ponieważ oferują różne funkcje. – Pickels

Odpowiedz

7

Nie ma nic złego w uzyskiwaniu dostępu do dwóch baz danych z jednej aplikacji. Jest to często używany model. Często zdarza się, że serwer Node ma dostęp zarówno do Mongodb, jak i Redis, wykorzystując każdy ze swoich mocnych stron. Musisz tylko powiązać relacje danych w swojej aplikacji zamiast w bazie danych.

Węzeł jest szczególnie przydatny w aplikacjach z wieloma bazami danych, ponieważ można jednocześnie uzyskać dostęp do wielu zasobów. Pakiet async ułatwia wysyłanie zapytań do wielu baz danych w tym samym czasie i łączenie wyników. Jest to coś, co synchroniczne serwery zwykle robią w kolejności, czekając na jeden wynik przed wysłaniem zapytania na drugi wynik. Jeśli więc w pełni wykorzystasz możliwości Node, będziesz miał lepsze doświadczenie uzyskiwania dostępu do wielu źródeł danych, niż z wielu innych popularnych platform do tworzenia stron internetowych.

+0

Dziękuję za odpowiedź, bardzo pomocne było usłyszeć profesjonalną opinię w tej sprawie. –