Zou nhibernate worden gebruikt in grootschalige projecten, zoals bijvoorbeeld facebook? (Voor argumenten wille)

stemmen
4

Voor degenen die de innerlijke werking van nhibernate weet, denk je dat een grootschalige webapplicatie zeggen als facebook / myspace zou nhibernate gebruiken?

Of is nhibernate goed geschikt voor meer low traffic sites, zoals sites van bedrijven etc? dat wil zeggen niet bedrijfsklaar vanwege zijn spraakzaam natuur?

De vraag is gesteld op 18/05/2009 om 12:42
bron van user
In andere talen...                            


3 antwoorden

stemmen
9

NHibernate is niet spraakzaam at all. Over schaalbaarheid, was er al een vraag over de groepen NH's , die meer over de complexiteit van de database dan verkeer was, maar kan nog steeds interessant voor u zijn.

Zelfs als er altijd klacht gaat over onnodige queries op elke ORM, als gevolg van de generieke karakter van een ORM, maar dat betekent niet dat het spraakzaam. Aan de andere kant is het optimaliseert situaties waarin het te complex om te optimaliseren met de hand geschreven DAL zou zijn. Bijv. zoekopdracht batches of lui laden.

NHibernate is vrij licht van gewicht in vergelijking met andere ORM en vergeleken met het krachtige functies.

NHibernate (als elke andere ORM) kan worden beschouwd als overkill zijn als er geen object-georiënteerde business model, maar je moet optimaliseren voor de hoogste prestaties. Ik denk niet dat Google het gebruik van NHibernate zou kunnen maken voor haar zoekmachine, bijvoorbeeld.


Bewerk:

De prestaties en de macht van NHibernate is niet geheel gratis. Het vereist dat de ontwikkelaars begrijpen ten minste de grondbeginselen over relationele databases. Andere ORM proberen om de hele relationele problematiek, wat leidt tot veel meer unoptimized gedrag te verbergen.

antwoordde op 18/05/2009 om 13:05
bron van user

stemmen
1

NHibernate is een professionele grap. In mijn bedrijf, is het gebruik ervan door verschillende redenen verboden. Als hulpmiddel is vrij onproductief; zult u talloze uren besteden aan het proberen om erachter te komen, of het vinden van alternatieve strategieën in een schaarse documentatie.

Veel beter, gebruik maken van uw eigen opgewekte DAL en SP om hoge prestaties te bereiken. Je hebt een gecached uitvoeringsplan te hebben, en op het einde dat is wat er echt toe doet.

NHibernate heeft geen geavanceerde ondersteuning voor memcached, dat is speciaal wat je gaat gebruiken als je wilt om een ​​schaalbare web-oplossing, zoals Facebook te bouwen.

Ik werk voor een social gaming bedrijf, en we hebben speciaal verboden om nhibernate te gebruiken in het bijzonder.

antwoordde op 11/12/2012 om 13:54
bron van user

stemmen
0

NHibernate ondersteunt vraag caching, 2e niveau caching op basis van primaire sleutels, en ook sessiecache voor herhaalde hits op dezelfde entiteit binnen dezelfde sessie.

Dat is alles wat een grote hulp, maar zolang je het slaan van een database met een grote belasting, je gaat naar schaalvergroting problemen hebben. De beste manier om een ​​database te schalen is om de hoeveelheid tijd die je eigenlijk om het te gebruiken te minimaliseren. Distributed cache zoals memcache en caching uw output (ofwel post-datacrunched standpunten of html) zijn de beste manieren om een ​​applicatie te schalen. Als klanten regelmatig de database te raken, doe je het verkeerd, ORM of niet. In een .NET applicatie, als een typische MVC app, heeft de voordelen van de mogelijkheid om te gebruiken varyby uitgang caching, donut en doughnut-hole caching, evenals cliënten voor memcache te gebruiken met NHibernate en voor uw ViewModels.

antwoordde op 06/03/2013 om 20:58
bron van user

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