Wyobraź sobie, że Twoim wymaganiem jest posiadanie 3 ogromnych tabel (danych strukturalnych) z, powiedzmy, 30 miliardami wierszy w każdym (łączny rozmiar 4 TB), a twoi wielu współbieżnych użytkowników (którzy są równoległymi wątkami systemu operacyjnego na zdalnych komputerach LAN) będą musieli przeczytać część dane za pośrednictwem zapytań SELELCT, GDZIE GROUPBY i wysoce współbieżne, powiedzmy 10 000 jednoczesnych odczytów w tym samym czasie, a także użytkownicy muszą wstawiać (bez aktualizacji) dane do tych tabel bardzo współbieżnie, podobnie jak 2000 współbieżnych pisarzy (w całej sieci LAN centrum danych) . Użytkownicy chcieliby czytać i wstawiać tak szybko, jak to możliwe, z tego miejsca, w którym każdy odczyt i zapis będzie trwał od ms do 1 sekundy.
Jakie technologie polecacie, aby spełnić ten wymóg? Czy istnieje miejsce do przechowywania danych lub magazynu wartości kluczowych, które mogłyby to zrobić? Chmura NIE jest opcją.
Niektóre wyjaśnienia:
Użytkownicy NIE muszą od razu widzieć danych, a ostateczna spójność jest do zaakceptowania. Dostęp do danych uzyskuje się za pośrednictwem dowolnego sterownika, jaki może zapewnić pamięć, a użytkownicy znów są tylko wątkami działającymi na zdalnych komputerach centrum danych. Zapytania są w większości jak WYBIERZ GDZIE GROUPBY.
Dane mają format tabelaryczny, a każdy wiersz ma około 60 bajtów.
Brak opcji chmury, w której nie mogę korzystać z DynamoDB lub podobnych rozwiązań. Muszę mieć możliwość hostowania go wewnętrznie w centrum danych.
Wszystkie dane z tabel mogą być odczytywane przez cały czas, a wzorzec użytkowania jest nieprzewidywalny. Nie ma zapytania łączącego ani bardzo długiego. Nie wymaga DR, ale wymagany jest rozsądny HA, ale nie musi to być wyszukane. Każdy czytelnik otrzymuje partie wierszy na podstawie tego, gdzie klauzula i wiersze nie są tak naprawdę powiązane. Prawdopodobnie możemy mieć ustaloną długość dla każdego rzędu, ale mam nadzieję, że warstwa pamięci będzie się tym martwić.
Ponadto, moim największym zmartwieniem są te wszystkie równoczesne zapisy, które mają miejsce przy równoczesnych odczytach.
Twój wgląd w to jest bardzo ceniony.
Co więcej, mam trzy z tych tabel, w których każde 30 miliardów wierszy zawiera różne typy obiektów