Ciekawostki

In-Memory Data Grid – nowy sposób podejścia do baz danych

19 czerwca 2018, Aktualizacja 4 października 2018Lenovo

Jarosław "Blackwhite" Arczyński

In-Memory Data Grid

W dobie coraz większej ilości danych potrzebujemy rozwiązań pozwalających na ich sprawne gromadzenie i przetwarzanie. Niestety, pomimo rozwoju technologicznego aktualne rozwiązania często mają liczne ograniczenia, które wyeliminować można tylko za pomocą czegoś zupełnie nowego. Przykładem takiej (r)ewolucji jest technologia In-Memory Data Grid.

Ogromne ilości danych sprawiają, że dzisiejsze bardzo popularne relacyjne bazy danych stają się zbyt wolne. Główny problem stanowi przede wszystkim mało wydajny sposób prezentacji danych oraz tzw. single point failure, określający sytuację, gdzie w przypadku awarii bazy jesteśmy zmuszeni odbudowywać ją z dostępnych backupów, a sama baza w trakcie prac serwisowych staje się niedostępna dla klienta. To ogromna strata czasu i pieniędzy.

Odpowiedzią na te problemy jest idea NoSQL, która zadebiutowała w 2009 roku. W założeniu NoSQL oferować miała skalowalne bazy danych, które bez problemu mogły znajdować się w stanie rozproszonym. Jedną z technologii opierających się na Not Only SQL jest In-Memory Data Grid.

Co to jest?

Zamiast relacyjnych baz danych, system In-Memory Data Grid działa w oparciu o połączone ze sobą magazyny. Oprócz przechowywania danych oferuje on także możliwość wykonywania operacji. Aby zwiększyć wydajność podczas pracy z danymi, postanowiono przekształcić je w obiekty i wrzucać do pamięci operacyjnej komputera. Skutkuje to ogromnym wzrostem czasu dostępu, co doprowadza do możliwości obsługi tysięcy operacji na sekundę.

Dzięki magazynom danych In-memory Data Grid zapewnia skalowalność oraz funkcje replikacji, łatwe wykonywanie operacji na danych, szybki czas dostępu, możliwość przygotowania przyjaznego interfejsu, a także współpracę z aplikacjami tworzonymi w różnych językach programowania, np. w Javie, C++, C# itp.

Nie jest to jednak rozwiązanie pozbawione wad. Szerokie możliwości, zwiększona wydajność oraz kompatybilność okupione zostały słabszą spójnością danych, możliwością ich niepożądanego rozdzielenia, czego nie uświadczymy w przypadku standardowych, relacyjnych baz danych.

Przykład zastosowania – Hazelcast

Hazelcast to projekt open-source bazujący na technologii In-Memory, uważany obecnie jest za jedno z najlepszych rozwiązań tego typu. Bazuje on na języku Java, jednak w przyszłości ma pojawić się obsługa C#. Ale jego kluczową zaletą są otwartość oraz bezpłatny dostęp do tego środowiska.

Aby stworzyć swoją bazę danych, wystarczy dodać pojedynczy plik .jar z danymi do projektu. Hazelcast możemy bez problemu zaimplementować w naszej aplikacji, wykorzystując biblioteki dostępne w Internecie na oficjalnej stronie projektu.

Oprogramowanie jest na bieżąco rozwijane, oferując kolejne funkcje oraz likwidując problemy. Spora grupa aktywnych użytkowników sprawia, że obecnie możemy już stwierdzić, iż Hazelcast to najlepszy projekt In-Memory Data Grid. Warto mu się przyjrzeć bliżej.

Innymi przykładami takich projektów są: Coherence, eXtremeScale i GigaSpace.

Gdzie można to wykorzystać?

Cała idea In-Memory Data Grid sprowadza się do Internetu i rozwiązań profesjonalnych. To właśnie w chmurach przetwarzane są gigantyczne ilości danych, których właściciele oczekują szybkiego dostępu, wygody w wykonywaniu operacji na nich, bezproblemowej pracy oraz bezawaryjności.

Obecna prędkość dysków oraz ich szybkość dostępu może nie wystarczyć, zatem wykorzystanie pamięci RAM do wykonywania operacji na obiektach w bazach In-Memory
to idealne rozwiązanie, oczywiście pod warunkiem, że ilość danych nie przekroczy dostępnej pojemności.

Szeroka kompatybilność z oprogramowaniem zewnętrznym sprawia, że rozwiązania pokroju open-source’owego Hazelcasta wydają się być obecnie najlepszą opcją w przypadku rozbudowanych programów i aplikacji internetowych, wymagających ogromnych baz danych, a także możliwości szybkiego wydawania i przetwarzania zapytań.

Więcej informacji

Wątek In-memory Data Grid to rozległa wiedza, której poznanie wymaga gruntownej znajomości technicznego żargonu w języku angielskim. My poruszyliśmy zaledwie kilka aspektów niezwykle szerokiej tematyki projektów NoSQL, których pełen zakres z powodzeniem zmieściłby się w niejednej książce.

Link do oficjalnej strony Hazelcast: https://hazelcast.com/

 



Udostępnij

Powiązane Artykuły

Trzy przykazania innowacji - felieton Konstantego Młynarczyka

Lenovo

Bezpieczeństwo dziecka w sieci – jak o nie zadbać?

Lenovo

6 prostych powodów aby kupić komputer Lenovo

Lenovo

Komentarze do artykułu


widget instagram lenovo
widget twitter lenovo
widget facebook lenovo
widget youtube lenovo
Przeczytaj poprzedni wpis:
Biała i czerwona Yoga Book wkracza do gry

Lenovo z okazji zbliżających się Mistrzostw Świata w Piłce Nożnej w Rosji przygotowało nie lada gratkę dla fanów reprezentacji Polski....

Zamknij