2010 Basta!: Massendaten mit ADO.NET

21
Daniel Fisher – [email protected] Massendaten mit ADO.NET

Transcript of 2010 Basta!: Massendaten mit ADO.NET

Daniel Fisher – [email protected]

Massendaten mit ADO.NET

devcoach.com• Leistungen

– Beratung und Projektbegleitung– Software-Entwicklung– Training

• Technologien– ASP.NET Web Forms & MVC– WCF & WF– Silverlight & MonoTouch

• Kunden– Versicherung, Finanzindustrie, Mittelstand, Handel,

Kommunikation, Softwarehersteller u.v.a.• Bundesamt für Sicherheit in der

Informationstechnologie,• Microsoft• Dresdner Bank

• Und Sie?

Project Experience

Technology Know-how

devcoach®

Daniel Fisher• devcoach.com

– Mit-Gründer und Geschäftsführer• Justcommunity.de

– Mit-Gründer und Vorstand• nrwconf.de

– Mit-Gründer und Organisator• netug-niederrhein.de

– Mit-Gründer und Leiter• microsoft.com

– Business Technology Platform Advisor – Community Leader & Insider (CLIP)– Certified Professional Developer

• lennybacon.com– Blog

• twitter.com– @lennybacon

Efficient Communication…

Agenda

• Datenzugriff mit .NET• Es war einmal im Projektland

– Daten erfassen…– Daten wegschreiben…– Uih… Problem– Der Weg zur Lösung

• Summary

DATENZUGRIFF MIT .NET

Technologie-Landschaft

• Data Reader• DataSet• Linq 2 SQL• Entity Framework• Nhibernate

Measure early, measure often…

Quelle: Dr. Holger Schwichtenberg

ES WAR EINMAL IM PROJEKTLAND

Die Anwendung

• Messdaten-Erfassung und Visualisierung von SPS und CNC Maschinen– Windows XP SP 3, WinForms & .NET

3.5

• Damit Auswertungen und Vergleiche über verschiedene Zeiträume gefahren werden können…– SQL Server 2008 (Express)

Architektur

UI

Visualization Component

Business Logic

Data Access Layer

Sql Data Provider

File Data Provider

Stream Data Provider

Die Fakten

• n Messreihen• Je ca. 11.500 Messungen

Das Vorgehen

• Schlanke Strukturen und Kollektionen im Speicher

• Objekt-Orientierung schlägt generischen Kontainer im Speicherverbrauch– DataSet mit XML DOM = Faktor 10

DARF'S ETWAS MEHR SEIN

Ziele

• Speed • SOC/SRP

demo!

Achtung

• Max. 2100 Parameter pro Command

• Aus verschiedenen Threads auf eine Connection ist keine gute Idee

• Auch einer Connection können die Commands ausgehen.

Summary

• Objekte im Speicher machen Sinn.• Auch wenn mann kein Amazon

oder Ebay baut ist Performance wichtig.

• Eine speziell für den Anwendungs-Fall entwickelte (und auch wieder-verwendbare) Lösung schlägt IMMER den generischen out-of-the-Box-Ansatz.

Fragen?

danke!