NHibernate będzie stosowany w dużych projektów, takich jak powiedzmy facebook? (Dla argumentów sake)

głosy
4

Dla tych, którzy znają wewnętrzne funkcjonowanie NHibernate, myślisz, że duża skala aplikacji internetowych jak powiedzieć facebook / myspace użyłby NHibernate?

Lub NHibernate jest dobrze nadaje się do kilku miejscach ruchu, takich jak niskie stron firmowych itp? czyli nie przedsiębiorstwo gotowy ze względu na jego rozmowni natury?

Utwórz 18/05/2009 o 12:42
źródło użytkownik
W innych językach...                            


3 odpowiedzi

głosy
9

NHibernate nie jest rozmowny w ogóle. O skalowalności, nie było już pytanie na grupy NH jest , co było więcej o złożoności bazy wówczas ruchu, ale nadal może być dla Ciebie interesujący.

Nawet jeśli nie zawsze są reklamacji o niepotrzebnych zapytań na każdy ORM, ze względu na ogólny charakter ORM, to nie znaczy, że jest rozmowny. Z drugiej strony to optymalizuje sytuacje, w których byłoby to zbyt skomplikowane, aby zoptymalizować w odręcznie Dal. Na przykład. partie zapytanie lub leniwy załadunku.

NHibernate jest bardzo lekki w porównaniu do innych ORM i w porównaniu do jego zaawansowane funkcje.

NHibernate (jak każdy inny ORM) mógłby być uważany za przesadą, jeśli nie ma obiektowego modelu biznesowego, ale trzeba zoptymalizować dla najwyższej wydajności. Nie sądzę, że Google może skorzystać z NHibernate dla swojej wyszukiwarce, na przykład.


Edytować:

Wydajność i moc NHibernate nie jest całkowicie za darmo. Wymaga to, że deweloperzy zrozumieć przynajmniej podstawowe informacje na temat relacyjnych baz danych. spróbować innych ORM, aby ukryć cały relacyjnych problematykę, co prowadzi do znacznie bardziej niezoptymalizowanych zachowanie.

Odpowiedział 18/05/2009 o 13:05
źródło użytkownik

głosy
1

nHibernate jest profesjonalnym żart. W mojej firmie, jej stosowanie zostało zakazane przez kilku powodów. Jako narzędzia jest zupełnie nieproduktywne; będziesz spędzać niezliczone godziny próbuje dowiedzieć się, lub znalezienie alternatywnych strategii w ograniczonych dokumentacji.

Znacznie lepiej użyć własnego wygenerowany DAL i SP, aby osiągnąć wysoką wydajność. Będziesz miał w pamięci podręcznej planu wykonania, a w końcu, że to, co naprawdę się liczy.

nHibernate ma zaawansowanego wsparcia dla memcached, który jest specjalnie co masz zamiar użyć, jeśli chcesz zbudować skalowalne rozwiązanie internetowych, takich jak Facebook.

Pracuję dla firmy gier społecznych, a my specjalnie wolno używać NHibernate w szczególności.

Odpowiedział 11/12/2012 o 13:54
źródło użytkownik

głosy
0

NHibernate obsługuje buforowanie zapytań, 2nd buforowanie poziom oparty na kluczach podstawowych, a także pamięć podręczną sesji dla wielokrotnych trafień na tej samej jednostki w tej samej sesji.

To wszystko bardzo pomocne, ale tak długo, jak jesteś uderzanie bazy z dużym obciążeniem, będziesz mieć problemy skalowania. Najlepszym sposobem, aby skalować bazy danych jest zminimalizowanie ilości czasu trzeba rzeczywiście go używać. Ukazuje cache takich jak memcache i buforowanie wyjściowe (zarówno post-datacrunched poglądy lub HTML) są najlepsze sposoby skalowania aplikacji. Jeśli klienci są regularnie uderzając bazy danych, robisz to źle, ORM, czy nie. W aplikacji .NET, jak typowy aplikacji MVC, ma zalety bycia w stanie wykorzystać varyby buforowania danych wyjściowych, buforowanie i pączka pączek-dołkowe, jak również klientów dla memcache do stosowania z NHibernate i dla ViewModels.

Odpowiedział 06/03/2013 o 20:58
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more