Clicky

Skocz do zawartości


Zdjęcie
- - - - -

Brak miejsca na serwerze

6 odpowiedzi w tym temacie

  • Zaloguj się, aby dodać odpowiedź

#1 phpion

phpion

    Senior Mastah

  • Użytkownik
  • PipPipPip
  • 774 postów
  • Skąd:Sosnowiec, Dąbrowa Górnicza

Napisano 17 marzec 2010 - 11:56

Tiaaa,
może na dzień dobry zacznę od cytatu z logów Kohany:

Nieobsługiwany Kohana_Database_Exception: Wystąpił błąd SQL: ERROR:  could not extend relation 1663/16387/876422: No space left on device
HINT:  Check free disk space.

Wygląda na to, że skończyła się pojemność dysku, co prędzej czy później by nastąpiło. Pytanie moje jest proste: co robić? Można oczywiście przenieść bazę (bo to komunikat z PostgreSQL) na większy dysk, no ale za jakiś czas pewnie sytuacja się powtórzy. Jak się organizuje bazy danych o sporych rozmiarach (rzędu kilku(dziesięciu/set) GB)? Czy magicznym terminem przydatnym w takiej sytuacji jest replikacja (nigdy nie miałem z nią do czynienia)? Jeśli tak to czy jest możliwe proste (!) przejście ze schematu standardowego (1 baza) na master-slave? Prosiłbym o pomoc bo pewnie będzie trzeba interweniować...
Pozdrawiam,
pion
Notifero - Technologie Informatyczne | Warsztat: Kohana 3.x/2.x + PostgreSQL/MySQL | Programista Kohana

#2 Maciek

Maciek

    Senior Mastah

  • Użytkownik
  • PipPipPip
  • 780 postów

Napisano 17 marzec 2010 - 12:09

Nie do końca odpowiem na Twoje pytania ale może na początek zacznij od porządków w bazie (w Postgresie chyba jest do tego funkcja VACUUM, taki MSSQL'owy SHRINK). ;)

Nie wydaje mi się żebyś akurat potrzebował replikacji w przypadku braku miejsca - replikacja, jak sama nazwa wskazuje, tylko powiela bazę.

EDIT Jeszcze ten poglądowy rysunek (źródło: http://dev.mysql.com...s-scaleout.html).

Dołączona grafika

#3 jedre

jedre

    Młodszy Mastah

  • Użytkownik
  • PipPip
  • 464 postów
  • Skąd:Polska

Napisano 17 marzec 2010 - 12:15

A może dołożyć po prostu dysk i złączyć w jeden dysk logiczny.

#4 phpion

phpion

    Senior Mastah

  • Użytkownik
  • PipPipPip
  • 774 postów
  • Skąd:Sosnowiec, Dąbrowa Górnicza

Napisano 17 marzec 2010 - 12:21

@Maciek:
Fakt, z tą replikacją to trafiłem jak kulą w płot :) w sumie to nawet znam znaczenie tego terminu więc nie wiem skąd taki pomysł. Replikacja przecież zadziałałaby w drugą stronę :/

@jedre:
Sorry za moją niewiedzę, ale jak to działa w praktyce? Konkretnie chodzi mi o to kto ma się tym zająć :P Napisałem system, który pracuje na jednej bazie danych. Aktualnie jest problem opisany powyżej czyli brak miejsca. Czy dołożenie dysku i połączenie ich w jeden dysk logiczny będzie wymagało ode mnie jakiejś dodatkowej pracy? Czy może wiąże się to z pracą administratora, a całość operacji (zapis i odczyt danych z bazy) będzie odbywał się magicznie z wykorzystaniem N dysków bez konieczności mojej ingerencji w kody?
Notifero - Technologie Informatyczne | Warsztat: Kohana 3.x/2.x + PostgreSQL/MySQL | Programista Kohana

#5 nrm

nrm

    webmastah

  • Admin
  • 1106 postów
  • Skąd:Katowice

Napisano 17 marzec 2010 - 12:28

bez twojego udziału. najpierw technik w serwerowni dorzuci nowy dysk a potem admin serwera podmontuje go do systemu.

#6 phpion

phpion

    Senior Mastah

  • Użytkownik
  • PipPipPip
  • 774 postów
  • Skąd:Sosnowiec, Dąbrowa Górnicza

Napisano 17 marzec 2010 - 12:32

Dzięki chłopaki za odpowiedzi :) pierwszy raz mam styczność z tak dupną bazą i dziś nieco spanikowałem ;)
Notifero - Technologie Informatyczne | Warsztat: Kohana 3.x/2.x + PostgreSQL/MySQL | Programista Kohana

#7 nediam

nediam

    Młodszy Mastah

  • Użytkownik
  • PipPip
  • 238 postów

Napisano 17 marzec 2010 - 13:14

Nie wiem jak w postgresie ale w mssql można partycjonować tabela tzn przerzucić np kilka tabel na inny dysk lub nawet podzielić tak tabela aby np rekordy od 1 do 2k były na jednym dysku a pozostałe na innym :>




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych