Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kilka pytań o doctrine
Forum PHP.pl > Forum > Gotowe rozwiązania > Skrypty obsługi baz danych
michael86
Witam

Chciałem po raz pierwszy zastosować doctrine dla nauki. Do tej pory stworzyłem taki mały własny ORM jednakże nie ma on kilku funkcji i ciągle muszę coś w nim zmieniać jak coś robie. Moje pytania:

1. Czy doctrine nadaje się na mocny serwer dedykowany który ma dużą moc procesora jednakże baza i dysk jest aktualnie wąskim garłem? Czy bardziej jest wrażliwe na niedostatki procesora czy raczej dysku lub ramu?

2. Czy można zrobić coś takiego że doctrine mapuje od razu obiekty "dzieci", np. klasa produkty i żeby ładował od razu obiekty klasy załóżmy zdjęcia? Chodzi o to żeby jednym zapytaniem załadować wszystko z bazy a nie odwoływać się potem "szukaj fotek ID = X produkty" 100 razy

3. Czy jest cośna chwilę obecną lepszego od doctrine?


Pozdrawiam
qrooel
Cytat(michael86 @ 23.12.2011, 10:54:28 ) *
Witam

Chciałem po raz pierwszy zastosować doctrine dla nauki. Do tej pory stworzyłem taki mały własny ORM jednakże nie ma on kilku funkcji i ciągle muszę coś w nim zmieniać jak coś robie. Moje pytania:

1. Czy doctrine nadaje się na mocny serwer dedykowany który ma dużą moc procesora jednakże baza i dysk jest aktualnie wąskim garłem? Czy bardziej jest wrażliwe na niedostatki procesora czy raczej dysku lub ramu?

2. Czy można zrobić coś takiego że doctrine mapuje od razu obiekty "dzieci", np. klasa produkty i żeby ładował od razu obiekty klasy załóżmy zdjęcia? Chodzi o to żeby jednym zapytaniem załadować wszystko z bazy a nie odwoływać się potem "szukaj fotek ID = X produkty" 100 razy

3. Czy jest cośna chwilę obecną lepszego od doctrine?


Pozdrawiam


2. Oczywiście, od tego jest ORM. Tworzysz sobie normalne relacje.
3. W PHP moim zdaniem nie ma lepszego ORMa. Można się zainteresować jeszcze Propelem ewentualnie.
michael86
Cytat(qrooel @ 23.12.2011, 10:56:58 ) *
2. Oczywiście, od tego jest ORM. Tworzysz sobie normalne relacje.
3. W PHP moim zdaniem nie ma lepszego ORMa. Można się zainteresować jeszcze Propelem ewentualnie.


a czy na doctrine można zbudować szybszą aplikację niż bez doctrine zakładając że w tej bez doctrine nie bedzie np. takiego mapowania i choć samo użycie doctrine zwolni to sumarycznie znacznie przyśpieszy przez lepsze mapwanie. Czy to możliwe?
qrooel
Cytat(michael86 @ 23.12.2011, 11:06:33 ) *
a czy na doctrine można zbudować szybszą aplikację niż bez doctrine zakładając że w tej bez doctrine nie bedzie np. takiego mapowania i choć samo użycie doctrine zwolni to sumarycznie znacznie przyśpieszy przez lepsze mapwanie. Czy to możliwe?


ORM prawdopodobnie spowolni nieco aplikacje, bo bardzo często obiekt zwracany przez Doctrine ma długość 5 metrów, przez co wzrasta zużycie pamięci z tego co zauważyłem.

Dla mnie najważniejsze jest jednak to, że praca z Doctrine jest bardzo przyjemna i o wiele szybsza niż pisanie zapytań z joinami.

Na Twoje pytanie nie odpowiem, bo nie robiłem nigdy takich testów.
michael86
5 metrów to ile bajtów?
qrooel
Cytat(michael86 @ 23.12.2011, 11:43:54 ) *
5 metrów to ile bajtów?


71696 bajtów.

Obiekt zawierał: Stronę główna -> dodatkowe zakładki strony głównej -> zdjęcia dodatkowych zakładek strony głównej. Główna + 5 zakładek + 3 zdjęcia na zakładkę.
erix
Cytat
samo użycie doctrine zwolni to sumarycznie znacznie przyśpieszy przez lepsze mapwanie. Czy to możliwe?

Nie. Doctrine przyspieszy tylko proces tworzenia aplikacji, sumarycznie - zwiększy zużycie zasobów.

Osobiście preferuję coś lżejszego, bo z tego co pamiętam, to Doctrine jest jednym z najcięższych ORM-ów.

Poza tym, pozostaje jeszcze ActiveRecord, o którym jakoś tu sporo osób zapomina. tongue.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.