A2K: Performance Steigerung durch Auslagerung der Tabellen ?

15/02/2008 - 22:28 von Sven W. | Report spam
Hallo Newsgroup,

ich habe eine Frage an Euch und bitte Euch um einen Kommentar.

Folgendes Problem:
- Zwei Standorte, welche über 10mbit WAN vernetzt sind
- MS Access Applikation ist aufgeteilt in Client MDB und Server MDB
- Server MDB liegt auf File Server an Standort A
- es handelt sich um eine recht einfache MS Access Applikation, wenig
Berechnungen, hauptsàchlich "Buchungen".

An Standort B gibt es Performance Probleme bei Nutzung der Anwendung.
der Kunde meint nun, dass ein einfaches Auslagern der Tabellen auf einen DB
Server, wie DB2 oder MSSQL einen sofortigen Performancegewinn bedeutet.
Aufwand wurde auf 2 PT geschàtzt.
Der Meinung bin ich nicht... denn...
MS Access nutzt File/Server-Technologie mittels JET Engine. Wenn MS Access
Daten auswertet, dann werden die Daten zunàchst komplett zum Client geladen
und erst anschließend clientseitig ausgewertet.

-> ein einfaches Auslagern (ohne weiterem Nacharbeiten) der Daten auf einen
Datenbankserver, wie DB2 oder MSSQL und ein anschließendes erneutes Einbinden
der Tabellenbietet meines Erachtens nach keinen direkten Performancegewinn.
-> MS Access würde nun per ODBC auf die Daten zugreifen und somit würde sich
der Datenzugriff zu der ersten Lösung verlangsamen.
-> aussschleßlich langsame MS Access Abfragen als StoredProcedure oder View
(mit starken serverseitigen Berechnungen) beschleunigt die Applikation
-> Es steht ausser Frage, dass ein echter DB Server auch Vorteile bringt,
wie Datensicherheit, Datenintegritàt, Backup-Lösung, Trigger, usw.. aber es
geht um die reine Performance.
-> ODBC bringt keine Performancesteigerung, man müsste auf ADO umstellen und
die gesamte Datenzugriffslogik der Applikation umstellen, was in meinen Augen
aber weit mehr Aufwand bedeutet als 2 PT.

Oder, was denkt ihr ?
 

Lesen sie die antworten

#1 Klaus Oberdalhoff
15/02/2008 - 23:32 | Warnen spam
Hi,

meine Erfahrungen dazu:

der Kunde meint nun, dass ein einfaches Auslagern der Tabellen auf
einen DB Server, wie DB2 oder MSSQL einen sofortigen
Performancegewinn bedeutet.



Ha ha ha - selten so gelacht

Die "einfache" Umstellung eines Access-(MDB)-Backends auf einen SQL-Server
oder ein anderes Backend bedeutet ohne Optimierung idR erst mal eine
Geschwindigkeitseinbusse von mindestens 20 % !!!!!!!!!

Performance. -> ODBC bringt keine Performancesteigerung, man müsste auf
ADO umstellen



Au weh, ADO per se ist eine weitere Zwischenschicht zwischen DAO und der
Datenbank (wenn MDB als Frontend) und macht per se erst mal gar nix
schneller, tendenziell eher langsamer.

Man müsste weniger auf ADO umstellen als die Applikation "tunen"
Eine Umstellung von DAO (bestehend) auf ADO (neu) ist - zum HEUTIGEN
Zeitpunkt - in meinen Augen absoluter Schwachfug hoch 17 da ADO - in diesem
Kontext - nur noch in Zusammenhang mit ADPs sinnvoll ist und ich würde heute
niemendem mehr empfehlen, von einer MDB auf eine ADP umzusteigen (es sei
denn er hat damit bereits Erfahrung UND andere ADPs im laufenden Betrieb und
will vereinheitlichen) da ADPs von MS nicht mehr richtig unterstützt werden
und schon auf einem SQL Server 2005 nicht mehr richtig laufen (es sei denn
im 2000-er Modus) An den kommenden 2008-er mag ich da schon gar nicht mehr
denken

ME helfen bei so etwas nur folgende Dinge:

a) Darauf achten, dass immer KLEINE Resultsets zum Client gesendet werden -
das ist das A und O - und gilt IMMER

zumindest beim SQL Server gilt:

b) Indizes, Indizes, Indizes
c) Path-Thru Abfragen, Stored Procedures und Timestamp
Und ganz klar - die schreiben und testen sich innerhalb von 2 Tagen von ganz
alleine -

Z.B. ist Access beim "Looping" von Recordsets mit DAO genauso schnell wie
Set-basierte Abfragen. Das gilt jedoch nicht für Loops auf dem SQL-Server
... Da ist also Optimierungsbedarf ...

Aufwand wurde auf 2 PT geschàtzt



stark, echt stark - ich würd' mich vor Lachen kringeln, wenn es nicht so
traurig wàre.
Kommentar eines Unbeteiligten zu den 2 Tagen: wer einen solchen Auftrag
annimmt, hat Selbstmordabsichten ...
10 Tage bis 2 MM halte ich für realistischer ...

Falls du XING-Mitglied bist und auf die XING-Foren zugriff hast, habe ich
mal in einem Thread mehrere Beitràge zu diesem Thema geschrieben (Gruppe
"Datenbanken" Forum "Produkte" Artikelthread "Migration einer Access DB -->
MS SQL Server"

https://www.xing.com/app/forum?op=s...15#2501315

mit freundlichen Grüßen aus Nürnberg

Klaus Oberdalhoff
Ich unterstütze PASS Deutschland e.V. (http://www.sqlpass.de)
Nàchstes Treffen in Nürnberg am 11.03.2008

Ähnliche fragen