Tabellenkalkulation als Oracle-Tabellen

Es ist wichtig, dass man weiß, dass man auf Oracle-Daten in Tabellenkalkulationen nicht so schnell zugreifen kann, wie auf interne Sprossendaten. Oracle kann Sprossenniveau-Verriegelung nicht garantieren, da das Betriebssystem und nicht Oracle das Sagen hat. Wenn eine Tabelle als externe Tabelle definiert ist, dann kann Oracle nicht wissen, wann einzelne Sprossendaten verändert werden. Das Betriebsystem teilt Oracle nur mit, dass die gesamte Tabelle verändert wurde.

Darüber hinaus werden Datenblöcke, die aus einer externen Tabelle gelesen werden, nicht in den Zwischenspeicher von Oracle9i gelesen. Die Abfrage unter Listing A zeigt, dass Oracle die Sprossen der externen Tabelle nicht in den RAM-Cache liest.

Wie man unter Listing B sehen kann, sind die Daten aus unserer Tabelle nach einer SQL-Abfrage nicht im Datenspeicher.

Oracle erklärt nicht, ob ein extra Speichermechanismus für externe Tabellen genutzt wird. Mit diesem Mangel muß Oracle9i jedes Mal die gesamte Tabelle lesen, wenn eine SQL-Abfrage auf die externe Tabelle zugreift.

Um Datenintegrität zu gewährleisten, muß Oracle wissen, wann die Tabelle geändert wird, aber es gibt keine Möglichkeit zu wissen, wann bestimmte Tabellenwerte geändert werden. Wenn Oracle herausfindet, dass die unverlinkte Datei aktualisiert wurde, dann werden alle Daten im RAM-Speicher ungültig, und die gesamte Tabelle muß neu gelesen werden. Das ist der Hauptgrund, warum externe Tabellen für große Datenmengen nicht sehr effizient sind.

Weil Oracle Betriebssystemdateien in Datenblöcken liest, kann man berechnen, wie oft Disk I/O erfolgt, indem man die Anzahl der Tabellenblöcke mit einer einfachen Shellscript feststellt. Für dieses Script wissen wir, dass die Oracle-Datenbank eine Blockgröße von 8 KB hat:


bytes=`ls -al|grep emp_ext.csv|awk '{ print $5 }'`
num_bytes=`expr $bytes`
blocks=`expr $num_bytes / 8192`
echo $blocks

Dieses Script sagt uns ganz genau, wie oft die Disk gelesen werden, um auf die externe Oracle-Tabelle zuzugreifen, wenn eine Veränderung vorgenommen wird.

Themenseiten: Big Data, Datenbank, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Tabellenkalkulation als Oracle-Tabellen

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *