Architektura lambda – Big Data

Architektura Lambda w systemach Big Data została w znakomity sposób przedstawiona w książce „Big Data” napisanej przez Nathan’a Marz i James’a Warren. W tym miejscu będę chciał jedynie streścić to czym tak naprawdę jest wspomniana architektura Lambda oraz z jakimi technologiami jest związana (nie tylko z tymi, które zostały opisane w książce).

Główny założeniem wspomnianej architektury jest takie budowanie systemów Big Data, by składały się z warstw spełniających określone zadania:

  • warstwa przetwarzania wsadowego – przechowuje główny zbiór danych oraz przelicza dowolne widoki (tzw. obrazy wsadowe);
  • warstwa obsługująca – zapewnia losowy dostęp do obrazów wsadowych;
  • warstwa przetwarzania czasu rzeczywistego – kompensuje duże opóźnienia aktualizacji dla warstwy obsługującej poprzez szybkie algorytmy przyrostowe.

Założenia teoretyczne a rozwiązania praktyczne

W celu zbudowania każdej z warstw istnieje szereg narzędzi mniej lub bardziej dostosowanych do założeń teoretycznych przedstawionych w książce. W poniższej tabeli w jednym miejscu przedstawiono jakie technologie można wykorzystać do budowy systemu wg architektury Lambda:

modelowanie danych Apache Thrift
przechowywanie danych w warstwie przetwarzania wsadowego Hadoop Distributed File System

biblioteka Pail

warstwa przetwarzania wsadowego JCascalog

Hadoop Map-Reduce

warstwa obsługująca ElephantDB
 obraz czasu rzeczywistego Cassandra

HBase

MongoDB

wymiana komunikatów / kolejkowanie Apache Kafka

RabbitMQ

przetwarzanie strumieniowe Apache Storm
mikrowsadowe przetwarzanie strumieniowe Trident (API mikrowsadowego przetwarzania Apache Storm)

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Time limit is exhausted. Please reload CAPTCHA.