Microsoft .NET, Server and more RSS 2.0
# Friday, April 16, 2010

Die Code Access Security war bei dem .NET Framework immer ein Graus. Man musste Die Sachen immer mehrfach freischalten oder gleich eine Freigabe für einen ganzen Fileserver machen.

Jetzt habe ich einem Kollegen gesagt, dass er sich mal um diese Files kümmern soll und er hat keinen Eintrag mehr in der Verwaltungskonsole gefunden... Tja und man kann sagen, dass Microsoft diese Regelungen als Geschenk für die Entwickler abgeschafft hat. Code läuft nun auch vom Netzlaufwerk ohne eine zusätzliche Freischaltung!

Dies soll jetzt nicht heißen, dass man keine Blockierungen mehr hat. Es gibt ja auch die Regeln vom Betriebssystem selbst hat oder Zusatzsoftware, wie AppSense, die so etwas effektiv verhindern kann. In vielen Dingen macht es ja auch Sinn so etwas NICHT zuzulassen. Aber bei uns hätte man dann einfach eine andere Programmiersprache genommen um das Problem zu umgehen ;)

http://msdn.microsoft.com/de-de/library/ee191568(VS.100).aspx

Dies ist auch der Link zur neuen Hilfe im schicken Design... leider tut diese Online Hilfe noch nicht bei jedem Kollen und wir sind hier noch auf der Suche. Auf das ich fix einen Artikel zur Online Hilfe hier Posten kann. Wer da ähnliche Probleme hat, kann gern einen Kommentar schreiben!

Friday, April 16, 2010 5:37:23 PM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0] -
.net | Client | Deployment
# Monday, April 12, 2010

Ich hatte zum Teil Probleme beim Import von Massendaten mit den Zeiten. So war meine bisherige Vorgehensweise, dass ich die Daten erst in eine Temp -Tabelle geschrieben habe. Danach die Daten mehrmals validiert habe und im letzten Schritt verwertbare Datensätze in eine richtige Tabelle geschrieben habe. Datensätze mit Fehlern wurden in eine andere Tabelle geschrieben und als Fehler ausgegeben.

 

Dieses Vorgehen war mit LINQ und mehrfachem Speichern sehr langsam!

 

Ich habe nun mit meinem Kollegen Ralf Stiegele zusammen verschiedene Datenszugriffe ausprobiert und die Zeiten gemessen. Da beim Test kein Unterschied zwischen SQL 2005 und 2008 zu sehen war, schreibe ich nur vom SQL Server. Die Testdatei im Import hat 160.000 Zeilen und 60 Spalten. Es wurden 3 Läufe als Mittel gewertet und auf ganze Minuten gerundet. Bei diesen Import wurden keine Validierungen berücksichtigt.

 

 

Programm läuft auf dem SQL Server direkt ab (4GB Ram / 2 Prozessoren)

Programm läuft auf einem separaten virtuellen Client ab (4GB Ram / 2 Prozessoren / GB-LAN)

Programm läuft auf einem separaten physischen Client ab (2 GB Ram / 1 Prozessor / 100MBit LAN)

Import Stored Procedures

17 Minuten

17 Minuten

31 Minuten

Import mit LINQ

 

6 Minuten

7 Minuten

15 Minuten

Import mit Datasets

 

6 Minuten

7 Minuten

14 Minuten

Import mit Direct SQL

 

6 Minuten

7 Minuten

11 Minuten

Import mit Integration Sercvices (SSIS)

nicht gemessen

nicht gemessen

6 Minuten

SQLBulkCopy

1 Minute

1 Minute

nicht gemessen

 

Gefühlt  müsste es schneller gehen… Hat jemand noch eine bessere Alternative oder bessere Zeiten gemessen?

 

Bei uns ist der SSIS schwierig zu deployen und LINQ bietet am meisten Komfort. Wenn ich nun Programmierzeiten und Zeitersparnis bewerte, würde ich weiter LINQ nehmen und nur auf das Zwischenspeichern verzichten. Alle Validierungen müssten also beim ersten Einlesen passieren. Das Speichern von Daten im SQL Server ist einfach sehr Ressourcenfressend.

 

--- Update ---

SqlBulkCopy ist richtig fix. Wir konnten Zeiten für den Test oben von rund 50 Sekunden erreichen. Vielen Dank für die guten Tipps!!!

Monday, April 12, 2010 4:03:29 PM (W. Europe Daylight Time, UTC+02:00)  #    Comments [4] -
.net | Client | Deployment | Server | SQL
Navigation
Archive
<February 2012>
SunMonTueWedThuFriSat
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910
Blogroll
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2012
Florian Schmidt
Sign In
Statistics
Total Posts: 102
This Year: 0
This Month: 0
This Week: 0
Comments: 94
Themes
Pick a theme:
All Content © 2012, Florian Schmidt
DasBlog theme 'Business' created by Christoph De Baene (delarou)