/ / Podejście Yii i bazy danych - sql, yii, rdbms

Podejście Yii i bazy danych - sql, yii, rdbms

Buduję aplikację w Yii. Mam doświadczenie zarówno z AR jak i DAO, ale ponieważ moja aplikacja jest ciężka, będę używał tylko DAO do wszystkich zadań CRUD.

Jednak utknąłem na jakim schemacie DBidź, jestem dość znany z RDBMS, ale biorąc pod uwagę, że do sprawdzania danych / wyświetlania danych w widokach musiałbym tworzyć obiekty ich odpowiednich modeli. Użytkownik w mojej aplikacji hsa różne pola, które mogą wypełnić lub nie wypełnić. Pola są jak:
1) Pola związane z adresem (z podziałem na oddzielne jednostki)
2) Numery telefonów (wielu typów)
3) Akredytacje (dane ciągów)
4) Specjalizacja niszowa (dane ciągów)
5) Czas (wybrany z listy rozwijanej)
6) Obiekty (dane ciągów)

I tak dalej, zauważ, że są to tylko około 30% wszystkich pól.

Podczas projektowania RDBMS naturalnie umieściłbym mojenumery telefonów w jednej tabeli, adres w innym i tak dalej. Do wyświetlania pojedynczego widoku patrzę na tworzenie około 10-20 obiektów modelu. Jednak ta strona z pojedynczym widokiem, o której mówię, jest sercem aplikacji i nie można tu złamać funkcjonalności.

Biorąc pod uwagę wszystkie powyższe rozważania, RDBMS jest na prawdę właściwą drogą, jeśli będę musiał uwzględnić skalowalność i WYDAJNOŚĆ w przyszłości.

Jakie inne opcje bazy danych powinienem wybrać?

Odpowiedzi:

0 dla odpowiedzi № 1

Prawdziwa moc używania AR z Yii jest wtedy, gdy tyskorzystaj z modelu "relacje" (w tym liczne funkcje dodane po pierwotnym wydaniu 1.1). Definicja "zakresów" może być bardzo potężna, podobnie jak użycie "z". Wszystkie te funkcje umożliwiają jednoznaczne zapisanie definicji relacji. Może to zająć trochę czasu, ale wtedy wiesz, że za każdym razem, gdy go używasz, jest to poprawne i można je łączyć, gdy świeci się AR.

Podczas tworzenia modelu istnieje pewien narzutobiekty. Nadal możesz uzyskać wyższą wydajność, korzystając z obszernych funkcji buforowania Yii, których nie mierzyłem, ale mogę z łatwością uwierzyć, że AR z buforowaniem może znacznie przewyższyć DAO bez.