2016-03-31 7 views
1

In SQL-Datenbanken sind Daten um Tabellen herum organisiert. In CouchDB gibt es keine Tabellen. Wie würden Daten einer einzelnen Anwendung in CouchDB organisiert? Eine einzelne Datenbank, in der viele Dokumente einfach geworfen werden und dann mithilfe von Ansichten Daten gruppiert werden, die demselben Zweck dienen? Oder mehrere Datenbanken (klingt nicht richtig, aber in einigen Projekten gesehen) als SQL-Tabellen behandelt?Wie viele CouchDB Datenbanken pro Anwendung?

Antwort

3

Wie die meisten Dinge hängt es von Ihren Anwendungsanforderungen ab. Die Verwendung einer einzigen Datenbank kann einfacher sein, aber nicht immer.

Ich habe gesehen, wie Leute eine einzige Datenbank mit mehreren Designdokumenten verwenden, von denen jedes seine eigenen Ansichten definiert, die für einen bestimmten Dokumententyp relevant sind. Dies ermöglicht die Koexistenz mehrerer Dokumenttypen in einer einzelnen Datenbank. Eine einzelne Datenbank macht die Backup-Strategie erheblich einfacher.

Ich habe mehrere Datenbanken verwendet, um Dinge logisch nach Benutzer/Gruppe/Konto zu gruppieren. Wenn es wichtig ist, die Daten klar zu speichern und getrennt zu halten, könnte dies attraktiv sein. Ein weiterer Vorteil dieses Ansatzes besteht darin, dass Sie benutzerdefinierte Logik einfacher zwischen verschiedenen Arten von Kunden/Konten implementieren können. (natürlich, mit der Abwägung, dass Dinge zwischen all diesen unterschiedlichen Datenbanken treiben können)

Es gibt keine "richtige Antwort" auf diese Frage, wie ich schon sagte, es hängt von den Anforderungen Ihrer Anwendung ab. Ich würde mit einer einzigen Datenbank beginnen, aber offen sein, zu mehreren zu wechseln, wenn es sich besser für Ihre Daten anfühlt. CouchDB ist so flexibel :)