2016-04-20 22 views

Odpowiedz

12

RDS nie pozwala zmniejszyć ilość pamięci przydzielonej do instancji bazy danych, a jedynie ją zwiększyć.

Aby przenieść bazę danych do mniejszej ilości pamięci, należy utworzyć nową instancję RDS z żądaną przestrzenią dyskową, a następnie użyć czegoś w rodzaju pg_dump/pg_restore, aby przenieść dane ze starej bazy danych do nowej.

Należy również pamiętać, że instancja RDS z 1000 GB pamięci SSD ma podstawowy IOPS równy 3000. Instancja RDS z 100 GB pamięci SSD ma bazowy IOPS równy 300, z okazjonalnymi impulsami do 3000.

4

Korzystając z RDS, zamiast typowego "planowania pojemności" sprzętu, wystarczy zapewnić wystarczającą ilość miejsca na dysku na krótki lub średni okres (zależy), w razie potrzeby rozszerzyć go.

Jak wspomniano o @Mark B, musisz również obserwować IOPS. Możesz użyć "provisioned IOPS", jeśli potrzebujesz wysokiej wydajności DB.

Powinieneś dokonać korekty kosztowej i wydajnościowej przed skokiem do części przestrzeni dyskowej. E.g. jeśli zredukujesz od 1000 GB do 120 GB, na zachodzie Zachodu zaoszczędzisz 0,125 x 880 GB = 110/miesiąc. Ale Max IOPS będzie wynosił 120x 3 = 360IOPS

Kosztowanie 0,10 USD za udostępnienie dodatkowego IOPS w celu zwiększenia wydajności. Powiedz, czy potrzebujesz 800IOPS, aby uzyskać wyższą odpowiedź online,
(800-360) x 0.10 = 44 USD. Zatem faktyczne oszczędności mogą ostatecznie "zmniejszyć". Nie zaoszczędzisz pieniędzy, jeśli twój RDS potrzebuje stałej 1100 IOPS. A także inny czynnik dyskontowy może wejść w grę.

9

podstawie AWS pomoc here, to jest pełny proces, który pracował dla mnie:

1) zrzutu bazy danych do pliku: uruchomić to na komputerze, który ma dostęp sieciowy do bazy danych: pg_dump -Fc -v -h your-rds-endpoint.us-west-2.rds.amazonaws.com -U your-username your-databasename > your-databasename.dump

2) W konsoli AWS utwórz nową instancję RDS z mniejszą pamięcią masową. (Prawdopodobnie chcesz ustawić tę samą nazwę użytkownika, hasło i nazwę bazy danych.)

3) Przywróć bazę danych na nowej instancji RDS: uruchom to polecenie (oczywiście na tym samym komputerze co poprzednie polecenie):.. pg_restore -v -h the-new-rds-endpoint.us-west-2.rds.amazonaws.com -U your-username -d your-databasename your-databasename.dump

(Uwaga, w kroku 3, że używam końcowy nowej instancji RDS Należy również pamiętać, że nie ma :5432 na koniec końcowych adresów)

2

Amazon nie pozwalają zmniejszyć rozmiar dysku twardego instancji RDS, możesz mieć dwie opcje zmniejszenia rozmiaru pamięci.

1: -jeśli możesz sobie pozwolić na przestoje, to kopia zapasowa starej instancji mysqldump może zostać przywrócona do nowej instancji o mniejszym rozmiarze pamięci.

2: - Możesz użyć usługi migracji bazy danych, aby przenieść dane z jednej instancji do innej instancji bez przestojów.

+0

Dzięki za sugestię usługi migracji bazy danych. To prawie dla mnie działało - dopóki nie odkryłem, że nie obsługuje (obecnie) prawidłowej migracji kolumn JSON lub JSONB :-( –