Baza danych MySQL na wielu serwerach


11

Ok, naprawdę nie wiem jak zapytać o to, co chcę dowiedzieć się, co jest prawdopodobne, dlaczego moje czytanie i badania nie dają nic względnego na słowo. Tak więc obecnie posiadam pojedynczą bazę danych MySQL i wiem, że prędzej czy później dane będą się gromadzić i zabraknie mi miejsca na tym serwerze. Zanim to się stanie, chcę uporządkować dane, aby baza danych była rozproszona na wielu komputerach, z których jeden służy do równoważenia obciążenia, a drugi do przechowywania.

Moje pytanie brzmi: jak to działa? Być może myślę tutaj o 1 wymiarach, ale nie mogę zrozumieć, jak to by działało, czy jest to jeden DB, który przelewa się na następną maszynę, a następny w miarę wzrostu danych, czy też poszczególne DB z tymi samymi schematami dla każdego, tak czy inaczej, po prostu nie mogę sobie wyobrazić w mojej głowie, nie mówiąc już o logice, która pozwoli na sprawdzenie, nad czym obecnie pracujemy. Ponieważ nie chcemy uderzyć w ścianę i zatrzymać wszystko w przypadku, gdy dane są zbyt duże dla jednej maszyny.

Więc co muszę czytać, badać, metody, praktyki itp., Aby znaleźć się na właściwej drodze?


Pomogło mi to, że jestem nowy, jeśli chodzi o (moją) usługę sql obejmującą wiele komputerów. Miałem trochę trudności ze znalezieniem odpowiednich pytań, aby włamać się do tej przestrzeni. +1 zarówno pytanie, jak i odpowiedź. ;)
James T Snell

Odpowiedzi:


8

Rzeczywiście możesz, potrzebujesz klastrowania MySQL .

W szczególności jedna funkcja - „ automatyczne dzielenie ” - rozłoży twoje dane na wiele komputerów. „Skalowanie online” pozwala dodawać nowe węzły, jeśli potrzebujesz większej pojemności podczas działania bazy danych. Całkiem fajne. Możesz go pobrać tutaj .

Istnieje jednak kilka innych rzeczy, które możesz rozważyć, aby rozwiązać problem, które mogą być łatwiejsze do osiągnięcia:

Zdobądź większy dysk twardy!

Brzmi to trochę oczywisto, ale jeśli można śmiało powiedzieć, że dysk twardy xxxGb przetrwałby Y lata, może warto. Możesz albo zrobić zdjęcie dysku i zainstalować go na nowym, albo zainstalować jako dodatkowy dysk i przenieść pliki danych MySQL na nowy dysk. <

Podziel tabele na wiele baz danych.

Podziel tabele na wiele baz danych, które można następnie przechowywać na wielu dyskach. Windows Azure ma ograniczenia wielkości baz danych i Microsoft zaleca to podejście. To także trochę poprawia wydajność.

Czy możesz zarchiwizować dane?

Czy jesteś w stanie zarchiwizować duże tabele na innym dysku? Czy dane są naprawdę potrzebne? Jeśli jest to historyczne i wymagane tylko w celach informacyjnych, czy możesz skonfigurować proces archiwizacji, który wypycha go do plików na innym dysku lub do tabel archiwów w innej bazie danych, która wskazuje na pliki danych na innym dysku?


Ma to być system produkcyjny, w którym tak, z czasem można wykonać pewną archiwizację, ale ogólnie oczekiwane dane, które będą regularnie przywoływane przez garść tabel, będą z łatwością wynosić kilka terabajtów. Wszystko, co nieco pomaga Clustering, muszę bardzo mocno przeczytać temat, dzięki. Większy HD jest jednak niestety dostępny, ponieważ wiele danych o jednym punkcie awarii jest dla mnie wielkim ryzykiem.
Chris
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.