Ich werde eine E-Commerce-Website erstellen und möchte eine No-SQL-Datenbank verwenden, die gut mit den Plänen für die App passt. Aber wenn es darum geht, welche Datenbank zum Job passt, bin ich mir nicht sicher. Nach dem Vergleich verschiedener DBs, könnten diejenigen, die am besten scheinen, entweder Mongo, Couch oder Orientdb sein. Ich habe Argumente dafür gesehen, dass sie im Vergleich zu etwas wie MySQL verwendet oder nicht verwendet werden. Aber untereinander (Nosql-Datenbanken), was würde man gut mit einer E-Commerce-Lösung verbinden?NoSQL-Datenbank für E-Commerce
Hinweis, für den Anwendungsfall habe ich Tausende Transaktionen pro Sekunde. Oder ähnlich hohe Schreibraten. Sie werden einigermaßen sicher sein, aber auf einer Ebene, die jede etablierte Datenbank bewältigen könnte.
CouchDB: Hat Master, Replikation zu meistern, die ich wirklich verwenden konnte. Wenn nicht, muss ich immer noch die gleiche Funktionalität im Code implementieren. Ich brauche eine Benutzerdatenbank, die mit dem Mutterschiff synchronisiert werden kann. (Benutzer haben ihre eigene, möglicherweise lokale Host-Datenbank, die mit dem Hauptdomänen-Server synchronisiert werden kann). Couch ist auch schnell, sobald Ihre Abfragen in der Datenbank gespeichert wurden. Da ich wahrscheinlich eine höhere Leseleistung haben werde. Obwohl nicht viel.
MongoDB: Abfragen sind sehr einfach und benutzerfreundlich. Auch mit der Tatsache, dass Endbenutzer möglicherweise zu einem bestimmten Zeitpunkt nach bestimmten Dingen fragen müssen, die ich möglicherweise nicht im Voraus erklären kann, scheint dies besser zu passen. Ich muss meine Abfragen nicht vorher in der Datenbank speichern. Unterstützt atomare Transaktionen, jedoch nur beim Schreiben in ein einzelnes Dokument.
OrientDB: Eine Graphdatenbank. viel anders, als die meisten Menschen gewohnt sind, aber mit den Bedürfnissen könnte es auch sehr gut passen. Orient hat die Vorteile, schemaläßig zu sein und Unterstützung für ACID-Transaktionen zu haben. Es gibt eine Menge Kunden- und Produktbeziehungen, mit denen eine Graphdatenbank sehr gut sein könnte. Orientieren Sie sich auch Master zu Master-Replikation, ähnlich wie Couchdb.
Versteh mich nicht falsch, ich kann sehen, wie man dies traditionell mit etwas wie MySQL, aber die Leichtigkeit und Einfachheit einer Nosql-Lösung, ist sehr attraktiv. Obwohl in meinem Fall, eine schemalose Lösung zu brauchen, wäre viel einfacher in Nosql als in Mysql. Ein bestimmtes Produkt kann mehr oder weniger Elemente als ein anderes haben. und es ist vorzuziehen, eine Tabelle immer dann neu zu erstellen, wenn ein neues Feld hinzugefügt wird.
Also, zwischen diesen 3 (oder sogar anderen, die Sie vielleicht besser finden), welche Funktionen in jedem könnte für oder gegen mich in Bezug auf eine E-Commerce-basierte Website arbeiten, wenn es um Kundentransaktionen handelt?
Edit: Der Grund, warum ich keine bestehende Lösung verwende, ist, dass mit den integrierten Funktionen, die ich brauche, keine Lösungen verfügbar sind. Wir haben auch das Ziel, dies als vollwertiges Produkt für unser Unternehmen zu nutzen. Es wird eine Handvoll anderer Integrationen als nur Verkäufe geben. Es wird auch mit dem POS-System eines Ladens arbeiten.
Gehen Sie auf SQL + Solr/ElasticSearch. SQL für moderate Abfrage/Schreibrate, Datensicherheit und Transaktionssicherheit (wer möchte, dass zwei DB-Knoten dasselbe an zwei verschiedene Leute verkaufen?). Und Solr/ElasticSearch für flexible (oder nicht) Schema, sehr leistungsfähige Ad-hoc-Abfragen und wirklich schnell zu suchen. Sie können Ihre SQL DB möglicherweise jeden Abend in einer einzigen Datei sichern. – aitchnyu
@aitchnyu Ich bin mir nicht sicher, ob Sie die Verwendung von SQL so gut rechtfertigen. Was meinst du mit "zwei DB-Knoten, um dasselbe an zwei verschiedene Leute zu verkaufen"? – Sammaye
Es gibt eine Open-Source-E-Commerce-Plattform, die MongoDB verwendet. Schau es dir an: getfwd.com –