Baza danych o pojemności 100 TeraBytes - szacunkowe zasoby i czas

10

Pracuję nad obliczeniem „tylnej części koperty” dla konfiguracji bazy danych raportowania 100 TB. Szukam tutaj myśli od ekspertów. Proponowane środowisko:

  1. Pojemność ~ 100 TB
  2. Tabele ~ 200, rozmiary od 1 GB do 5 TB. średni rozmiar może wynosić od 100 GB do 200 GB
  3. ETL - zadania mogą wymagać łączenia tabel 10-milionowych wierszy, z kluczami łączenia od 10 bajtów do 500 bajtów. takie dołączenia powinny zakończyć się w niecałe 2-5 minut
  4. Wybór na żywo - początkowo zainteresowany tylko wybranymi prędkościami. powinien obsługiwać 500 selekcji / sekundę. Aktualizacje / sekunda będą relatywnie znacznie mniejsze i można je zignorować w tym ćwiczeniu.
  5. potrzebujesz dostępności 24x7. Powinny być dostępne 2 niezależne serwery DB do obsługi wybranych połączeń (z replikowanymi danymi).

Pytania:

  1. Obecnie patrzę na Oracle. Jakie są Twoje doświadczenia z innymi komercyjnymi (lub) rozwiązaniami typu open source dla dużych baz danych?
  2. Jaki system operacyjny widziałeś najlepiej? Planuję Linux na Dell.
  3. Czy pamięć sieciowa, taka jak NetApp, jest koniecznością? Jakie problemy przewidujesz przy użyciu komercyjnych dysków z półki?
  4. Gdy sprzęt i system operacyjny będą gotowe, ile czasu poświęcisz na konfigurację, konfigurację bazy danych, pamięci itp.
  5. Jakie kompozycje zespołów najlepiej sprawdzały się w obserwowanych środowiskach? Mam na myśli różnych administratorów (administrator systemu operacyjnego, administrator bazy danych Oracle?) Wymaganych do zarządzania i obsługi takiej konfiguracji. Ile z nich może być potrzebnych do osiągnięcia nieprzerwanego działania 24x7.
  6. Wszelkie przybliżenia / zakres na licencjach DB, koszty pamięci sieciowej.

Wiem, że nie mam wszystkich szczegółów środowiska. Nie szukam dokładnych szczegółów, wystarczy przybliżenie. Chociaż menedżerowie najlepiej odpowiedzą na niektóre pytania, interesuje mnie perspektywa administratorów. Doceniam twój wkład.

Kash
źródło
1
Myślę, że to pytanie jest zbyt szerokie, aby można było na nie odpowiedzieć. Pozwolę innym zobaczyć, czy się zgodzą, zanim pójdę dalej.
Philᵀᴹ
1
@Phil Zgadzam się, nie byłem pewien, czy należy to podzielić na wiele pytań, aby użytkownicy z różną wiedzą specjalistyczną mogli odpowiedzieć na różne części. Ale opis środowiska jest taki sam dla wszystkich pytań, więc zadałem jedno pytanie. Myślę, że może to być moje pierwsze pytanie dotyczące SO (choć zwykły użytkownik SO), więc uważaj mnie za początkującego i jeśli istnieje lepszy sposób na postawienie tego pytania, proszę o sugestię.
Kash
10
To brzmi jak wielomilionowy projekt. Czy oparłbyś taki projekt na poradach forum?
Remus Rusanu,
1
@RemusRusanu To nie jest jedyne źródło informacji. Gdy przejdzie do etapu oceny formalnej, będzie wiele innych działań. Mam wysoką opinię na temat porad udzielanych przez użytkowników SO. Pisząc pytanie, byłem pewien, że znajdę kilka bardzo przydatnych szczegółów, o których w ogóle nie myślałem.
Kash
1
@RemusRusanu - tak jest. Ostatnia cena, jaką widziałem dla Netezza, to 20 tys. USD / TB dla systemów TwinFin. Nie jestem pewien, do czego zmieściłoby się pudełko Exadata o takiej pojemności. Ponadto SLA jest dość agresywna, a system wygląda na to, że ma dużą bazę użytkowników. Może potrzebować większej liczby serwerów mart data do obsługi obciążenia zapytania.
ConcernedOfTunbridgeWells

Odpowiedzi:

21

Pierwsze wrażenia

  1. W zależności od wymagań dotyczących wydajności 100 TB to dość agresywny wolumen danych. Jeśli chcesz Oracle, powinieneś sprawdzić ich systemy Exadata. Zobacz także oferty Netezza lub Teradata. Przy takiej liczbie selekcji możesz przyjrzeć się interfejsowi opartemu na OLAP lub przynajmniej dość agresywnemu wykorzystaniu zmaterializowanych widoków i przepisaniu zapytań. Z niczego nie dostaniesz 500 skanów tabel / sek.

    W przypadku rzeczy o mniej rygorystycznych wymaganiach dotyczących opóźnień warto rozważyć większą liczbę rzutników danych w celu zapewnienia możliwości raportowania społeczności użytkowników. W takim przypadku SQL Server i SSAS mogą być opcją dla Data Marts, ponieważ licencjonowanie większej liczby serwerów będzie tańsze niż próba zrobienia tego samego z Oracle.

  2. Zobacz (1). Konwencjonalny sprzęt w architekturze dysku współużytkowanego może być powolny na tym zestawie danych o takim rozmiarze.

  3. NIE! Jeśli ktoś zasugeruje NFS, dobrze go kopnij. Pamięć masowa podłączana bezpośrednio lub SAN z wieloma kontrolerami z dużą ilością kontrolerów średniej klasy. Pomyśl o kilku tuzinach kontrolerów serii MD3000 lub o czymś podobnym - jeśli nie wybierzesz specjalnie zbudowanej platformy „big data”.

  4. Uzyskaj specjalistę od pamięci masowej z doświadczeniem w zakresie platform hurtowni danych PB. Prawdopodobnie czeka Cię znacząca praca programistyczna ETL i dużo pracy testowej, jeśli musisz spełnić sztywne warunki SLA.

  5. 24x7 w hurtowni danych jest w najlepszym wypadku ambitne. Czy to platforma raportowania operacyjnego? Być może możesz nieco rozwinąć swoje wymagania.

  6. Zwieracz jest marszcząco drogi i zależy od wymagań wydajnościowych. Ostatnio widziałem (kilka lat temu) Netezza podawał 20 000 USD / TB dla systemów TwinFin, dzięki czemu Twoja platforma 2 mln USD za 100 TB plus koszt nadmiarowego serwera i sprzętu do tworzenia kopii zapasowych. Wydaje mi się, że Exadata jest nieco tańszy, ale nie mam pod ręką żadnych cen.

    Spójrz na Netezza, Exadata i platformę Teradata w celu porównania i kosztów dla Ab Initio jako narzędzia ETL.

Jest to dość agresywny zestaw wymagań - 24x7 w hurtowni danych zwykle nie jest wykonywane, a woluminy danych są wystarczająco duże, aby umieścić cię w sferze platformy „dużych zbiorów danych”. Jeśli masz wymagania dotyczące raportowania operacyjnego, powinieneś dokładnie przyjrzeć się temu. Trzymaj go oddzielnie od swoich danych analitycznych, chyba że masz konkretny powód (np. Plik danych rynkowych o niskim opóźnieniu), aby tego nie robić. Mieszanie wymagań operacyjnych i analitycznych na tej samej platformie to złe mojo.

Myślę, że naprawdę potrzebujesz specjalistów, aby ocenić swoje wymagania. Bez bliższego przyjrzenia się temu, co próbujesz osiągnąć, mogę jedynie podać kilka empirycznych sugestii na temat tego, co robić lub czego nie robić.

ConcernedOfTunbridgeWells
źródło
8

Niektóre inne opcje, które należy wziąć pod uwagę w przypadku takich ogromnych ilości danych, jak:

  1. Wszystko, co opublikował @ConcernedOfTunbridgeWells
  2. Greenplum od EMC
  3. Parallel Data Warehouse firmy Microsoft

Nie planuj nigdzie oszczędzać na kosztach sprzętu. System z tego rodzaju specyfikacjami będzie cię kosztować kilka dużych dolarów.

mrdenny
źródło