Podczas pracy z aplikacjami lub opracowywaniem baz danych zawsze mamy ograniczoną ilość pamięci i staramy się wykorzystać najmniejszą ilość miejsca na dysku. Chociaż wiemy, że nie ma ograniczeń pamięci dla usług w chmurze, nadal musimy zapłacić za ilość spożywanej przez nas przestrzeni. Czy kiedykolwiek myślałeś o sprawdzeniu, ile dysku zajmują Twoje tabele bazy danych? Jeśli nie, nie musisz się martwić, ponieważ jesteś we właściwym miejscu.
W tym artykule dowiemy się, jak uzyskać rozmiar tabeli w Amazon Redshift.
Jak to zrobimy?
Gdy nowa baza danych jest tworzona w Redshift, automatycznie tworzy niektóre tabele i widoki w tle. Obejmują one widoki i dzienniki STV, SVC, SVL i SVV Widoki. Chociaż jest w nich mnóstwo rzeczy i informacji, które są poza zasięgiem tego artykułu, tutaj po prostu zbadamy trochę na temat widoków SVV.
Widoki SVV zawierają widoki systemowe, które mają odniesienie do tabel STV. Jest tabela o nazwie Svv_table_info gdzie Redshift przechowuje rozmiar stołu. Możesz zapytać dane z tych tabel, podobnie jak normalne tabele bazy danych. Pamiętaj tylko, że svv_table_info zwróci dane informacyjne tylko dla tabel nie pustych.
Uprawnienia Superuser
Jak wiadomo, tabele i widoki systemu bazy danych zawierają bardzo krytyczne informacje, które muszą być prywatne, dlatego dlatego SVV_TABLE_INFO nie jest dostępne dla wszystkich użytkowników bazy danych. Tylko Superusers mogą uzyskać dostęp do tych informacji. Przed uzyskaniem z tego rozmiaru tabeli musisz uzyskać uprawnienia i prawa superuser lub administratora. Aby utworzyć superuser w bazie danych Redshift, musisz po prostu użyć słowa kluczowego Utwórz użytkownika podczas utworzenia nowego użytkownika.
STWÓRZ UŻYTKOWNIKAHasło Createuser „Hasło użytkownika”;
Tak więc pomyślnie utworzyłeś superuser w swojej bazie danych
Rozmiar tabeli przesunięcia ku czerwieni
Załóżmy, że lider zespołu przypisał ci zadanie, aby spojrzeć na rozmiary wszystkich tabel bazy danych w Amazon Redshift. Aby wykonać tę pracę, użyjesz następującego zapytania.
Wybierz „Tabela”, rozmiar z svv_table_info;
Musimy więc zapytać o dwie kolumny z tabeli o nazwie svv_table_info. Kolumna nazwana tabela zawiera nazwy wszystkich tabel obecnych w tym schemacie bazy danych, a kolumna wymieniona rozmiar przechowuje rozmiar każdej tabeli bazy danych w MBS.
Wypróbujmy to zapytanie Redshift na przykładowej bazie danych dostarczonej z przesunięciem ku czerwieni. Tutaj mamy wymieniony schemat tickit i kilka tabel z dużą ilością danych. Jak pokazano na poniższym zrzucie ekranu, mamy tutaj siedem tabel, a rozmiar każdej tabeli w MBS jest wspomniany przed każdym:
Inne informacje, które możesz uzyskać dotyczące rozmiaru tabeli z svv_table_info może być całkowita liczba wierszy w tabeli, którą można uzyskać z tbl_rows kolumna i odsetek całkowitej pamięci zużywanej przez każdą tabelę bazy danych z PCT_USUS kolumna.
W ten sposób możesz wyświetlić wszystkie kolumny i ich przestrzeń zajmowane w bazie danych.
Zmodyfikuj nazwy kolumn do prezentacji
Aby reprezentować dane w bardziej wyrafinowany sposób, możemy również zmienić nazwę kolumn svv_table_info Jak chcemy. Zobaczysz, jak to zrobić w poniższym przykładzie:
Wybierz „Tabela” jako nazwa_,
Rozmiar jako size_in_mbs,
tbl_rows jako no_of_rows
z svv_table_info
Tutaj każda kolumna jest reprezentowana inną nazwą niż jej oryginalna nazwa.
W ten sposób możesz uczynić coś bardziej zrozumiałym dla kogoś z mniejszą wiedzą i doświadczeniem w bazach danych.
Znajdź tabele większe niż określony rozmiar
Jeśli pracujesz w dużej firmie IT i masz pracę, aby dowiedzieć się, ile tabel w Twojej bazie danych jest większe niż 3000 MBS. W tym celu musisz napisać następujące zapytanie:
Wybierz „Tabela”, rozmiar
z svv_table_info
gdzie rozmiar> 3000
Możesz zobaczyć tutaj, że umieściliśmy Lepszy niż warunek na rozmiar kolumna.
Można zauważyć, że właśnie dostaliśmy te kolumny w wyjściu, które były większe niż nasza wartość limitu ustalona. Podobnie możesz wygenerować wiele innych zapytań, stosując warunki w różnych kolumnach tabeli svv_table_info.
Wniosek
Więc tutaj widziałeś, jak znaleźć rozmiar tabeli i liczbę wierszy w tabeli w Amazon Redshift. Jest to przydatne, gdy chcesz określić obciążenie w bazie danych i zapewni ci oszacowanie, jeśli zabraknie Ci pamięci, przestrzeni dyskowej lub mocy obliczeniowej. Oprócz rozmiaru tabeli dostępne są inne informacje, które mogą pomóc w zaprojektowaniu bardziej wydajnej i produktywnej bazy danych dla Twojej aplikacji.