In einem Projekt wollen wir täglich größere Datenmengen von einem Oracle Server in ein Data Warehouse übernehmen. Da der Standard “Microsoft OLE DB Provider for Oracle” keine so gute Performance bringt, habe ich einmal verschiedene Provider/Zugriffsmöglichkeiten getestet.
Als alternative zum “Microsoft OLE DB Provider for Oracle” wurde der “Microsoft ADO.NET OracleClient DataProvider”, der hauseigenen Data Provider von Oracle, ein ADO.NET Provider von devart, ein ADO.NET Provider von DataDirect sowie der SSIS Oracle Connector von Attunity verwendet.
Die Provider von devart sowie von DataDirect können als Trial Versionen auf den Internet-Seiten der beiden Hersteller bezogen werden. Der Oracle Data Provider sowie der Microsoft Connector for Oracle by Attunity sind auf den jeweils angegebenen Seiten kostenlos erhältlich und dürfen auch so innerhalb von Projekten verwendet werden. Neben dem Connector für Oracle ist bei Microsoft auf der selben Seite auch ein Connector für Teradata erhältlich.
DataDirect bietet mit “DataDirect Connect64 for SSIS” auch noch einen “DataDirect SSIS OLE DB Provider for Oracle” an, den ich auf meinem Testsystem aber leider nicht testen konnte; eventuell reiche Ergebnisse hierzu später aber noch einmal nach.
Die Ergebnisse für verschiedene Datenmengen sind der folgenden Grafik zu entnehmen. Alle Daten wurden direkt vom Oracle Server geladen und in eine Trash Destination geschickt.
Auch wenn ein deutlicher Trend zu sehen ist, bitte ich zu beachten, dass die Ergebnisse meine Demokonfiguration wiederspiegeln und diese nur zu Testzwecken aufgebaut und verwendet wurde und somit nicht unbedingt repräsentativ ist.
Ein gutes White Paper zum Umgang mit SSIS und Oracle 10g, allerdings auf dem OLE DB Provider basierend, findet sich übrigens bei Microsoft unter folgender Adresse:
http://www.microsoft.com/sqlserver/2008/en/us/ssis-oracle.aspx