Frage

Ich habe mich gefragt, ob jemand kann mir sagen, ob MongoDB oder CouchDB ist bereit für eine Produktion Umwelt.

Ich bin jetzt an diesen Speicherlösungen suchen (Ich bin Begünstigung MongoDB im Moment), jedoch sind diese Projekte sehr jung und so sehe ich, dass ich arbeite sehr schwer haben werde meinen Manager zu überzeugen, dass wir nehmen soll diese neue Technologie.

Was ich möchte wissen, ist:

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

  2. Wie verwenden Sie MongoDB / CouchDB?

  3. Welche Probleme (falls vorhanden) haben Sie stoßen, wenn Sie diesen neuen Speichermechanismus angenommen (und wie man sie überwanden)?

  4. Wie haben Sie mit allen möglichen Migrationsfragen befassen, die Sie mit zu tun haben?

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

War es hilfreich?

Lösung

Ich bin der CTO von 10gen (Entwickler von MongoDB), so bin ich ein bisschen voreingenommen, aber ich schaffe auch ein paar Seiten, die MongoDB in der Produktion verwenden.

business wurde in der Produktion seit mehr als einem Jahr mit Mongo. Sie nutzen es für alles von den Benutzern und Blog-Posts, zu jedem Bild auf der Website.

ShopWiki ist es für ein paar Dinge, einschließlich Echtzeit-Analysen und eine Caching-Schicht verwendet wird. Sie machen mehr als 1000 Schreibvorgänge pro Sekunde auf eine ziemlich große Datenbank.

Wenn Sie gehen auf die mongodb Produktion Deployments Seite einige sehen werden Menschen, die mongo in der Produktion verwenden.

Wenn Sie Fragen über den Umfang oder den Umfang der Produktionsimplementierungen, Posten auf unserer Benutzerliste und wir werden mehr als glücklich zu helfen.

Andere Tipps

Die BBC und meebo.com CouchDB in der Produktion verwenden und so auch einer meiner Kunden. Hier ist eine Liste der Leute mit Couch: CouchDB im wilden

Die große Herausforderung ist, zu wissen, wie Sie Ihre Dokumente zu organisieren und in Bezug auf relationale Daten aufhören zu denken.

Wir laufen CouchDB als replacemant für MySQL für unsere Geschäfte (70,0000 Artikel / shop, insgesamt 4.000.000 Attribute aller Elemente, Querverbindungen zwischen den einzelnen Posten).

Unsere Ziele waren:

  1. Einfache Replikation von einem Master-db bis zu mehreren Kunden mit verschiedenen Dokumenten.

  2. Fast vorberechnete Daten wie „wie viele Teile ich mit diesem Attribute habe und diese Filter, um diese Bedingungen passend“

Fakten:

  1. Unsere Geschäfte jetzt viel schneller als mit MySQL (und MySQL-Datenbank benötigt Additionaly 1-3 Tage der Vorausberechnen ausgeführt werden (so war die Aktualisierung zweimal im Monat), so dass die Daten bereit für Produktzählung und Filterung, CouchDB benötigt 5 Stunden, und so können wir Produktdaten jede Nacht)
  2. aktualisieren
  3. Einrichten (gefiltert) Datenverteilung und Sicherungen zum Shop Knoten ist schnell und einfach

aber auch:

  1. Legendes Karte / reduzieren und die Grenzen nicht mit Joins ist ziemlich hart
  2. Keine Operation auf Daten wie „streichen“ oder „Update wo“ ohne externe Programme
  3. Replikation funktioniert gut, es sei denn, es gibt ein Problem; es ist wirklich schwer, um dann herauszufinden, was der Grund dafür war, (für Anfänger)
  4. Die Installation von CouchDB ohne Binärdateien (ja es ein einig in der freien Natur ist, aber nicht für jedes O / Version) könnte schwierig sein, wenn Sie nicht ein Aussenseiter Linux sind. Aber die CouchDB Gemeinschaft ist hilfreich (#couchdb), und zum Glück gibt es Unternehmen gibt (cloudant, iriscouch), die Dienstleistungen von frei zu großen Geschäft bieten.
  5. CouchDB ist in Bewegung, so dass es wird eine Menge Veränderungen (Verbesserungen) an, dass sie vielleicht ändern, wie Sie arbeiten. Aber grundlegende Dinge stabil bleiben.

Als Ergebnis: MySQL als Datenbank für die Datenerstellung und Pflege ist zuverlässig und einfach zu verstehen und zu handhaben. Ich denke, wir werden das nicht ändern. Aber ich will auch nicht die Macht der CouchDB Ansichten und die einfache Replikation Setup verpassen.

Produktion Liegen verursacht manchmal Probleme nach Monaten der Arbeit wegen Fehlkonfiguration und vergessen logrotates (Ansicht Gebäude zu lange dauert oder hängt, Replikation stoppt), aber nie verloren gegangene Daten, und immer zurückgesetzt werden könnte leicht.

Ich bin mit CouchDB in der Produktion. Derzeit speichert er all diese ‚optional‘ Felder, die nicht in dem ursprünglichen DB-Schema waren. Und jetzt denke ich über alle Daten zu CouchDB zu bewegen.

Es ist durchaus ein riskanter Schritt, gebe ich zu. Zum einen, weil es noch nicht v1.0. Und zweitens, weil es DriveSpace--hungrig ist. Nach meinen Berechnungen, CouchDB-Datei (mit Indizes) ist ~ 30-mal größer als MySQL-Datenbank mit den gleichen Reihen. Aber ich bin ziemlich sicher, dass es funktionieren wird gut.

CouchDB 0,11 (am Ende März veröffentlicht) ist ein Feature-Freeze-Release für 1.0. Dies bedeutet, dass wir die Kompatibilität mit den aktuellen API werden beibehalten werden für 1,0, so ist jetzt eine gute Zeit, einen Blick auf CouchDB zu nehmen, wenn Sie nicht in einer Weile haben.

Die CouchDB 0,11 Quellcode-Release finden Sie hier. Es gibt hier verknüpften binären Installateure und andere Leckereien

Ich weiß nichts über MongoDB, sondern aus der CouchDB FAQ :

  

Ist CouchDB bereit für die Produktion?

     

Ja, finden Sie unter InTheWild für eine unvollständige Liste von Projekten mit CouchDB. Eine weitere gute Übersicht ist CouchDB Case Studies

Auch einige Verbindungen:

Wir verwenden couchdb in der Produktion und haben seit kurz vor dem Projekt unter dem Apache-Dach ging.

Wir verwenden es, alles zu speichern, die wir sonst vielleicht einen DBMS verwenden, sowie alle Arten von unstrukturierten Daten. Persönlich mag ich wirklich, wie kann man einfach alle Arten von Daten in sie werfen und die Ansichten verwenden keulen, was Sie brauchen nicht auf die Situation abhängig.

Der schwierigste Teil bewegte sich weg von der dbms Mentalität. Wir schrieben unsere eigene Migration utils, wenn das Speicherformat nur geändert, sicher zu sein, so dass nicht wirklich ein Problem war.

Wir haben keine negativen Erfahrungen noch haben, aber dann wieder haben wir nicht das Setup unter irgendeiner Art von großer Last haben. I denkt Dinge würden ziemlich gut funktionieren, da wir zwei Slave-Server haben, die von einem einzigen Master-Server replizieren, die alle des Schreib bekommt. Ich bin mir ziemlich sicher, dass wir es nicht tun müssen, um auf diese Weise für die Replikation korrekt zu arbeiten, aber es ist, wie wir es setzten am Anfang und es steckte.

Wir verwenden CouchDB speichern Handy ein- und ausgehenden Nachrichten und auf diesen Verkehr über einige benutzerdefinierte Ansichten zu berichten, die ich geschrieben habe. Das Front-End ist in Python geschrieben. Wir hatten keine echten technischen Probleme, und es seit Ende Dezember bereits läuft. Die einzige Hürde die ich gestoßen war zunächst in Bezug auf MapReduce denken, aber sobald ich gelernt, wie das zu tun, ging alles reibungslos.

Wir sind derzeit MongoDB in der Produktion als Caching-Schicht sowie Speicher-Engine für das Produkt importieren und Produktdaten zu manipulieren. Wir sind ein E-Commerce-Unternehmen über zwei Millionen Produkte Verwaltung (100 Millionen Attribute), Spanning 10 + Distributoren und ohne MongoDB, würde diese Aufgabe unmöglich nähern werden.

Wir sind derzeit mongodb als Datei-Storage-Service für unsere Zusammenarbeit über LAN. Auch Projekte wie Trello verwenden mongodb als Back-End-Datenspeicher. Ich habe couchdb früher, aber nicht in der Produktionskapazität verwendet wird.

Wir sind mit MongoDB in der Produktion in unserem mobilen Back-End-Dienst nämlich Netmera. Wir verwenden es alle Benutzer zu speichern und Inhaltsdaten.

Ich habe seit fast 2 Jahren in der Produktion jetzt mit CouchDB gewesen. Es gibt keine Migrationsarbeit, da das Projekt direkt mit CouchDB Umsetzung begonnen. Es dient als Datenbank, die die Daten eines einzigen elektronischen Produkts von Anfang bis Verpackung speichert.

Da wir Sensor mit einem Bedarf an hohen Genauigkeit verkaufen, tun wir eine Menge Tests bei verschiedenen Bühnen- und alle diese werden in ein Dokument auf CouchDB gespeichert werden.

Es gibt einige Einarbeitungszeit, die ich aus meiner Erfahrung gelernt, die volle Nutzung der Ansichten (oder auch bekannt als permanente Ansichten) zu machen. Ansichten sollten „kleiner Filter“ von einem Bruchteil der Datenbank sein, die oft genannt werden.

Mein CouchDB databse ist nicht so verrückt wie andere gigantische Unternehmen. Aber so weit, ich mache immer noch in Ordnung. Ich habe zur Zeit 24000 Dokumente zu 700MB.

Eigenschaft von CouchDB, Ich mag ist ‚Replikation‘, "Speicher Revisionen eines Dokuments.

würde ich viele gute Kritiken auf MongoDB lesen und ich werde es versuchen wollen, wenn eine Chance gibt.

Wir sind mit mongodb in der Produktion für

www.beachfront.io - in der Nähe 5k Schreibanforderung pro Sekunde www.beachfrontbuilder.com -. 500 Lese- / Schreibanforderung pro sec, 10m Benutzer Daten & olap halten

Die nur um die Archivierung von Daten konfrontiert Herausforderung, überwinden wir durch unsere eigene Komponente zu implementieren.

Diese Frage wird bereits Antwort akzeptiert, aber jetzt Tage noch eine NoSQL DB ist in Trend für viele von seinen umfangreichen Möglichkeiten. Es ist Couchbase; die läuft als CouchbaseLite auf mobile Plattform und Couchbase Server auf Server-Seite.

Hier sind einige der wichtigsten Features von Couchbase Lite.

Couchbase Lite ist ein leichter, dokumentenorientierte (NoSQL), synchronisierbar Datenbank-Engine geeignet ist, in mobile Anwendungen eingebettet werden.

Leichtbau bedeutet:

Embedded-die Datenbank-Engine ist eine Bibliothek, in der App verknüpft, kein separater Server-Prozess. Kleine Code-Größe-wichtig für mobile Anwendungen, die oft über Mobilfunknetze heruntergeladen werden. Schnellstartzeit wichtig, da mobile Geräte relativ langsame CPUs haben. Niedrige Speicherauslastung-typische mobile Datensätze sind relativ klein, aber einige Dokumente könnten große Multimedia-Anhänge haben. Gute Performance-genaue Zahlen hängen von Ihren Daten und Anwendungen, natürlich.

dokumentenorientierte Mittel:

Speichern Datensätze in flexible JSON-Format statt erfordern vordefinierten Schemata oder Normalisierung. Dokumente können mit beliebiger Größe binäre Anlagen haben, wie Multimedia-Inhalte. Anwendungsdatenformat kann, ohne dass eine explizite Migrationen im Laufe der Zeit entwickeln. MapReduce Indizierung ermöglicht eine schnelle Lookups, ohne dass spezielle Abfragesprachen verwenden.

Synchronisierbare bedeutet:

Jede zwei Kopien einer Datenbank kann über eine effiziente, zuverlässige, bewährte Replikationsalgorithmus in sync gebracht werden. Sync kann auf Anforderung oder kontinuierlich sein (mit einer Latenzzeit von wenigen Sekunden). Die Geräte können mit einer Teilmenge aus einer großen Datenbank auf einem Remote-Server synchronisieren. Die Sync-Engine unterstützt intermittierende und unzuverlässige Netzwerkverbindungen. Konflikte können mit App-Logik in der vollen Kontrolle über Verschmelzen erkannt und aufgelöst werden. 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 eine nahtlose iOS (Objective-C) und Android (Java) Entwicklung. Darüber hinaus enthält es die Couchbase Lite Plug-in für PhoneGap, die Sie iOS und Android Apps, die Sie entwickeln, indem sie mit vertrauten Web-Anwendungsprogrammiertechniken und die PhoneGap mobilen Entwicklungs-Framework.

erstellen können

Sie können mehr erkunden auf Couchbase Lite

und Couchbase Server

Dies ist auf die nächste große Sache geht.

Beim Reden Produktion, nahtloses Failover / Recovery erfordert sowohl einen Babysitter
1- Couchbase gibt es keine nahtlose Failover / Recovery, ist ein manueller Eingriff erforderlich.
Rebalancing nimmt zu viel Zeit, zu viel Risiko, wenn mehr als ein Knoten verloren gehen.

2- Mongo mit Scherben, Datenwiederherstellung von einem Konfigurationsserver zu verlieren, ist keine leichte Aufgabe

Adobe wird mit MongoDB für ihre bevorstehende Veröffentlichung von Adobe Experience Manager (früher Day CQ ) als Kern DB-Motor.

Mehrere Kunden bei der Agentur ich bei der Arbeit mit CouchDB auf Projekte für Großkunden.

Beide sind große und tragfähige DBs, meiner Meinung nach. :)

Hier ist eine Liste der Produktion eingesetzt Standorte mit mongoDB

  • Die New Yorker Zeiten : es ist in einem form Bauantrag Verwendung für Foto Einreichungen. Mongo Mangel an Schema gibt den Herstellern die Möglichkeit, eine beliebige Kombination von benutzerdefinierten Formularfelder zu definieren.
  • Source :. Ist für Back-End-Speicher auf den Sourcetitelseiten, Projektseiten und Download-Seiten für alle Projekte verwendet
  • Bit.ly
  • Etsy
  • IGN . Befugnisse IGN Echtzeit-Verkehrsanalyse und RESTful APIs Inhalt
  • Justin.tv . Befugnisse Justin.tv interne Analysetools für virality, Kundenbindung und allgemeine Nutzungsstatistiken, die out-of-the-Box-Lösungen nicht bieten können
  • Posterous
  • Intuit
  • Foursquare :. Sharded Mongo Datenbanken sind für die meisten Daten bei viereckig verwendet
  • Business Insider :. Es seit Anfang 2008 alle Daten der Website, einschließlich der Beiträge, Kommentare und sogar die Bilder werden auf MongoDB gespeichert
  • Github :. Ist für eine interne Reporting-Anwendung verwendet
  • Prüfer . Migriert ihre Website von Cold Fusion und SQL Server zu Drupal 7 und MongoDB
  • Groove :. Verwendet derzeit Mongo mehr als eine Million Unique User Sessions pro Tag verwalten
  • Buzzfeed
  • Discus
  • Evite . Wird für die Analytik und schnelle Berichterstattung
  • Squarespace
  • Shutterfly : wird für verschiedene persistente Datenspeicheranforderungen innerhalb Shutterfly verwendet. MongoDB hilft Shutterfly einen unvergleichlichen Service aufzubauen, die tieferen, persönliche Beziehungen zwischen Kunden und diejenigen, die am meisten in ihrem Leben Materie ermöglicht.
  • Topsy
  • Sharethis
  • Mongohq : bietet eine Hosting-Plattform für MongoDB und verwendet auch MongoDB als Back-End für seinen Service. Unsere Hosting-Zentren Seite weitere Informationen über MongoHQ und andere MongoDB-Hosting-Optionen zur Verfügung stellt.

und mehr ...

Extrahiert aus: http://lineofthought.com/tools/mongodb

Sie können auch andere Datenbanken oder Tools dort überprüfen.

MongoDB hat einige Probleme bei der Lizenzierung für Unternehmen, bin ich nicht sicher, ob die Details aber unsere Rechtsabteilung sagte uns in keine bestimmte Begriffe, die wir waren nicht erlaubt MongoDB in einem unserer Produkte zu verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top