19. 04. 13
Für jeden der mal eine Dezimalzahl in eine Binärzahl innerhalb eines Select oder PL/SQL Programms umwandeln will hier eine kleine PL/SQL-Function (funktioniert nach der Restwertmethode):
create or replace function dec2bin(p_nr in number) return varchar2 is
v_erg number;
v_rest number;
begin
v_erg := trunc(p_nr/2);
v_rest := mod(p_nr,2);
if v_erg > 0 then
return(dec2bin(v_erg)||v_rest);
else
return(v_rest);
end if;
end dec2bin;
/
14. 03. 13
Als ich anlässlich einer Diskussion auf der DOAG Konferenz im November 2011, also vor gut anderthalb Jahren, auf meine Einschätzung zum Thema Cloud und Data Warehouse angesprochen wurde, war meine Antwort: „Ich kann mir in absehbarer Zeit nicht vorstellen, dass Data Warehouse Lösungen in einer Cloud betrieben werden.“
Einige der wichtigsten Gründe, die mich damals zu dieser Aussage bewogen haben, waren read more…
12. 02. 13
Big Data gilt für die nächsten Jahre als einer der Treiber in der IT. Es gibt sogar Stimmen die in Big Data ein ähnliches Potential sehen wie seinerzeit durch den Start des „World Wide Web“. Wo aber steht die Business-Intelligence-Gemeinde im beginnenden Jahr 2013 bezüglich dieses Themas?
Dazu drei Fakten:
- Gibt man bei Google als Suchbegriff „Big Data“ an, so bekommt man zurzeit ca. 1,3 Mrd. Treffer. Zum Vergleich: Der Suchbegriff „Barack Obama“ ergibt ungefähr ebenfalls 1,3 Mrd. Treffer. Big Data hat bei Google also dieselbe Repräsentanz wie der amtierende Präsident der Vereinigten Staaten von Amerika!
- In Zusammenhang mit Big Data fallen unweigerlich irgendwann die Begriffe Facebook und Hadoop. Sucht man im Hadoop-Wiki nach dem Begriff Facebook so findet man folgendes:Facebook: Currently they have 2 major clusters:
- A 1100-machine cluster with 8800 cores and about 12 PB raw storage
- A 300-machine cluster with 2400 cores and about 3 PB raw storage
- Each (commodity) node has 8 cores and 12 TB of storage
- Facebook’s Hadoop/Hive system ingests 15 terabytes of new data per day
- Unter „Amazon Web Services“ gibt es mittlerweile eine Big Data Lösung, die Hadoop basiert ist
read more…
12. 02. 13
Big Data ist in den USA aktuell einer der Treiber für das Thema “Business Intelligence”. Dabei geht es darum, aus sehr großen Datenströmen möglichst online diejenigen Informationen zu extrahieren, die für das eigene Geschäftsmodell als wertvoll erscheinen. Diese großen Datenströme betreffen aber unter Umständen sehr sensible persönliche Daten.
In diesem Umstand liegt einer der großen Stolpersteine, die einen großflächigen Einsatz von Big Data in Deutschland in Frage stellen. Gleichzeitig zeigt sich hier eine tiefe kulturelle Kluft zwischen den Menschen diesseits und jenseits des Atlantiks, die sich im Umgang mit persönlichen und sensiblen Daten als besonders auffällig zeigt.
Jeder Mensch hinterlässt bei fast jeder Tätigkeit eine Spur an Daten!
Egal, ob es ein Kauf per Kreditkarte, eine Online Bestellung, die Inanspruchnahme von Bonusprogrammen oder die jährliche Steuererklärung ist. Jeder noch so profan erscheinende Vorgang unseres privaten und öffentlichen Lebens hinterlässt einen digitalen Abdruck. Dieser ist grundsätzlich auswertbar.
read more…
13. 09. 12
Das neue Schlagwort im Bereich Business Intelligence heißt „Big Data“.
Ist das nur ein neuer Hype, der genauso schnell wieder verschwindet wie er aufgetaucht ist, oder gibt es hier mehr Substanz? Diese Frage lässt sich nicht so einfach beantworten. Zuerst muss man dazu verstehen was mit “Big Data” gemeint ist und wieso dieser Ansatz in der BI-Gemeinde auf sehr viel Widerhall trifft.
Die aktuelle Situation bei vielen Unternehmen, die ein klassisches Data Warehouse betreiben, ist durch zwei Faktoren gekennzeichnet, die in Konkurrenz zueinander stehen: Datenqualität und Geschwindigkeit. Data Warehouse Daten werden mittlerweile in fast allen Unternehmen als erfolgskritisch eingestuft. Das heisst unternehmerische Entscheidungen werden auf Basis des Data Warehouse getroffen. Je besser die Qualität der Daten, desto besser die Entscheidungen. Daher ist die Data Warehouse-Entwicklung in entsprechende Prozesse eingebunden, die dafür sorgen sollen, dass möglichst nur belastbare und qualitätsgesicherte Informationen bereitgestellt werden.
read more…
13. 09. 12
Zum Jahreswechsel 2012/2013 steht die neue Oracle Datenbank Oracle 12c (so der voraussichtliche Name) in den Startlöchern. Oracle hat als wahrscheinlichen “Release Termin” Dezember bis Januar genannt. Es ist jetzt also durchaus eine gute Zeit sich mit der zukünftigen Ausrichtung der Oracle ETL-Strategie zu befassen.
Für viele Anwender ist der Oracle Warehouse Builder (OWB) in der aktuellen Version das bevorzugte ETL-Produkt, um ein Oracle Data Warehouse mit Daten zu versorgen.
Die Gründe hierfür sind:
- Die Standard Edition ist kostenfrei in der Datenbanklizenz enthalten
- Das Produkt hat eine gewisse Reife erreicht und funktioniert sehr gut
- Es ist bestens in die Oracle Datenbank integriert.
Einziges Problem: Es stirbt!
read more…
05. 05. 12
Immer wieder möchte man aus einem PL/SQL-Package heraus einen Befehl absetzen, der nicht unter dem aktuellen sondern unter einem anderen Benutzer abgesetzt wird. Das ist so ohne weiteres nicht möglich, da ein Package einen Reconnect oder Benutzer-Wechsel nicht unterstützt. Hier leistet der Oracle Scheduler wertvolle Hilfe. Man kann mit ihm aus einem Package heraus einen synchronen Job aufrufen, der unter einem beliebigen Benutzer gestartet werden kann.
Hierzu ein Beispiel:
create or replace package my_utilities
is
--
-- Ausführen eines beliebigen SQL-Statements
procedure exec_with_other_user(p_sql in varchar2);
--
-- Erstellen eines Scheduler Jobs
procedure exec_sql(p_user in varchar2
,p_sql in varchar2
);
/
end my_utilities;
read more…
15. 03. 12
Die Welt der IT wird zunehmend globaler. Aufgrund verschiedenster Einflüsse wie z.B. Flexibilität, Kostendruck und verfügbare Ressourcen, findet eine Softwareentwicklung nicht mehr nur an einem IT-Standort eines Unternehmens statt.
Selbst mittelständische Unternehmen haben mittlerweile mehrere IT-Standorte an denen gleichzeitig durch mehrere Teams entwickelt wird.
Kann bei der Entwicklung operationaler Systeme hier noch eine funktionale Trennung erfolgen, so dass ein Standort nur an einem System oder einer Komponente entwickelt, so ist dies bei einem “Enterprise Data Warehouse” Ansatz nicht möglich.
Ein “Enterprise Data Warehouse” ist dadurch gekennzeichnet dadurch, dass möglichst viele operationale Systeme Daten an dieses liefern und nur dort ein systemübergreifendes Reporting stattfindet. Dazu müssen die entsprechenden Quellsysteme in einer einheitlichen Modellschicht integriert werden. Diese wird häufig Core-, Foundation- oder DWH- Layer genannt. Aus diesem heraus werden dann in der Regel mehrere “Data Marts” gespeist, die durch entsprechende BI-Tools abgefragt werden. Bei einem derart zentralistischen Ansatz kann eine funktionale Trennung nicht mehr ohne weiteres durchgeführt werden. Es müssen also Techniken und Vorgaben entwickelt werden, die ein gleichzeitiges Entwickeln an mehreren Entwicklungsstandorten an einer zentralisierten BI-Applikation ermöglichen. Hierfür kommen sogenannte BI-Frameworks zum Einsatz.
read more…
01. 11. 10
In Oracle 11gRel2 gibt es eine neue Gruppierungsfunktion das LISTAGG. Mit dieser Funktion ist man in der Lage, Spaltenwerte einer Wiederholungsgruppe in einer Zeile zusammenzufassen getrennt durch ein definiertes Trennzeichen.
Beispiel:
Inhalt der Tabelle Team:
GRUPPE NAME
==================== ============
Team Blau Harald
Team Blau Robert
Team Blau Thomas
Team Gelb Alex
Team Gelb Sabine
Team Rot Angelika
Team Rot Uwe
Erzeugen einer Mitgliederliste pro Team:
select distinct
gruppe
,listagg(name,’;')
within group (order by name asc)
over (partition by gruppe) as mitglieder
from teams
order by gruppe
;
Ergebnis:
GRUPPE MITGLIEDER
==================== ==============================
Team Blau Harald;Robert;Thomas
Team Gelb Alex;Sabine
Team Rot Angelika;Uwe
Die Wiederholungsgruppe wird über die Klausel PARTITION BY <COLUMN> angegeben, die Sortierung innerhalb der Liste über die Klausel ORDER BY <COLUMN>. In der Funktion LISTAGG bestimmt die erste Angabe die Spalte, die als Liste zusammengefasst werden soll, die zweite Angabe das Trennzeichen.