Maximale Größeund Performance

Maximale Größeund Performance

am 20.11.2006 19:51:40 von Christian Schmidt

Hallo,

ich bin gerade am Anfang eines DataWarehouse Projekts. Umgesetzt werden
soll alles mit OpenSource-Software, ins Auge gefasst habe ich im Moment
schon mal MySQL und PostgreSQL.

Wir haben über die maximalen Datenbankgrößen gesprochen und es gab
Bedenken wegen der Performance.

Wir reden hier über mehrere Millionen neuer Datansätze jeden Monat plus
historische Daten der ca. letzten vier Jahre. Allerdings ist noch nicht
ganz klar welche Daten ins DW übernommen werden und wie noch Aggregiert
werden kann.

Ich weiß, daß man ohne weitere Informationen eigentlich gar nichts zur
Performance sagen kann. Mich würde aber mal interessieren, ob jemand
Erfahrungswerte hat, wenn zB die Datenbank größer als der vorhandene
Arbeitsspeicher ist oder wenn die Indizes größer als der Arbeitsspeicher
sind. Gerade bei zweitem kann ich noch nicht so recht glauben, daß wir
überhaupt in diese Dimensionen kommen.

Kann man dieser Problematik durch ein Cluster umgehen?

Und kennt jemand gute Literatur zu diesem Thema? (Data Warehouse und
MySQL/PostgreSQL bzw. OpenSource-DBMS)

Gruß

chris

Re: Maximale Größeund Performance

am 20.11.2006 20:08:45 von Kris

Christian Schmidt wrote:
> Ich weiß, daß man ohne weitere Informationen eigentlich gar nichts zur
> Performance sagen kann.

Die größe MySQL-Implementation, die dem Hersteller bekannt ist, ist ein
MySQL DW im Bereich von einigen Dutzend TB. Es ist auf Windows realisiert.

> Kann man dieser Problematik durch ein Cluster umgehen?

Nein.

Kris

Re: Maximale Größeund Performance

am 20.11.2006 20:18:13 von Christian Schmidt

Am Mon, 20 Nov 2006 20:08:45 +0100 schrieb Kristian Köhntopp:

> Christian Schmidt wrote:
>> Ich weiß, daß man ohne weitere Informationen eigentlich gar nichts zur
>> Performance sagen kann.
>
> Die größe MySQL-Implementation, die dem Hersteller bekannt ist, ist ein
> MySQL DW im Bereich von einigen Dutzend TB. Es ist auf Windows realisiert.

Und (mein) Cheffe meint, das ist ein enormes Performance-Problem, wenn
die Datenbank (oder Teile davon) nicht im Arbeitsspeicher vorliegen
sondern erst von der Festplatte geholt werden müssen.

Kann man das (außer durch selbstversuch :-) widerlegen? Oder ist das
einfach so und spielt in der Praxis eine untergeordnete Rolle?

Chris

Re: Maximale Größeund Performance

am 20.11.2006 20:50:29 von Axel Schwenke

Christian Schmidt wrote:
> Am Mon, 20 Nov 2006 20:08:45 +0100 schrieb Kristian Köhntopp:
>> Christian Schmidt wrote:

>>> Ich weiß, daß man ohne weitere Informationen eigentlich gar nichts zur
>>> Performance sagen kann.
>>
>> Die größe MySQL-Implementation, die dem Hersteller bekannt ist, ist ein
>> MySQL DW im Bereich von einigen Dutzend TB. Es ist auf Windows realisiert.
>
> Und (mein) Cheffe meint, das ist ein enormes Performance-Problem, wenn
> die Datenbank (oder Teile davon) nicht im Arbeitsspeicher vorliegen
> sondern erst von der Festplatte geholt werden müssen.

Ein merkwürdiges Verständnis. Die Weisheit, daß RAM schneller ist als
jede Festplatte, ist eine Binse. Aber ein typisches Kennzeichen eines
Data-Warehouse ist ja gerade, daß die Datenmenge deutlich größer ist
als der bezahlbare Hauptspeicherausbau.

Der Ruf nach mehr RAM ist verständlich, allerdings wird der Chef selber
vermutlich derjenige sein, der das angesichts der Kosten ablehnt ;-)

> Kann man das (außer durch selbstversuch :-) widerlegen? Oder ist das
> einfach so und spielt in der Praxis eine untergeordnete Rolle?

Es ist so und tatsächlich kann man die Eignung eines DBMS für Data-
Warehousing daran festmachen, ob und wie gut es damit zu Rande kommt,
daß es nicht alles ins RAM laden kann, das es gern wöllte. Es geht
dann eher darum, effizient mit RAM umzugehen und die I/O-Last - die
zwangsläufig anfallen wird - sinnvoll zu bündeln.

Die Trennung zwischen OLTP- und OLAP-Datenbanken ist nicht zufällig.
Die Anforderungen unterscheiden sich schon beträchtlich.


XL

Re: Maximale Größeund Performance

am 20.11.2006 22:09:40 von Kris

Christian Schmidt wrote:
> Und (mein) Cheffe meint, das ist ein enormes Performance-Problem, wenn
> die Datenbank (oder Teile davon) nicht im Arbeitsspeicher vorliegen
> sondern erst von der Festplatte geholt werden müssen.

Eine einzelne Platte oder ein RAID-1 Paar kann ca. 200 Seeks pro Sekunde
durchführen oder ca. 50 MB/sec linear lesen. Wenn man mehr Leistung haben
will, braucht man entweder mehr RAM oder mehr Platten (bei Writes: man
braucht mehr Platten).

> Kann man das (außer durch selbstversuch :-) widerlegen? Oder ist das
> einfach so und spielt in der Praxis eine untergeordnete Rolle?

In der Praxis ist das die Performancelimitierung für alle Datenbanksysteme.

Kris

Re: Maximale Größe und Performance

am 21.11.2006 09:54:07 von Christian Schmelzer

Christian Schmidt wrote:
> Am Mon, 20 Nov 2006 20:08:45 +0100 schrieb Kristian Köhntopp:
>
>> Christian Schmidt wrote:
>>> Ich weiß, daß man ohne weitere Informationen eigentlich gar nichts
>>> zur Performance sagen kann.
>>
>> Die größe MySQL-Implementation, die dem Hersteller bekannt ist, ist
>> ein MySQL DW im Bereich von einigen Dutzend TB. Es ist auf Windows
>> realisiert.
>
> Und (mein) Cheffe meint, das ist ein enormes Performance-Problem, wenn
> die Datenbank (oder Teile davon) nicht im Arbeitsspeicher vorliegen
> sondern erst von der Festplatte geholt werden müssen.
>
> Kann man das (außer durch selbstversuch :-) widerlegen? Oder ist das
> einfach so und spielt in der Praxis eine untergeordnete Rolle?
>
> Chris

Aha, dann schau dir mal die Preise von Servern mit 64 GB Ram und mehr an.
Ich meine nicht die Möhren vom Kistenschieber um die Ecke. Wenn solche
Preise alles kein Thema bei euch ist, dann könnt ihr sicher auch
entsprechende Experten bezahlen die euch beraten.
Ich meine damit dass bei entsprechender Datenmenge die Forderung alles im
Speicher halten zu wollen, wirklich teuer wird. Da hat MySQL aber nichts mit
zu tun.

Christian

Re: Maximale Größeund Performance

am 21.11.2006 12:00:06 von Andreas Scherbaum

Christian Schmidt wrote:
>
> Wir haben über die maximalen Datenbankgrößen gesprochen und es gab
> Bedenken wegen der Performance.
>
> Wir reden hier über mehrere Millionen neuer Datansätze jeden Monat plus
> historische Daten der ca. letzten vier Jahre. Allerdings ist noch nicht
> ganz klar welche Daten ins DW übernommen werden und wie noch Aggregiert
> werden kann.
>
> Ich weiß, daß man ohne weitere Informationen eigentlich gar nichts zur
> Performance sagen kann. Mich würde aber mal interessieren, ob jemand
> Erfahrungswerte hat, wenn zB die Datenbank größer als der vorhandene
> Arbeitsspeicher ist oder wenn die Indizes größer als der Arbeitsspeicher
> sind. Gerade bei zweitem kann ich noch nicht so recht glauben, daß wir
> überhaupt in diese Dimensionen kommen.

Nun, dann schätze doch mal vorsichtig ab, wie hoch der Durchsatz wird,
verdoppele das als Sicherheitsrahmen und setze das ansatzweise in einer
Datenbank mit Testdaten um. Dann kannst du recht schnell sehen, in welchen
Bereichen du dich bewegst und kannst gleichzeitig feststellen, wie deine
Performance ausschaut.

Ansonsten: ja, du hast Recht, ohne weitere Informationen kann man dazu
nur sehr wenig sagen.


> Und kennt jemand gute Literatur zu diesem Thema? (Data Warehouse und
> MySQL/PostgreSQL bzw. OpenSource-DBMS)

Nicht aus dem Stehgreif, du könntest aber mal beide Communities
befragen, zumindest die für die zweitgenannte Datenbank ist unter anderem
im IRC sehr aktiv.


Bye

--
Andreas 'ads' Scherbaum
Failure is not an option. It comes bundled with your Microsoft product.
(Ferenc Mantfeld)

Re: Maximale Größe und Performance

am 21.11.2006 21:30:50 von Christian Schmidt

Am Tue, 21 Nov 2006 09:54:07 +0100 schrieb Christian Schmelzer:

> Christian Schmidt wrote:
>>> Christian Schmidt wrote:
>>>> Ich weiß, daß man ohne weitere Informationen eigentlich gar nichts
>>>> zur Performance sagen kann.

>> Und (mein) Cheffe meint, das ist ein enormes Performance-Problem, wenn
>> die Datenbank (oder Teile davon) nicht im Arbeitsspeicher vorliegen
>> sondern erst von der Festplatte geholt werden müssen.
>>
>> Kann man das (außer durch selbstversuch :-) widerlegen? Oder ist das
>> einfach so und spielt in der Praxis eine untergeordnete Rolle?

> Aha, dann schau dir mal die Preise von Servern mit 64 GB Ram und mehr an.

Da möchte ich lieber gar nicht wissen, was die kosten :-)

> Ich meine nicht die Möhren vom Kistenschieber um die Ecke. Wenn solche
> Preise alles kein Thema bei euch ist, dann könnt ihr sicher auch
> entsprechende Experten bezahlen die euch beraten.

Hmm, um Geld ging es doch bisher gar nicht.

> Ich meine damit dass bei entsprechender Datenmenge die Forderung alles im
> Speicher halten zu wollen, wirklich teuer wird. Da hat MySQL aber nichts mit
> zu tun.

Mir ging es eben auch um ein paar Erfahrungswerte, und Kristian hat ja
was dazu gesagt, das hat mir schon weitergeholfen.

MySQL spielt in sofern eine Rolle, daß es im Moment das bevorzugte DBS
ist und alle anderen erstmal damit verglichen werden.

Gruß

Chris