485 Stimmen

MongoDB oder CouchDB - geeignet für die Produktion?

Ich wollte fragen, ob mir jemand sagen kann, ob MongoDB o CouchDB sind bereit für eine Produktion Umwelt.

Ich schaue mir jetzt diese Speicherlösungen an (im Moment favorisiere ich MongoDB), allerdings sind diese Projekte noch recht jung, und so sehe ich voraus, dass ich meinen Vorgesetzten ziemlich hart davon überzeugen muss, dass wir diese neue Technologie übernehmen sollten.

Was ich gerne wissen möchte, ist:

  1. Wer nutzt heute MongoDB oder CouchDB in einer Produktionsumgebung?

  2. Wie verwenden Sie MongoDB/CouchDB?

  3. Auf welche Probleme sind Sie bei der Einführung dieses neuen Speichersystems gestoßen (und wie haben Sie sie gelöst)?

  4. Wie sind Sie mit den Problemen der Migration umgegangen, mit denen Sie konfrontiert waren?

  5. Haben Sie gute/schlechte Erfahrungen mit einer dieser Lösungen gemacht, die Sie gerne teilen möchten?

1voto

Sumit Bisht Punkte 1497

Wir verwenden derzeit mongodb als Dateispeicherdienst für unsere Zusammenarbeit über LAN. Außerdem werden Projekte wie trello verwenden Mongodb als Backend-Datenspeicher. Ich habe früher Couchdb verwendet, aber nicht in der Produktion.

0voto

Parvin Gasimzade Punkte 23145

Wir verwenden MongoDB in der Produktion in unserem mobilen Backend-Dienst, nämlich Netmera. Wir verwenden es, um alle Benutzer- und Inhaltsdaten zu speichern.

0voto

Nicholas TJ Punkte 1502

Ich verwende CouchDB jetzt seit fast 2 Jahren in der Produktion. Es gibt keine Migrationsarbeit, da das Projekt direkt mit der CouchDB-Implementierung begann. Es dient als Datenbank, die die Daten eines einzelnen elektronischen Produkts von Anfang bis zur Verpackung speichert.

Da wir Sensoren mit einem hohen Anspruch an die Genauigkeit verkaufen, führen wir viele Tests in verschiedenen Phasen durch und speichern diese in einem Dokument auf CouchDB.

Es gibt eine gewisse Lernkurve, die ich aus meiner Erfahrung gelernt habe, nämlich die Ansichten (oder auch als permanente Ansichten bekannt) voll auszunutzen. Ansichten sollten "kleine Filter" für einen Bruchteil der Datenbank sein, die häufig aufgerufen werden.

Meine CouchDB-Datenbank ist nicht so verrückt wie die anderer riesiger Unternehmen. Aber bis jetzt komme ich noch gut zurecht. Derzeit habe ich 24000 Dokumente mit 700MB.

Eine Funktion von CouchDB, die ich mag, ist die Replikation und das Speichern von Revisionen eines Dokuments.

Ich habe viele gute Kritiken über MongoDB gelesen und werde es ausprobieren, wenn sich die Gelegenheit ergibt.

0voto

Udit Punkte 309

Wir verwenden mongodb in der Produktion für

www.beachfront.io - fast 5k Schreibanfragen pro Sekunde www.beachfrontbuilder.com - 500 Lese-/Schreibanfragen pro Sekunde, 10 Mio. Benutzerdaten und Olap.

Die einzige Herausforderung, die sich bei der Archivierung von Daten stellte, haben wir durch die Implementierung unserer benutzerdefinierten Komponente überwunden.

0voto

Master Punkte 2915

Auf diese Frage wurde bereits eine Antwort gegeben, aber jetzt gibt es eine weitere NoSQL-DB liegt wegen vieler seiner großartigen Funktionen im Trend. Es ist Couchbase ; die als CouchbaseLite auf der mobilen Plattform und Couchbase Server auf Ihrer Server-Seite.

Hier sind einige der Hauptmerkmale von Couchbase Lite.

Couchbase Lite ist eine leichtgewichtige, dokumentenorientierte (NoSQL), synchronisierbare Datenbank-Engine, die sich für die Einbettung in mobile Anwendungen eignet.

Leichtgewicht bedeutet:

Eingebettet - die Datenbank-Engine ist eine Bibliothek, die mit der Anwendung verknüpft ist, kein separater Serverprozess. Kleine Codegröße - wichtig für mobile Anwendungen, die oft über Mobilfunknetze heruntergeladen werden. Schnelle Startzeit - wichtig, da mobile Geräte relativ langsame CPUs haben. Geringer Speicherbedarf - die typischen mobilen Datensätze sind relativ klein, aber einige Dokumente können große Multimedia-Anhänge enthalten. Gute Leistung - die genauen Zahlen hängen natürlich von Ihren Daten und Ihrer Anwendung ab.

Dokumentorientiert bedeutet:

Speichert Datensätze im flexiblen JSON-Format, anstatt vordefinierte Schemata oder Normalisierung zu erfordern. Dokumente können binäre Anhänge beliebiger Größe enthalten, z. B. Multimedia-Inhalte. Das Format der Anwendungsdaten kann sich im Laufe der Zeit weiterentwickeln, ohne dass explizite Migrationen erforderlich sind. MapReduce-Indizierung ermöglicht schnelle Suchvorgänge, ohne dass spezielle Abfragesprachen verwendet werden müssen.

Synchronisierbar bedeutet:

Zwei beliebige Kopien einer Datenbank können über einen effizienten, zuverlässigen und bewährten Replikationsalgorithmus synchronisiert werden. Die Synchronisierung kann nach Bedarf oder kontinuierlich erfolgen (mit einer Latenzzeit von wenigen Sekunden). Geräte können mit einer Teilmenge einer großen Datenbank auf einem entfernten Server synchronisiert werden. Die Sync-Engine unterstützt intermittierende und unzuverlässige Netzwerkverbindungen. Konflikte können erkannt und aufgelöst werden, wobei die App-Logik die volle Kontrolle über die Zusammenführung hat. Revisionsbäume ermöglichen komplexe Replikationstopologien, einschließlich Server-zu-Server (für mehrere Rechenzentren) und Peer-to-Peer, ohne Datenverlust oder falsche Konflikte. Couchbase Lite bietet native APIs für nahtlose iOS (Objective-C) und Android (Java) Entwicklung. Darüber hinaus enthält es das Couchbase Lite Plug-in für PhoneGap, mit dem Sie iOS- und Android-Apps erstellen können, die Sie mit vertrauten Web-Anwendungsprogrammierungstechniken und dem PhoneGap Mobile Development Framework entwickeln.

Weitere Informationen finden Sie unter Couchbase Lite

Couchbase Server

Das wird das nächste große Ding.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X