Będę budować witrynę e-commerce i chciałbym korzystać z bazy danych bez sql, która będzie dobrze pasować do planów tej aplikacji. Ale jeśli chodzi o to, która baza danych pasowałaby do zadania, nie jestem pewien. Po porównaniu różnych DB, najlepsze wydają się mongo, couch, a nawet orientdb. Widziałem argumenty, aby wszystkie były używane lub nie używane w porównaniu do czegoś takiego jak MySQL. Ale między sobą (z bazami danych nosql), który pasowałby do rozwiązania e-commerce?Baza danych NoSQL dla handlu elektronicznego
Uwaga, w przypadku użycia, nie będę mieć tysiące transakcji na sekundę. Lub podobnie wysokie szybkości zapisu. będą umiarkowani pewni, ale na poziomie, który mogłaby obsłużyć dowolna ustalona baza danych.
CouchDB: Ma master do master replikacji, której naprawdę mogłem używać. Jeśli nie, to i tak będę musiał zaimplementować tę samą funkcjonalność w kodzie. Potrzebuję mieć bazę danych użytkowników, zsynchronizować się ze statkiem-matką. (użytkownicy będą mieli własną, potencjalnie lokalną bazę danych, która może być zsynchronizowana z głównym serwerem domen). Kanapa jest również szybka, gdy twoje zapytania zostaną zapisane w db.As prawdopodobnie będę potrzebował większej wydajności odczytu. Chociaż nie przez wiele.
MongoDB: zapytania są bardzo proste i przyjazne dla użytkownika. Ponadto, z uwagi na to, że użytkownicy końcowi mogą potrzebować zapytać o określone rzeczy w danym momencie, których nie jestem w stanie uwzględnić z wyprzedzeniem, wydaje się, że może to być lepsze dopasowanie. Nie muszę przechowywać moich zapytań w bazie danych. Obsługuje transakcje atomowe, ale tylko w przypadku pisania do pojedynczego dokumentu na raz.
OrientDB: Baza danych wykresów. znacznie różni się to, do czego przyzwyczajają się większość ludzi, ale z potrzebami może też dobrze pasować. Orient ma zalety bycia bezmyślnym, a także ma wsparcie dla transakcji ACID. Istnieje wiele relacji klientów i produktów, z którymi baza danych wykresów może być świetna. Orient obsługuje także replikację master-master, podobnie jak w couchdb.
Nie zrozumcie mnie źle, widzę, jak budować to tradycyjnie za pomocą czegoś takiego jak MySQL, ale łatwość i prostota rozwiązania nosql jest bardzo atrakcyjna. Mimo to, w moim przypadku, potrzebujące rozwiązania odrealniającego byłoby znacznie łatwiejsze w nosql niż mysql. dany produkt może mieć więcej lub mniej przedmiotów niż inny. i unikanie ponownego tworzenia tabeli za każdym razem, gdy dodawane jest nowe pole, jest preferowane.
Pomiędzy tymi 3 (lub nawet innymi, które Twoim zdaniem mogą być lepsze), jakie funkcje w każdej z nich mogą potencjalnie pracować, lub przeciwko mnie, jeśli chodzi o stronę e-commerce, w przypadku transakcji z klientami?
Edytuj: Powodem, dla którego nie używam istniejącego rozwiązania, jest to, że dzięki zintegrowanym funkcjom, których potrzebuję, nie ma dostępnych rozwiązań. Chcemy również wykorzystać to jako pełny produkt dla naszej firmy. Będzie kilka innych integracji niż tylko sprzedaż. Będzie również pracować z systemem POS sklepu.
Przejdź do SQL + Solr/ElasticSearch. SQL dla umiarkowanego tempa zapytań/zapisu, bezpieczeństwa danych i bezpieczeństwa transakcji (kto chce dwa węzły DB sprzedać to samo dwóm różnym osobom?). I Solr/ElasticSearch dla elastycznego (lub nie) schematu, bardzo przydatnych zapytań ad-hoc i naprawdę szybkiego wyszukiwania. Możesz ewentualnie wykonać kopię zapasową SQL DB do jednego pliku każdej nocy. – aitchnyu
@aitchnyu Nie jestem pewien, czy dobrze uzasadniasz użycie SQL. Co rozumiesz przez "dwa węzły DB sprzedające to samo dwóm różnym osobom"? – Sammaye
Istnieje platforma e-commerce typu open-source, która używa MongoDB. Sprawdź to: getfwd.com –