1

Temat: Backup bazy i danych

Witam
Mam pytanie odnośnie backupu bazy.
Dump pozwala mi zrobić backup całej bazy i ją przywrócić. Jest to dobre do zarchiwizowania całej struktury bazy. Jednak kiedy baza ciągle pracuje i następują zmiany w tabelach to taka archiwizacja chyba nie zdaje egzaminu, przecież nie będę robił co minute dump-a. W jaki sposób mogę zapisywać stan co się dzieje w tabelach z danymi.
Nie wiem czy jasno się wyraziłem, ale jeżeli zrobię np: dziś dump bazy o 16.00 a baza się "rozkraczy" o 22.32 to jak odzyskać dane które były aktualizowane pomiędzy tymi godzinami.


Z góry dzięki za odpowiedź
AdamP.

2

Odp: Backup bazy i danych

3

Odp: Backup bazy i danych

Znalazłem takie zdanie "This is particularly valuable for large databases, where it might not be convenient to take a full backup frequently"

Czy to znaczy, że normalnie używa się pełnego backup-u dump-em co pewien "częsty" czas?? Jeżeli tak to ile wynosi taki średni czas i czy dane pomiędzy backup-ami są nieważne?

I jeszcze pytanko, czy zanim przywróce baze restore to powinienem stara baze usunąć? Przywracajac kopie w PGAdminie jeżeli nie skasuje starej bazy to wyskakują mi błędy.

AdamP.

4

Odp: Backup bazy i danych

Korzystając z dobodziejstw Point In Time Recvery (jeśli nie masz oczywiście Postgresa sprzed wersji 8) możesz tworzyć kopie działającej bazy podczas pracy. Działa to na innej zasadzie niż dump, tutaj wykorzystujesz tarowanie z całym filesystemem. Po pierwszym tarowaniu całej bazy potem systematycznie tworzone są tylko pliki przyrostowe.

5

Odp: Backup bazy i danych

ok, PITR już przeglądam dokument od riski, ale nadal mój poprzedni post pozostaje aktualny do odpowiedzi na temat "częstego czasu".

I jeszcze jedno pytanie

As with the plain file-system-backup technique, this method can only support restoration of an entire database cluster, not a subset. Also, it requires a lot of archival storage: the base backup might be bulky, and a busy system will generate many megabytes of WAL traffic that have to be archived. Still, it is the preferred backup technique in many situations where high reliability is needed.

Jezeli mam w klastrze kilka baz, a tylko np: dwie są "high reliability" to czy mogę resztę baz przenieść do nowego klastra żeby nie robic kopi całego klastra która zajmowała by dużo miejsca. Czy wiele klastrów obniża wydajność bazy lub w inny sposób wpływa niekorzystnie na bazę?

Zaznaczę, że narazie nie mam takich problemów, ale pytam ponieważ chciałbym przemyśleć w jaki sposób najlepiej stworzyć bazę żeby w przyszłości nie wpaść w kłopoty.

AdamP.

6

Odp: Backup bazy i danych

7

Odp: Backup bazy i danych

Jeżeli chodzi o klastry to nie wiem czy dobrze rozumiem, ja to traktuje jako Tablespace. W PGAdminie utworzyłem nowy Tablespace i tam utworzyłem nową bazę. Domyślny Tablespace w C:\Program Files\PostgreSQL\8.4\data\base,  drugi Taglespace w c:\data1.

Jeżeli się mylę to proszę o wyjaśnienie tej sprawy.

AdamP.

8

Odp: Backup bazy i danych

No właśnie coś mi nie pasowało w twoim pytaniu smile.
Klaster (cluster) w postgresie to miejsce (katalog) gdzie składowany jest plik konfiguracyjny postgresql.conf i tabele ze schematu global (tak sie chyba nazywa jeśli się nie mylę). Pozostałe pliki konfiguracyjne zazwyczaj też są w klastrze ale nie muszą. Bazy danych też są składowane w klastrze ale jak już zauważyłeś obiekty można składować w innych lokalizacjach poprzez tabelspace'y. Poza tym klaster zawiera jeszcze inne obiekty.
Ale na pewno nie należy utożsamiać klastra postgresowego z tabelspace'm a tym bardziej z pojęciem klastra stosowanym w innych baza danych (i nie tylko).

9

Odp: Backup bazy i danych

Ok
Czy wykorzystywanie Tablespace jest korzystne czy nie? Czy bazy w różnych Tablespace są różnie interpretowane przez beze?
Czy jest sens rozbijać bazy na Tablespace, aby nie generować dużej kopi przyrostowej jeżeli nie jest potrzeba dla wsztskich baz.

As with the plain file-system-backup technique, this method can only support restoration of an entire database cluster, not a subset. Also, it requires a lot of archival storage: the base backup might be bulky, and a busy system will generate many megabytes of WAL traffic that have to be archived. Still, it is the preferred backup technique in many situations where high reliability is needed.

10

Odp: Backup bazy i danych

Backup przyrostowy jest zawsze na całym klastrze. O ile się nie mylę to tabelspace'y działają na zasadzie linków. Więc podział klastra na tablespace'y nie powoduje że pewne bazy nie znajdą się w przyrostowych backupach (chociaż mam co do tego 90% pewności smile bo może jest jakiś trick) .

Podział na tablespace'y ma w zasadzie najczęściej chyba tylko wtedy sens gdy mamy na posiadaniu jakieś szybsze nośniki (dyski) do których możemy wrzucić najczęściej używane tabele.

11

Odp: Backup bazy i danych

Szkoda że to tylko linki.

I jeszcze stare pytanko, czy zanim przywróce baze restore to powinienem stara baze usunąć? Przywracajac kopie w PGAdminie zrobiona również w PGAdminie jeżeli nie skasuje starej bazy to wyskakują mi błędy.

12

Odp: Backup bazy i danych

13

Odp: Backup bazy i danych

Pełny backup, błędy wyskakują różne ( primary key nie istnieje, albo constraint mu cosik nie pasuje) jak wykasuje bazę to na nowej świeżej ładnie sie przywraca backup. Chyba muszę jeszcze nd tymi kopiami posiedzieć. Zastanwiam sie jeszcze nad Oracle 10 XE tylko nie wiem czy mi 4GB na dane starczy.

14

Odp: Backup bazy i danych

Nie no jak przywracasz z pełnego backupu to powinieneś mieć czystą bazę, inaczej będą występować m.in. konflikty nazw (m.in. tabela już istnieje)

Z ciekawostek zapodam, że ostatnio wpadłem na stronę projektu pg_rman, nie wiem czy znasz oracle ale w nim RMAN to taka kobyła m.in. do backupów. No i ludkowie chcą zrobić coś takiego  w postgresie. Na razie działa dość topornie ale kto wie smile, może coś im z tego wyjdzie.

Ostatnio edytowany przez rski (2010-04-25 22:01:26)

15

Odp: Backup bazy i danych

To była by super sprawa. RMAN jeszcze nie testowałem, mam zamiar sie zabrać za to, ale Oracle to zasobożerna kobyła, Postgres jest mniejszy prostrzy w obsłudze i ma typ pola TIME który mi pasuje. Z Oraclem mam doczynienia tylko z raportowaniem danych.

16

Odp: Backup bazy i danych

Zastanawia mnie jedna rzecz.
Kombinujesz tablespaceami aby nie obciążać w przyszłości bazy przez proces backupowania (który co by nie mówić i tak będzie mniej obciążający niż taki dump - w zasadzie polecenie tar na plikach i cp), a jednocześnie swojego PostgreSQLa stawiasz na Windowsie.
PostreSQL był bazą od początku przeznaczoną na Linuxa, na Windowsa zaś powstał stosunkowo niedawno. Z doświadczenia wiem, że już przy kilkumilionowo-rekordowych bazach, różnica w pracy jest bardzo widoczna.
Jeśli więc chcesz zapewnić wydajność bazy na przyszłość, proponowałbym najpierw zmienić OSa.

17

Odp: Backup bazy i danych

Na razie nic nie stawiam na trwałe, najpierw chce się dowiedzieć o niektóre rzeczy. Milionów rekordów sie nie spodziewam, ale lepiej wcześniej poznać szczegóły dotyczące bazy niż później drapać sie po głowie.
Moze ktoś z tu obecnych napisze w jaki sposób robi kopie i czy jest z tego zadowolony. Wysłuchajmy kilku przykładów z zycia i wtedy każdy bedzie mógł coś dla siebie wybrać.

18

Odp: Backup bazy i danych

Powiem tak, przy największej bazie gdzie sam dump zajmuje 2.5GB (pliki bazy to dziesiątki GB) w zupełności wystarczy mi pg_dump. Co prawda backupy robie z rana może przy kilkunastu klientach podłączonych jednocześnie, nie przeszkadza to jednak specjalnie w pracy ludzi.
To jest PostgreSQL, solidny SZBD stworzony z myślą o wielkich bazach.
Jeśli nie zamierzasz trzymać ogromej ilości danych w Postgresie, to podstawowe narzędzie pg_dump wystarczy Ci w zupełności.

19

Odp: Backup bazy i danych

Ok, jak rozumiem robisz kopie raz dziennie rano, a jeżeli baza padnie popołudniu to dane juz nie do odzyskania, czy może sie mylę? To wg mnie należało by robic kopie częściej aby danych utracić jak najmniej.

20

Odp: Backup bazy i danych

Nikt nie pisze, czyżby wszyscy zajeli sie kopiami :-) to jeszcze cos napisze, patrząc z punktu użytkownika to nie byłbym zadowolony kiedy po całym dniu klepania danych okazuje sie rano że ich nie ma i trzeba je wklepać od nowa. Jeżeli tylko sie da ponownie wpisac to mały problem, ale co z danymi których już sie nie ma?
Jeszcze tak zapytam jeżeli mogę to jakiego rodzaju dane w jakiej branży są przechowywane w bazie tu obecnych, że wystarcza jedna kopia tylko.
Ja np: mam kilka baz w Accessie, cron robi mi kopie co godzine z datą i czasem w nazwie pliku, a zarazem kasuje mi stare kopie po 7 dniach. Robie tak ponieważ gdyby zaszła potrzeba odwołać się do danych w razie nieporozumień to jestem to w stanie zrobić.
Te właśnie bazy musze przenieśc do jakiejś jednej słusznej bazy i tam nimi zarządzać.
Może popadam w paranoje, czy ja nie przesadzam???

21

Odp: Backup bazy i danych

Dokładnie. Chcesz częściej i z automatu, to używasz crona.

22

Odp: Backup bazy i danych

witam serdecznie;
wbrew pozorom sposoby robienia kopii zapasowych bazy danych moga sie komplikowac i czestotliwosc robienia takiej kopii niczego nie rozwiaze nawet gdybysmy robili kopie co minute; duzo zalezy jak dynamicznie zachodza zmiany w bazie i w jaki sposob uzytkownicy lacza sie z baza (bezprzewodowo, przez pocze elektronicza, vpn i replikacje czesto wielopoziomowa); tak ze posiadanie kopii zapasowej to jedno a moznosc wstrzymania rozpoczetych juz procesow aktualizacji bazy danych to drugie; w prostych systemach rzeczywiscie wystarczy miec kopie co jakis czas i wszystko jest pod kontrola ale bywaja systemy monstrualne, ze strach sie bac;
pozdrawiam

23

Odp: Backup bazy i danych

proponuje projekt pg_rman
ale nie sprawdzalem jak to działa

24

Odp: Backup bazy i danych

póki co działa jeszcze dość topornie. Jednak postgres to nie oracle.