2012-05-18 33 views
5

Staram się zbudować system do pracy z natywnymi językami, znacznikami i takimi danymi w Yii Framework.Yii Używanie Mongo DB i MySQL w tym samym czasie

Już wybieram MongoDB do przechowywania moich danych, ponieważ myślę, że jest to przyjemne i uzyska lepszą wydajność przy mniejszych kosztach (baza danych będzie zawierała ogromne ilości danych).

Moje pytanie dotyczy uwierzytelnienia użytkownika, płatności itp. Są to wrażliwe elementy informacji i obszary, w których moim zdaniem dane są relacyjne.

Więc: 1. Czy używałbyś dwóch różnych systemów db? Czy powinienem ich potrzebować, czy też komplikuję to? 2. Jeśli polecisz dwa podejścia db, w jaki sposób osiągnę to w Yii?

Dziękujemy za poświęcony czas!

PS: Nie zamierzam, aby to pytanie było kolejną niekończącą się dyskusją między osobami relacyjnymi a nierelacyjnymi. Powiedziawszy, że myślę, że moje dane cieszą się mongo, ale jeśli masz coś do powiedzenia na ten temat, to śmiało;)

Odpowiedz

8

Możesz być zainteresowany this presentation w infrastrukturze OpenSky, gdzie MongoDB jest używany wraz z MySQL. Mongo było wykorzystywane głównie do danych typu CMS, w których elastyczny schemat był użyteczny i polegały na MySQL dla transakcji (np. Zamówień klientów, płatności). Jeśli skorzystasz z biblioteki Doctrine, zobaczysz, że ORM (dla baz danych SQL) i MongoDB ODM udostępniają podobny interfejs API, co powinno ułatwić proces eksperymentowania.

Nie zawaham się jednak używać MongoDB do przechowywania danych użytkownika, ponieważ jest to często rekord, który może skorzystać z wbudowanego przechowywania dokumentów (np. Przechowywanie wielu adresów rozliczeniowych/wysyłkowych w jednym dokumencie użytkownika). W każdym razie, Mongo powinien być na tyle elastyczny, aby umożliwić ci rozwijanie aplikacji bez obawy o zmiany schematu z powodu zmieniających się wymagań dotyczących produktu. Gdy wymagania te staną się bardziej jasne, będziesz mógł podjąć decyzję w oparciu o wymagania wydajności aplikacji i rodzaje zapytań baz danych, których potrzebujesz.

+0

Świetna odpowiedź. Dzięki! – jribeiro

0

Nie ma nic złego w korzystaniu z wielu baz danych (jeśli naprawdę potrzebujesz), wiele dużych witryn korzysta z wielu baz danych, więc idź głową i zacznij swój projekt.

+0

Mieszanie NoSQL i relacyjnych dbs nigdy nie jest dobrą rzeczą. O ile nie ma prawdziwej potrzeby. Zwykle używasz NoSQL, a ty nie. W mojej firmie mamy dużą stronę internetową, do danych używamy MySQL, ale do przechowywania plików używamy mongodb GridFS. Tylko do przechowywania plików jako MongoDB GridFs jest idealny do tego. – Flukey

Powiązane problemy