MySql ile wytrzyma (rekordów)
- soulreaver1
- Wytworny Kaczor
- Posty: 409
- Rejestracja: 13 mar 2009, 10:03
- Płeć: Mężczyzna
- Wersja Ubuntu: inny OS
- Środowisko graficzne: Inne
- Architektura: x86_64
- Lokalizacja: 127.0.0.1
MySql ile wytrzyma (rekordów)
Witam.
Mam bazę Mysql która zawiera w tej chwili ok. 300 tyś. rekordów (50 Mb) w ciągu miesiąca będzie już ok. 5 mln. Baza przechowuje logi z serwera proxy. Ile rekordów jest w stanie pomieścić MySql żeby się nie zamuliła i żeby nie było problemów? Serwer jest zainstalowany na zwykłym starym PC; Celeron 2,6 Ghz, 2GB RAM, HDD SATA 7400 obr/min, Debian Squeeze x86.
Mam bazę Mysql która zawiera w tej chwili ok. 300 tyś. rekordów (50 Mb) w ciągu miesiąca będzie już ok. 5 mln. Baza przechowuje logi z serwera proxy. Ile rekordów jest w stanie pomieścić MySql żeby się nie zamuliła i żeby nie było problemów? Serwer jest zainstalowany na zwykłym starym PC; Celeron 2,6 Ghz, 2GB RAM, HDD SATA 7400 obr/min, Debian Squeeze x86.
inny OS: FreeBSD 8.2, Linux Mint 12.
- mario_7
- Administrator
- Posty: 8655
- Rejestracja: 30 sie 2006, 13:11
- Płeć: Mężczyzna
- Wersja Ubuntu: 20.04
- Środowisko graficzne: GNOME
- Architektura: x86_64
Odp: MySql ile wytrzyma (rekordów)
http://dev.mysql.com/doc/refman/5.0/en/full-table.html
Oznacza to tyle, że limit rozmiaru tabeli stanowi limit rozmiaru pliku na dysku. Oznacza to też, że limitu rozmiaru bazy jako takiego nie ma (jeśli rozłożysz go na odpowiednią liczbę tabel). W zasadzie jak poczytasz stronę, do której link podałem wyżej, to doczytasz się, że jedną tabelę można przechowywać w wielu plikach, więc nawet ten limit (jako programowy) nie istnieje...
Faktyczne ograniczenie stanowi zatem sprzęt, który przy naprawdę dużych bazach może mieć problemy z odpowiednia prędkością działania. Powiem tak - baza rozmiaru kilku GB to pikuś dla sprzętu który podałeś (chyba, że serwer jest znacznie obciążony).
Jeszcze jednym aspektem, który znacznie wpływa na wydajność (nawet bardziej niż sprzęt) to stosowanie optymalnych zapytań do bazy danych. Jeśli baza nie musi mielić bezużytecznych danych w każdym zapytaniu, to rozmiary rzędu kilkudziesięciu GB nie powinny być problemem (choć przy wspomnianym sprzęcie może być już widoczny spadek wydajności).
Oznacza to tyle, że limit rozmiaru tabeli stanowi limit rozmiaru pliku na dysku. Oznacza to też, że limitu rozmiaru bazy jako takiego nie ma (jeśli rozłożysz go na odpowiednią liczbę tabel). W zasadzie jak poczytasz stronę, do której link podałem wyżej, to doczytasz się, że jedną tabelę można przechowywać w wielu plikach, więc nawet ten limit (jako programowy) nie istnieje...
Faktyczne ograniczenie stanowi zatem sprzęt, który przy naprawdę dużych bazach może mieć problemy z odpowiednia prędkością działania. Powiem tak - baza rozmiaru kilku GB to pikuś dla sprzętu który podałeś (chyba, że serwer jest znacznie obciążony).
Jeszcze jednym aspektem, który znacznie wpływa na wydajność (nawet bardziej niż sprzęt) to stosowanie optymalnych zapytań do bazy danych. Jeśli baza nie musi mielić bezużytecznych danych w każdym zapytaniu, to rozmiary rzędu kilkudziesięciu GB nie powinny być problemem (choć przy wspomnianym sprzęcie może być już widoczny spadek wydajności).
- soulreaver1
- Wytworny Kaczor
- Posty: 409
- Rejestracja: 13 mar 2009, 10:03
- Płeć: Mężczyzna
- Wersja Ubuntu: inny OS
- Środowisko graficzne: Inne
- Architektura: x86_64
- Lokalizacja: 127.0.0.1
Odp: MySql ile wytrzyma (rekordów)
Ok, dzięki za rozjaśnienie tematu. Niestety w mojej bazie 99% rekordów znajduje się w jednej tabeli i tak będzie musiało pozostać.
inny OS: FreeBSD 8.2, Linux Mint 12.
- mario_7
- Administrator
- Posty: 8655
- Rejestracja: 30 sie 2006, 13:11
- Płeć: Mężczyzna
- Wersja Ubuntu: 20.04
- Środowisko graficzne: GNOME
- Architektura: x86_64
Odp: MySql ile wytrzyma (rekordów)
Jeśli chcesz się przekonać jak dużą bazę uciągnie Twój sprzęt, to powrzucaj do niej jakieś "dane testowe" (czytaj: kilka GiB śmieci) i zobacz jak to działa.
Nie wiem jakiego rodzaju logi zbierasz, ale takie rzeczy zazwyczaj przechowuje się w plikach. Przemyśl sprawę - może nie wszystko musisz trzymać w bazie.
Nie wiem jakiego rodzaju logi zbierasz, ale takie rzeczy zazwyczaj przechowuje się w plikach. Przemyśl sprawę - może nie wszystko musisz trzymać w bazie.
- soulreaver1
- Wytworny Kaczor
- Posty: 409
- Rejestracja: 13 mar 2009, 10:03
- Płeć: Mężczyzna
- Wersja Ubuntu: inny OS
- Środowisko graficzne: Inne
- Architektura: x86_64
- Lokalizacja: 127.0.0.1
Odp: MySql ile wytrzyma (rekordów)
mario_7 pisze:Jeśli chcesz się przekonać jak dużą bazę uciągnie Twój sprzęt, to powrzucaj do niej jakieś "dane testowe" (czytaj: kilka GiB śmieci) i zobacz jak to działa.
Nie wiem jakiego rodzaju logi zbierasz, ale takie rzeczy zazwyczaj przechowuje się w plikach. Przemyśl sprawę - może nie wszystko musisz trzymać w bazie.
Baza jest generowana przez program Proxylizer http://wiki.mikrotik.com/wiki/Proxylizer/Introduction a tabela wygląda tak:

Poczekam po prostu aż się nazbiera trochę tych rekordów, jeśli zacznie mulić to zapuszczę skrypt "Delete + Optimze" i po sprawie. Właściwie wystarczy mi jeśli będą przechowywane rekordy tylko z 30 dni wstecz, z czystej ciekawości chciałem wiedzieć jakie są możliwości...
inny OS: FreeBSD 8.2, Linux Mint 12.
- jacekalex
- Gibki Gibbon
- Posty: 4707
- Rejestracja: 17 cze 2007, 02:54
- Płeć: Mężczyzna
- Wersja Ubuntu: inny OS
- Środowisko graficzne: MATE
- Architektura: x86_64
Odp: MySql ile wytrzyma (rekordów)
O ile się nie mylę Mysql w wersji darmowej miewał spore kłopoty wydajnościowe, przy liczbie rekordów większej, niż milion w jednej tabeli.
Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Komputer jest jak klimatyzacja - gdy otworzysz okna, robi się bezużyteczny...
Linux User #499936
Inny OS: Gentoo Linux
Komputer jest jak klimatyzacja - gdy otworzysz okna, robi się bezużyteczny...
Linux User #499936
Inny OS: Gentoo Linux

- ethanak
- Wygnańcy
- Posty: 3054
- Rejestracja: 04 gru 2007, 13:19
- Płeć: Mężczyzna
- Wersja Ubuntu: 12.04
- Środowisko graficzne: GNOME
- Architektura: x86
- Lokalizacja: Bielsko-Biała
- Kontakt:
Odp: MySql ile wytrzyma (rekordów)
Inaczej: każda baza danych będzie miała sęki jak nie założysz indeksów.jacekalex pisze:O ile się nie mylę Mysql w wersji darmowej miewał spore kłopoty wydajnościowe, przy liczbie rekordów większej, niż milion w jednej tabeli.
A z innej beczki; jak myslisz, czy firmie Oracle opłaca się rozdawać za darmo bazę danych (MySQL) jeśli może sprzedać inne rozwiązanie (wiecie jakie)?
Кто жопой родился, чижиком не помрёт
- jacekalex
- Gibki Gibbon
- Posty: 4707
- Rejestracja: 17 cze 2007, 02:54
- Płeć: Mężczyzna
- Wersja Ubuntu: inny OS
- Środowisko graficzne: MATE
- Architektura: x86_64
Odp: MySql ile wytrzyma (rekordów)
Dokładnie to samo było z Sunem i Mysql-Enterpise.ethanak pisze:Inaczej: każda baza danych będzie miała sęki jak nie założysz indeksów.
A z innej beczki; jak myslisz, czy firmie Oracle opłaca się rozdawać za darmo bazę danych (MySQL) jeśli może sprzedać inne rozwiązanie (wiecie jakie)?
W tej chwili bardziej liczyłbym na klony Mysql - MariaDB i Percona.
Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Komputer jest jak klimatyzacja - gdy otworzysz okna, robi się bezużyteczny...
Linux User #499936
Inny OS: Gentoo Linux
Komputer jest jak klimatyzacja - gdy otworzysz okna, robi się bezużyteczny...
Linux User #499936
Inny OS: Gentoo Linux

-
- Sędziwy Jeż
- Posty: 31
- Rejestracja: 04 lis 2010, 18:04
- Płeć: Mężczyzna
- Wersja Ubuntu: 10.10
- Środowisko graficzne: GNOME
- Architektura: x86
Odp: MySql ile wytrzyma (rekordów)
przy takiej bazie danych stworzyłbym jakiś indeks najlepiej drzewiasty. Wtedy czas dostępu będzie rósł logarytmicznie.
polecam podręcznik Bega do projektowania baz danych. rozdział był bodajże 15-16 o etapie fizycznym projektowania.
polecam podręcznik Bega do projektowania baz danych. rozdział był bodajże 15-16 o etapie fizycznym projektowania.
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 11 gości