Serwer bazy danych: Mała szybka pamięć RAM lub duża wolna pamięć RAM?

33

Obecnie projektujemy nasze nowe serwery baz danych i wymyśliliśmy kompromis, nie jestem całkowicie pewien, jak odpowiedzieć.

Oto nasze opcje: 48 GB 1333 MHz lub 96 GB 1066 MHz.

Myślę, że pamięć RAM powinna być wystarczająca dla serwera bazy danych (mamy mnóstwo danych i bardzo duże zapytania), a nie tak szybko, jak to możliwe. Najwyraźniej nie możemy uzyskać 16 GB układów przy 1333 MHz, stąd powyższe wybory.

Czy więc powinniśmy uzyskać dużo wolniejszej pamięci RAM, czy mniej szybszej pamięci RAM?

Informacje dodatkowe:

Liczba dostępnych gniazd DIMM: 6
serwerów: Dell Blades CPU: 6-rdzeniowy (tylko jedno gniazdo ze względu na licencję Oracle).

Josh Smeaton
źródło
12
IMO, 100% większa pojemność pamięci RAM bije dodatkowe 20% prędkości RAM.
Joe Internet
3
Zwłaszcza, że ​​nie jest to nawet 20%;)
TomTom
Dziękuję wszystkim. Byłem tego całkiem pewien, ale chciałem potwierdzenia.
Josh Smeaton

Odpowiedzi:

59

Będziesz chciał korzystać z dużej i wolnej pamięci RAM. Różnica w wydajności pamięci RAM jest znikoma w porównaniu do różnicy między wydajnością pamięci RAM a wydajnością dysku.

Podniebny Jastrząb
źródło
Oczywiście zależy to od wielkości bazy danych - podstawowe szczegóły, ale wciąż ważne.
Morg.
Tak, a Josh jasno stwierdził, że omawiany scenariusz obejmuje „mnóstwo danych”.
Skyhawk
Dla niektórych osób milion wierszy wygląda jak „mnóstwo danych”. Nie jest to jednak powód, by nie mieć wszystkiego w pamięci;)
Morg.
16

W porządku, to bardzo, bardzo proste:

Czy Twoja baza danych mieści się w 48 GB pamięci RAM z systemem operacyjnym i innymi urządzeniami? jeśli tak, weź to. W przeciwnym razie weź 96 GB

Ponadto dopasowanie bazy danych do xyz GB pamięci RAM oznacza, że ​​pasuje do indeksu, widoków i tym podobnych.

Komentarze SSD są kompletnym nonsensem, zarówno przepustowość, jak i czas dostępu nie są na tym samym poziomie i żaden dysk SSD nie uzasadnia przyjęcia mniejszej ilości pamięci RAM.

Morg.
źródło
5
To bardzo ważna informacja. Jeśli baza danych ma tylko 5 GB i nie planuje się jej powiększenia, równie dobrze możesz użyć mniejszej ilości szybszej pamięci RAM.
Kibbee
13

Tylko baza danych? W zależności od bazy danych, pomyślałbym, że większa pamięć RAM byłaby lepsza. Okazało się, że różnica prędkości jest w najlepszym razie niewielka, ale dodatkowe 48 GB będzie / może mieć ogromną różnicę.

TomTom
źródło
11

Zdecydowanie duża pamięć RAM, szybkość do diabła.

Dostęp do losowych danych dla technologii RAM z XX wieku '90 jest poniżej 100 ns. To używa praktycznie starożytnych układów, które nawet fizycznie nie pasują do niczego współczesnego z pogranicza.

Dostęp do losowych danych dla najnowocześniejszych dysków twardych 15k rpm jest mierzony w milisekundach. 100 ns jest 10 000 razy krótszy (nano -> mikro -> milli) niż 1 ms. Bieżąca pamięć RAM jest szybsza, a dysk twardy potrzebuje kilku milisekund, aby uzyskać dostęp do danych. Nie przejmowałbym się mniej, czy moja pamięć RAM była o 50 000 szybsza, czy tylko 30 000 razy szybsza niż HDD, gdybym mógł uzyskać więcej.

Paweł Brodacki
źródło
5

Musisz zwrócić uwagę na kilka punktów:

  • Pamięć lantecy Szybkość pamięci zależy od dwóch czynników: szybkości magistrali i opóźnienia. Zwykle wióry o większej gęstości skutkują większym opóźnieniem, co ostatecznie oznacza mniejszą prędkość
  • Dane indeksu ogółem Najważniejsze y, aby załadować całe dane indeksu do pamięci. Dane indeksu to najważniejsze dane potrzebne w pamięci (wyższy efekt karny w wydajności).
  • Szybkość dysku Czy masz dane DB zapisane na dysku SSD? Jeśli odpowiedź brzmi „tak”, zwróć szczególną uwagę na opóźnienie pamięci.
nefeli
źródło
2

MEMORY BANDWIDTH = / = SPEED!

Prawdopodobnie najważniejszą częścią brakujących informacji są taktowanie pamięci i typ procesora / FSB. zmniejsz opóźnienie ładowania pamięci procesora o kilka cykli, a w niektórych obliczeniach wysadzisz podwójną przepustowość. Niektóre bazy danych nie używają ogromnych ilości pamięci RAM z powodu systemu operacyjnego i przyczyn technicznych, jakiego serwera bazy danych używasz? Typ procesora? Poziomy pamięci podręcznej L [123]? rodzaj zapytań do uruchomienia? rozmiar bazy danych?

Silverfire
źródło
2
-1. Faktycznie źle w 99,9% przypadków.
TomTom
Do jakiej części się odnosisz?
Silverfire,
2
Każda baza danych większa niż pamięć natychmiast zwalnia. Cykle procesora są żartem w porównaniu do - chyba że jest to bardzo szczególny przypadek OLAP - wprowadzonego opóźnienia we / wy. Większość baz danych używa ogromnej ilości pamięci RAM - najbardziej znany serwer danych, jaki widziałem, to nie żart, ponieważ mała baza danych jest wielokrotnie bardziej obciążona pamięcią RAM niż przeciętna stacja robocza. Chyba że upierasz się przy użyciu niezwykle przestarzałej technologii („limity systemowe systemu operacyjnego”). Ani szybkość procesora, ani typ fsb nie mają znaczenia - bazy danych potrzebują pamięci.
TomTom
0

Zanim wydałem zbyt dużo pieniędzy na niewłaściwy sprzęt, przed zakupem sprzętu przeprowadziłem kilka testów i analiz.

  • Przede wszystkim pomyśl o swojej umowie SLA.
  • jakieś trudne wymagania dotyczące wydajności i czasu reakcji?

Twój wybór powinien zależeć od wielu czynników:

  • przy różnych obciążeniach i zastosowaniach, jakie jest właściwie wąskie gardło?
  • Procesor, pamięć, pamięć, sieć?
  • Czy może ważniejsze jest wydawanie większej ilości pieniędzy na szybsze przechowywanie niż na więcej pamięci?
  • szybszy procesor niż więcej pamięci? szybsza sieć? drobne zmiany w oprogramowaniu / sql?

  • analiza może być również bardzo istotna dla programistów, architektów baz danych i oprogramowania oraz projektantów zapytań SQL .....

Jeśli korzystasz z systemu Windows - możesz łatwo uruchomić perfmon, aby zobaczyć statykę w bieżącym systemie, i być może masz szczęście, aby mieć jasny obraz swoich potrzeb.

manmathan
źródło
1
Jestem programistą i pomagam w podjęciu tej decyzji. Brakuje nam prawdziwego administratora systemu, więc wszyscy (6 z nas) mamy wkład w dyskusję. Nasze obecne serwery są 32-bitowe i nie są w stanie wiele zrobić z powodu limitu pamięci na proces. Nasza sieć / pamięć masowa jest na razie w porządku. Zapleczem pamięci jest SAN. Nasz procesor nigdy nie jest maksymalny. Większość kosztów związanych z naszymi zapytaniami to operacje we / wy, które powinny zostać zmniejszone dzięki możliwości użycia większej ilości pamięci RAM. Aktualizujemy również do RAC. Mamy jasne pojęcie o tym, czego potrzebujemy. Wątpliwe są minucje.
Josh Smeaton