Wednesday, May 21, 2008

Re: [pgsql-de-allgemein] Tabellen im laufenden Betrieb auf andere Tablespaces verlagern ohne DB-Server Downtime?

On Wed, 21 May 2008 16:15:26 +0200 rudi@je-more.de wrote:

> Quoting Andreas 'ads' Scherbaum <adsmail@wars-nicht.de>:
>
> > > Es gibt nicht viele Provider die eine redundante Leitung zum DECIX
> > > haben, ein Rechenzentrum nach den neuesten Standards und Spitzenhardware
> > > zu gue¼nstingen Discountpreisen sowie unlimited Traffic inkl.
> >
> > Du willst ganz viel Leistung fuer ganz wenig Geld, verstehe.
> > Ich enthalte mich weiterer Kommentare.
>
> Wer will das nicht?

Du bekommst aber eine Mogelpackung.
Entweder du zahlst für die Leistung, die du verlangst oder irgendwo
fehlt letztendlich etwas, worauf du dich aber verlässt.

Alles andere ist Marktwirtschaftlich Schwachsinn und deine Idee darauf
zu begründen wird dich auf keinen grünen Zweig bringen.


> > [X] Du hast Tablespaces nicht verstanden.
> >
> > *Grusel* Bitte beschäftige dich erst mit einem Thema, bevor du
> > versuchst, selbiges einzusetzen.
>
> Also nun frage ich mich ob Du die Doku von der Du dauernd
> redest wirklich verstanden hast.

Ich denke, das habe ich.

> Da steht:
> Examples
>
> CREATE TABLESPACE dbspace LOCATION '/data/dbs';
>
> Genau das führt mein Programm aus, nur der Parameter
> LOCATION eben $PGDATA/mylocation entspricht.

'/data' != $PGDATA

> Was soll denn daran bitte schoen falsch sein?

Der Grund, warum man Tablespaces benutzt, steht in "Description":

http://www.postgresql.org/docs/8.3/interactive/sql-createtablespace.html

Lass mich zitieren:

"A tablespace allows superusers to define an alternative location on
the file system where the data files containing database objects (such
as tables and indexes) can reside."

Deine Struktur, die du unterhalb von $PGDATA zementierst, ist keine
"alternative location", das ist schlicht unüberlegter Schwachsinn.
Tablespaces sind dafür gedacht, Daten auf andere Festplatten im System
auszulagern und nicht, weitere Verzeichnisse in $PGDATA anzulegen.


Der andere Grund, den du da früher genannt hattest, dass PG die
Verzeichnisse nicht alleine anlegt:

"directory: The directory that will be used for the tablespace. The
directory must be empty and must be owned by the PostgreSQL system
user. The directory must be specified by an absolute path name."

Warum sollte es - der Administrator der Datenbank bzw. des Systems
weiss selbst am besten, wo die Daten hingeschrieben werden sollen. Wenn
Tablespaces genutzt werden, soll derjenige auch festlegen, wo genau.


> Möglicherweise hast Du ja auch etwas nicht richtig verstanden,
> man lernt nie aus ;d

Ja, genau.
Und du wirst schon wieder persönlich.

> > > Weil es nun mal so ist und ohne Downtime funktionieren muss, ganz
> > > einfach, das ist die Anforderung!
> >
> > "Ohne Downtime" kann nicht die einzige Anforderung sein.
>
> Downtime bedeutet Verlust von Geld. Daher ist es eigentlich recht
> logisch das man sie versucht so gut es geht zu vermeiden. Natürlich
> ist das die wirtschaftliche Seite, aber die ist eben auch
> wichtig.

Ohne Downtime bedeutet "100% Verfügbarkeit". Das zu realisieren nimm
dir besser erst gar nicht vor.

Wenn du so etwas versuchen wolltest, müsste deine Anwendung im
Endausbau bereits stehen, sobald dein Dienst startet. Mit allem drum
und dran, Plattenplatz, Backup und was nicht alles. Obwohl - Backup
brauchst du ja nicht. Schliesslich willst du sowieso 100% Verfügbarkeit
garantieren.

Das was du dir unter "ohne Downtime" vorstellst, ist immer ein Schnitt
aus "möglichst geringe Ausfallzeiten" und "wieviel Hardware und Leute
stehen bereit, das zu garantieren". Wenn du bei einem normalen Hoster
anfängst, hast du schon mal ~ 15 min Downtime, bevor sich irgendjemand
deines Problems annimmt. Das kratzt schon sehr an deinen 100%
Verfügbarkeit.

So, und jetzt überdenk dein Konzept noch mal und leg fest, wieviele
Neunen du hinter dem Komma stehen haben möchtest - und wie ev. die Zahl
vor dem Komma aussieht. Eine Webseite darf auch mal offline
sein. So etwas kündigt man an, richtet Wartungsfester ein und gut ist.
Wenn du den Schnittpunkt zwischen "Kosten für 100% Verfügbarkeit" und
"Einnahmen durch die Webseite" überschreitest, wird dich jeder Manager
zurückpfeifen und dir sagen, dass du da etwas falsch angehst.

> > > Downtimes und schlechte Performance bei konstanten sowie stark
> > > wachsenden Userzahlen sind ein KO Kriterium und no go das unbedingt
> > > vermieden werden muss und daher ist es Gegenstand der aktuellen
> > Planspiele.
> >
> > Marketing ...
>
> Tja, für irgendwen entwickelt man seine Software als Softwareentwickler
> nun mal, am liebsten fue diejenigen Kunden die auch bereit sind
> dafuer zu zahlen und fuer Binsenweisheiten zahlen die Leute nun mal
> nicht viel.

"Ohne Downtime" ist die Binsenweisheit, die du hier verkaufen möchtest.
Haben dir ein paar andere hier aber auch schon geschrieben, du hörst
nunmal nicht zu.

> > > ein verteiltes Szenario ist aber ein interessanter Gedanke, nur scheinen
> > > 80 GByte Server Festplatte dabei trotzdem zu wenig, gerade wenn eine
> > > Tabelle schon über 450 GByte gross ist und stark weiter wächst.
> >
> > Ich erinnere dich mal an deine eigenen Aussagen, dass du Terabyte bzw.
> > Exobyte an Daten ablegen wolltest. Da sind auch Festplatten mit 450 GB
>
> Ich sprach davon das eine bestimmte Tabelle bereits die Marke von
> 450 GByte erreicht hat und das Oracle 8 Exobate an Daten verwalten kann.

Ich möchte dich auf:

http://archives.postgresql.org/pgsql-de-allgemein/2008-05/msg00017.php

verweisen, wo du genau das selbst schreibst.

> Un nun bleib mal locker;D

Ich bin locker, ich habe ein Archiv der Mailingliste zur Verfügung und
weiss, wie man darin sucht. Was ist dein Argument?


Bis dann

--
Andreas 'ads' Scherbaum
German PostgreSQL User Group
European PostgreSQL User Group - Board of Directors

--
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein

No comments: