Siatki danych w pamięci a bazy danych w pamięci

Przyjmowanie przetwarzania w pamięci nadal przyspiesza. Dojrzałe rozwiązania umożliwiają organizacjom uzyskanie szybkości i skali przetwarzania baz danych potrzebnych do cyfrowej transformacji i inicjatyw wielokanałowych w zakresie obsługi klienta. Na przykład firma inwestycyjna Wellington Management wykorzystała platformę obliczeniową w pamięci do przyspieszenia i skalowania swojej księgi inwestycyjnej (IBOR), jedynego źródła informacji o pozycjach inwestorów, ekspozycji, wycenach i wynikach. Wszystkie transakcje handlowe w czasie rzeczywistym, wszystkie powiązane działania na rachunkach, dane stron trzecich, takie jak notowania rynkowe, i cała powiązana aktywność back-office przepływają przez jego IBOR w czasie rzeczywistym. IBOR obsługuje również analizę wyników, ocenę ryzyka, zgodność z przepisami i nie tylko. W różnych testachnowa platforma działała co najmniej dziesięć razy szybciej niż starszy system firmy zbudowany bezpośrednio na relacyjnej bazie danych Oracle.

Nikita Ivanov jest dyrektorem technicznym w GridGain Systems, który opracowuje rozwiązania obliczeniowe w pamięci.

Gartner przewiduje, że do 2019 r. 75% aplikacji tworzonych w chmurze będzie korzystać z przetwarzania w pamięci lub usług wykorzystujących przetwarzanie w pamięci, aby umożliwić głównym programistom wdrażanie wysokowydajnych, masowo skalowalnych aplikacji. Jednak programiści, którzy nie mają doświadczenia w technologiach przetwarzania w pamięci, muszą zrozumieć różne strategie dodawania technologii do swoich architektur. W większości przypadków pierwszą decyzją, jaką muszą podjąć, jest to, czy wdrożyć siatkę danych w pamięci, czy bazę danych w pamięci. Decyzja ta będzie oparta przede wszystkim na tym, czy zamierzają przyspieszyć istniejące aplikacje, czy planują rozwój nowych aplikacji, czy też całkowicie przebudują istniejące, czy też widzą możliwość zrobienia obu. Muszą też rozważyć, która warstwa będzie służyć jako system zapisu,warstwa obliczeniowa w pamięci lub podstawowa warstwa danych.

Przeanalizujmy technologie przetwarzania w pamięci potrzebne do wdrożenia tych strategii.

Siatki danych w pamięci

Siatka danych w pamięci (IMDG) kopiuje dane dyskowe z baz danych RDBMS, NoSQL lub Hadoop do pamięci RAM, gdzie przetwarzanie odbywa się bez opóźnień spowodowanych ciągłymi odczytami i zapisami na dysku. Umieszczona między warstwą aplikacji a warstwami danych, siatka danych w pamięci jest wdrażana w klastrze węzłów serwera i współdzieli dostępną pamięć i procesor klastra. Niezależnie od tego, czy jest wdrażana w środowisku chmury publicznej, czy prywatnej, lokalnie czy w środowisku hybrydowym, siatkę danych w pamięci można skalować po prostu przez dodanie nowego węzła do klastra. Niektóre siatki danych w pamięci mogą obsługiwać transakcje ANSI-99 SQL i ACID, zaawansowane zabezpieczenia, uczenie maszynowe oraz natywne integracje Spark, Cassandra i Hadoop.

Siatka danych w pamięci to proste i ekonomiczne rozwiązanie dla istniejących aplikacji. Jednak wiele siatek danych w pamięci wymaga, aby wszystkie dane w bazowej dyskowej bazie danych mieściły się w pamięci, co wymaga od firmy zakupu wystarczającej ilości pamięci do przechowywania wszystkich danych. Ponieważ pamięć jest nadal droższa niż dysk, wiele firm może preferować przechowywanie niektórych danych tylko na dysku. Nowe architektury skupiające się na pamięci rozwiązują ten problem, przetwarzając je na pełnym zestawie danych, nawet jeśli część danych jest przechowywana na dysku. Ta funkcja „trwałego magazynu” pozwala, aby ilość danych przekroczyła ilość pamięci. Oznacza to, że dane można zoptymalizować, aby wszystkie dane znajdowały się na dysku, ale częściej używane dane również znajdują się w pamięci, podczas gdy rzadko używane dane znajdują się tylkona dysku. Kolejną kluczową zaletą jest to, że po ponownym uruchomieniu system z trwałym magazynem może natychmiast rozpocząć przetwarzanie na zestawie danych na dysku, bez czekania na załadowanie zestawu danych do pamięci.

Workday, dostawca usług finansowych i HR SaaS obsługujący firmy z listy Fortune 50, opowiedział, jak wykorzystuje siatkę danych w pamięci do przetwarzania około 189 milionów transakcji dziennie, osiągając szczyt około 289 milionów dziennie. Dla porównania, Twitter obsługuje około 500 milionów tweetów dziennie.

Baza danych w pamięci

Baza danych w pamięci (IMDB) najlepiej nadaje się do nowych lub przeprojektowanych aplikacji. Jest to w pełni funkcjonalna, samodzielna baza danych działająca w pamięci, która obsługuje interfejsy API przetwarzania danych, takie jak ANSI-99 SQL, klucz-wartość, obliczenia i uczenie maszynowe. Zaletą bazy danych w pamięci nad siatką danych w pamięci jest to, że architektura została zredukowana z trzech warstw (aplikacja, w pamięci i dane) do dwóch. Wadą jest to, że nie można go używać do istniejącej aplikacji bez podniesienia i przesunięcia zestawu danych z istniejącej bazy danych. Ponadto, ponieważ baza danych w pamięci służy jako system zapisu, rozwiązanie musi obejmować strategię ochrony danych w przypadku przestoju. Ta strategia może być podobna do możliwości przechowywania trwałego omówionych dla siatek danych w pamięci lub może obejmować użycie nieulotnej pamięci RAM,nowa technologia, która prawdopodobnie będzie odgrywać coraz większą rolę w przyszłości.

Obecnie duży bank obsługujący 135 milionów klientów korzysta z bazy danych w pamięci z możliwością trwałego przechowywania w celu opracowania architektury w skali internetowej, która może obsłużyć do 1,5 PB danych wraz z wymaganą liczbą transakcji. To rozwiązanie służy jako system zapisu i nie znajduje się na szczycie istniejącego magazynu danych.

Platformy obliczeniowe w pamięci

Organizacje opracowujące długoterminową strategię, która obejmuje przyspieszenie istniejących aplikacji i wdrażanie nowych, mogą zdecydować się na platformę obliczeniową w pamięci, która łączy skalowalność IMDG z pełnymi możliwościami relacyjnej bazy danych IMDB. Platforma obliczeniowa w pamięci może zatem służyć do przyspieszenia istniejących aplikacji lub stanowić podstawę do tworzenia nowych lub przebudowanych aplikacji, które mogą korzystać z przetwarzania rozproszonego i trwałego magazynu.

Oprócz podjęcia decyzji, która technologia najlepiej odpowiada ich potrzebom, organizacje powinny rozważyć, czy potrzebują dodatkowych wspierających technologii w pamięci, takich jak:

  • Mechanizm analizy strumieniowej do zarządzania całą złożonością przepływu danych i przetwarzania zdarzeń.
  • Struktura ciągłego uczenia się oparta na głębokim uczeniu się, która służy jako element składowy tego, co Gartner określa jako HTAP w procesie (hybrydowe przetwarzanie transakcyjne / analityczne); czyli możliwość zastosowania uczenia maszynowego lub analizy głębokiego uczenia się do danych operacyjnych w czasie rzeczywistym.

Technologia przetwarzania w pamięci jest obecnie używana przez wiodące przedsiębiorstwa cyfrowe, aw przyszłości będzie jeszcze szerzej stosowana. Im szybciej rozwiniesz solidną wiedzę na temat strategii wdrażania i możliwości przetwarzania w pamięci, tym szybciej będziesz w stanie pomóc swojej organizacji uzyskać przewagę konkurencyjną, której potrzebuje.