250 likes | 336 Views
Hej. Morten Lyhr. http://morten.lyhr.dk. Skamløs selvpromovering. Barn 1.0. Barn 3.0. Kone 1.0. Barn 2.0. Smør på brødet. Taler. Utroligt. Hurtigt. NHibernate.
E N D
Morten Lyhr http://morten.lyhr.dk • Skamløs selvpromovering • Barn 1.0 • Barn 3.0 • Kone 1.0 • Barn 2.0 • Smør på brødet
NHibernate NHibernate is a mature, open source object-relational mapper for the .NET framework. It's actively developed , fully featured and used in thousands of successful projects.
XML mapping NH Prof Validators Batch queries Schema generation Bulk insert LINQ Search Lazyloading Sharding Future queries Multiquries Multiple databases Spatial Clustercaching Eagerfetch Maplegacy databases Schemaupdate Query By Example Fluentmapping Attributemapping Burrow Logging
Database uafhængighed • Microsoft SQL Server (ink. CE) • Oracle • Microsoft Access • Firebird • PostgreSQL • DB2 UDB • MySQL • SQLite
Query • Lav så få round trips til databasen muligt. • Gør så meget som muligt i hver round trip til databasen. • Lav en eksplicit transaktion. • Lazyloading er med stor sandsynlighed ikke din ven. • Når det laves en ”action” imod et system, ved vi godt hvilke data der skal hentes.
Search • Skån din i forvejen belastede database server fra LIKE %... • Kan med fordel være på en anden fysisk maskine.
Insert, Update og Delete • Lav så få round trips til databasen muligt. • Gør så meget som muligt i hver round trip til databasen. • Lav en eksplicit transaktion. • Når det laves en ”action” imod et system, ved vi godt hvilke data der skal gemmes. • Brug et rigtigt ETL værktøj eller BULK INSERT, hvis performance er alt afgørende.
Caches • Cachedata/queries der ikke ændre sig ofte. • Cachedata/queries der tager lang tid at beregne. • Undgå at lave for mange remote kald til cachen. • Brug den rigtige cache invalideringsteknik til din løsning. (Event baseret, fast tid, sliding tid eller lign.)
Shard • Vær omhyggelig med at vælge Partition skema. • Overvej evt. licens omkostninger. • Overvej strøm regningen. • Er som skabt for MS SQL Azure.
NHibernate hjælper dig med at • Skrive mindre (ADO.NET) kode • Udnytte databasen bedst muligt (evt. med hjælp fra NHProf) • Hvis du sidder fast, er der massere hjælp at hente. Både kommercielt og folk der donere deres fritid.
HUSK • Font størrelse • Slå TFS fra • Print comments • Start SQL server • Tjek for plads på c drev • Slå messengerosv fra • Start VS og foldere med bat filer • Mus, tastatur og dockin station