Pytanie to składa się z dwóch części: kiedy dodać nową FILEGROUP i kiedy dodać nowy PLIK w grupie plików. Najpierw porozmawiajmy o teorii:
Mark ma rację, że głównym powodem jest wydajność.
Drugim powodem jest odzyskiwanie po awarii. W SQL Server 2005 i nowszych wersjach można przywracać aplikacjami. Gdy dochodzi do katastrofy, możesz najpierw przywrócić tylko podstawową grupę plików i częściowo przełączyć bazę danych w tryb zapytań. Użytkownicy mogą uruchamiać zapytania podczas przywracania innych aplikacjami. Jest to przydatne w przypadku baz danych z dużą ilością danych historycznych, które mogą nie być od razu wymagane, lub hurtowni danych, które muszą ładować dane do bieżących tabel bez potrzeby dostępu do danych historycznych.
Innym powodem jest profil odczytu / zapisu grup danych. Jeśli masz jakieś dane, które są stale zapisywane, i inne dane, które są intensywnie czytane, możesz zbudować różne typy pamięci, aby sprostać tym potrzebom. Możesz umieścić ciężkie zapisy na raid 10, a pozostawić tendencyjne do odczytu rzeczy na tańszym raidu 5.
Teraz porozmawiajmy o plikach a aplikacjach. Podczas umieszczania obiektów w SQL Server, musisz umieścić je na poziomie grupy plików. Możesz wyładować tabelę lub indeks w grupie plików, ale nie możesz wybrać konkretnego pliku. Więc wszystko, co do tej pory omawialiśmy, dotyczyło tego, kiedy dodać grupę plików - ale kiedy dodajesz plik?
Jeśli projektujesz pamięć masową i masz 80 dysków twardych, możesz ją rozdzielić na kilka sposobów:
- Jedna pula 80 dysków
- Dwie pule po 40 dysków
- Cztery pule po 20 dysków itp.
Różne podsystemy pamięci mają różne profile wydajności. Pracowałem z niektórymi sieciami SAN, które działały najlepiej z macierzami dysków 12-16 i nic większego nie poprawiło wydajności. Innym przykładem są sieci SAN z obsługą wielu ścieżek: jeśli masz kilka kart HBA łączących serwer z pamięcią, a jeśli twoje oprogramowanie do obsługi wielu ścieżek nie jest tak naprawdę aktywne / aktywne, możesz potrzebować jednej tablicy na ścieżkę, aby rozdzielić obciążenie. Cztery ścieżki, cztery pule dysków uzyskają lepszą wydajność na tego typu dyskach.
W takich przypadkach powstają cztery różne tablice, cztery różne dyski w systemie Windows (chyba że używasz punktów montowania, a nawet wtedy są to różne foldery) i będziesz potrzebować czterech oddzielnych plików w SQL Server. Te oddzielne pliki mogą znajdować się w tej samej grupie plików.