2012-05-20 16 views
12

Pracowałem z MySQL więcej niż MongoDB, ale z tego, czego nauczyłem się od MongoDB, to właśnie to, czego potrzebowałem, ale ma również ograniczenia, które może wykonywać MySQL (na przykład auto inkrementacja)Używanie MySQL i Mongodb razem

Czy byłoby mądrze używać MongoDB do wszystkiego i używać MySQL tylko do pewnych rzeczy?

Na przykład użyj MongoDB do przechowywania użytkowników i wszystkiego innego, ale używaj MySQL do tworzenia np. Systemu biletowego.

+0

To zależy od pracy. Na przykład funkcja Auto-Increment nie jest wystarczającym powodem, dla którego warto dodać kolejną bazę danych. Ale nie ma w zasadzie nic złego w posiadaniu dwóch różnych dbs, jeśli ich potrzebujesz. – joshp

+0

Tak, używam go do czegoś więcej niż po prostu, ja tylko dawałem przykład. Dzięki. – unlucky4ever

Odpowiedz

15

Brzmi całkowicie rozsądnie używać dwóch technologii baz danych w jednym projekcie. Tylko upewnij się, że używasz odpowiedniego narzędzia do pracy.

Powszechnie używa się MySQL jako podstawowej pamięci masowej, a MongoDB jako pamięci podręcznej/pośredniej dla szybkości.

Możesz na przykład mieć dane intensywnie czytające w MongoDB. Dane do generowania raportów są idealne dla systemu relacyjnego, takiego jak MySQL.

+0

Czy często używa się dwóch różnych baz danych? – unlucky4ever

+0

Dwa różne rodzaje bazy danych, na przykład obiektowy i relacyjny ... – aleroot

+0

Dzięki, dowiedziałem się, że powinienem używać MySQL jako mojej głównej bazy danych i używać MongoDB do innych rzeczy, zacznę konwertować aplikacja :) (nie martw się, to jest małe) – unlucky4ever

4

Istnieje dość dobra dyskusja na temat przypadków użycia dla MongoDB na głównym MongoDB site. Zasadniczo, jeśli Twoja sprawa biznesowa obejmuje potrzebę transakcji i ciężkiej funkcji T-SQL, lepiej być obsłużonym przy użyciu RDBMS, takiego jak MySQL.

Dobre wykorzystanie Obudowy dla MongoDB są następujące: 1) Twoje dane są w formacie dokumentu, tj nieregularnej strukturze w pojedynczych dokumentów (czyli dane nie muszą być połączone) 2) Państwo rozważają za pomocą płaski system plików (ponownie ze względu na strukturę danych), ale chciałbyś "więcej" pod względem możliwości indeksowania/wysyłania zapytań o te dane. 3) Twój projekt znajduje się w stanie, w którym naprawdę nie wiesz, jaki będzie ostatecznie schemat lub struktura twoich danych. 4) Masz wyspecjalizowane typy danych, takie jak dane geo-przestrzenne, i chcesz mieć możliwość odpytywania. 5) Może zaistnieć potrzeba szybkiego i taniego skalowania miejsca przechowywania danych.

+0

Chcę tylko powiedzieć, że punkt 3 niekoniecznie jest dobrym przykładem użycia dla Mongo. Powiedziałbym, że MySQL byłby o wiele lepszy w tej sytuacji. Chociaż jeśli nie masz pojęcia, jak powinna wyglądać twoja baza danych, nie powinieneś rozpoczynać rozwoju swojego projektu, dopóki tego nie zrobisz. –

+0

@JohnHarding nie jest takie proste. Znalazłem się w projekcie, w którym model nie może być w pełni opisany i wymaga ciągłych aktualizacji. W tym przypadku znacznie łatwiej było mi pracować z Mongo. –

2

Tutaj jest dobrze wpisany dyskusja wykorzystania MongoDB, przez kogoś, kto wziął PRZEDMIOTY MongoDB

Considerations for choosing or not choosing MongoDB

Bloger głównie mówi, że przy użyciu MongoDB z innymi systemami DB jest w porządku, ale go używać systemu szeroki , może być bardzo trudne i prawie niemożliwe w niektórych scenariuszach.

Oto napisy:

powodów, aby wybrać Mongo

  • zorientowanych dokumentów i schemaless
  • Skalowalność w poziomie i wysokiej dostępności
  • Szybko pisze w fire-i- Tryb zapomnienia
  • Kompleksowe kwerendy i Aggre wyjaśniającego ramowa
  • Stosunkowo intuicyjna architektura

powodów, aby nie wybierać Mongo

  • No SQL = brak przyłącza
  • transakcji
  • Kwasu
  • indeksów nie pasowałby do pamięci
Powiązane problemy