Pracuję nad obliczeniem „tylnej części koperty” dla konfiguracji bazy danych raportowania 100 TB. Szukam tutaj myśli od ekspertów. Proponowane środowisko:
- Pojemność ~ 100 TB
- Tabele ~ 200, rozmiary od 1 GB do 5 TB. średni rozmiar może wynosić od 100 GB do 200 GB
- 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
- 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.
- potrzebujesz dostępności 24x7. Powinny być dostępne 2 niezależne serwery DB do obsługi wybranych połączeń (z replikowanymi danymi).
Pytania:
- Obecnie patrzę na Oracle. Jakie są Twoje doświadczenia z innymi komercyjnymi (lub) rozwiązaniami typu open source dla dużych baz danych?
- Jaki system operacyjny widziałeś najlepiej? Planuję Linux na Dell.
- Czy pamięć sieciowa, taka jak NetApp, jest koniecznością? Jakie problemy przewidujesz przy użyciu komercyjnych dysków z półki?
- Gdy sprzęt i system operacyjny będą gotowe, ile czasu poświęcisz na konfigurację, konfigurację bazy danych, pamięci itp.
- 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.
- 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.
Odpowiedzi:
Pierwsze wrażenia
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.
Zobacz (1). Konwencjonalny sprzęt w architekturze dysku współużytkowanego może być powolny na tym zestawie danych o takim rozmiarze.
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”.
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.
24x7 w hurtowni danych jest w najlepszym wypadku ambitne. Czy to platforma raportowania operacyjnego? Być może możesz nieco rozwinąć swoje wymagania.
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ć.
źródło
Niektóre inne opcje, które należy wziąć pod uwagę w przypadku takich ogromnych ilości danych, jak:
Nie planuj nigdzie oszczędzać na kosztach sprzętu. System z tego rodzaju specyfikacjami będzie cię kosztować kilka dużych dolarów.
źródło