Intel IT CenterCIOPolecane tematy
Szeregi czasowe motorem szybkiej integracji danych
Unikalne rozwiązanie Connect Point pomaga w czasie rzeczywistym integrować i analizować dane pochodzące z dziesiątek, a nawet setek tysięcy punktów pomiarowych. System TimeSeriant może działać na wielu platformach sprzętowych, jednak pełnię możliwości rozwija dzięki wykorzystaniu układów Intel Xeon E7 v3.
Oferowane przez Connect Point rozwiązanie Connect Point Solution pozwala błyskawicznie i wielowymiarowo łączyć informacje pochodzące z wielu źródeł danych z różnego rodzaju systemami wspierającymi podejmowanie decyzji. Co ważne, system ten wykorzystuje na potrzeby gromadzenia danych szeregi czasowe. Silnikiem danych opartym na szeregach czasowych jest rozwiązanie TimeSeriant. To dość unikalne podejście umożliwia m.in. zwielokrotnienie wydajności mechanizmów integracyjnych. Za pomocą rozwiązania TimeSeriant mogą być integrowane m.in. rozwiązania automatyki przemysłowej, dane pochodzące z autonomicznych czujników składających się na internet rzeczy, a także systemy wykorzystywane przez sektor energetyczny. System powstał zresztą w odpowiedzi na potrzeby tego sektora.
Podejście oparte na składowaniu i przetwarzaniu szeregów czasowych – w przeciwieństwie do tradycyjnych modeli składowania danych, takich jak relacyjne bazy danych – wykorzystuje bardzo silną strukturę przechowywanych danych. Pozwala to na wdrożenie dodatkowych funkcjonalności oraz zastosowanie wielu optymalizacji, takich jak wysoki stopień kompresji, filtrowanie ‘podobnych’ danych, odpowiednie grupowanie danych, często odpytywanych wspólnie, czy interpolacje.
“W roku 2011 po raz pierwszy spotkaliśmy się z rozwiązaniem PI System firmy Osisoft. Wspiera ono monitorowanie procesów produkcyjnych i integrację systemów automatyki w przedsiębiorstwach. Większość dużych firm zagranicznych korzysta z tego właśnie rozwiązania. Stanowiło ono inspiracje dla nas przy tworzeniu Connect Point Solution” – podkreśla Jakub Tomiczek, dyrektor ds. technologii w Connect Point. Według niego, wraz z obserwowaną kilka lat temu na polskim rynku konsolidacją wybranych sektorów gospodarki – w tym głównie energetyki – pojawiły się nowe potrzeby dotyczące integracji systemów biznesowych, a także rozproszonych źródeł danych. “Firmy już wcześniej myślały o integracji, ale skoncentrowały się na rozwiązaniach klasy ERP czy systemach billingowych. Poza firmami, takimi jak PKN Orlen czy PGNIG Termika, brakowało w Polsce przedsiębiorstw, które oczekiwały połączenia światów automatyki przemysłowej oraz IT” – dodaje Jakub Tomiczek.
Umiejętność łączenia automatyki z innymi systemami
W roku 2012 firma Connect Point zawarła kontrakt z jednym ze światowych liderów produkcji energii odnawialnej. Oferowane przez warszawską spółkę oprogramowanie wspiera m.in. bieżącą obsługę 4500 turbin wiatrowych oraz kilku farm fotowoltaicznych w ramach mocno zróżnicowanej infrastruktury energetycznej. “Naszym zadaniem jest zapewnienie spójności oraz łatwości analizowania informacji pochodzących z dużej liczby heterogenicznych źródeł danych” – mówi Jakub Tomiczek. W ramach obsługiwanej infrastruktury klienta funkcjonują różne rozwiązania automatyki przemysłowej SCADA. Wykorzystywane są też urządzenia – przede wszystkim turbiny – różnych producentów.
“Zróżnicowanie infrastruktury klienta pozwoliło nam zdobyć wiedzę, dzięki której dziś potrafimy integrować systemy automatyki, łączyć je z systemami raportowymi oraz rozwiązaniami GIS, a także tworzyć różnego rodzaju rozwiązania dedykowane, wykorzystujące możliwość sięgania po zróżnicowane dane w czasie rzeczywistym. Postanowiliśmy stworzyć mniejsze rozwiązanie, które pozwoli na uzyskanie podobnych efektów biznesowych w mniejszej skali” – dodaje Jakub Tomiczek. Na bazie tych doświadczeń powstała – oferowana obecnie – usługa gromadzenia i przetwarzania danych czerpanych z różnych źródeł.
Szeregi czasowe a tradycyjne modele składowania danych
Nowe rozwiązanie Connect Point Solution jest skierowane zarówno do dużych korporacji, jak i do mniejszych organizacji wykorzystujących zróżnicowane rozwiązania automatyki lub poszukujących sposobu na szybką integrację systemów. Jego fundamentem jest silnik TimeSeriant, który służy do gromadzenia, przechowywania oraz udostępniania danych czasu rzeczywistego w postaci szeregów czasowych. “Podejście oparte na składowaniu i przetwarzaniu szeregów czasowych – w przeciwieństwie do tradycyjnych modeli składowania danych, takich jak relacyjne bazy danych – wykorzystuje bardzo silną strukturę przechowywanych danych. Pozwala to na wdrożenie dodatkowych funkcjonalności oraz zastosowanie wielu optymalizacji, takich jak wysoki stopień kompresji, filtrowanie ‘podobnych’ danych, odpowiednie grupowanie danych, często odpytywanych wspólnie, czy interpolacje” – podkreśla Jakub Tomiczek. Istotne elementy TimeSeriant powstały w ramach pracy dyplomowej 4-osobowego zespołu studentów Uniwersytetu Warszawskiego pod kierownictwem dr. Konrada Durnogi.
Dzięki kompatybilności ze standardowymi protokołami komunikacji, system TimeSeriant może pełnić funkcję integracyjną dla wielu systemów oraz innych źródeł danych. Każdy zapisywany rekord musi zawierać trzy obowiązkowe elementy: znacznik czasu dokonania pomiaru, jego identyfikator oraz zmierzoną wartość. Bazując na znaczniku czasu odebranych danych, aplikacja zapisuje go oraz oblicza dodatkowe wartości zależne od danego pomiaru. Dane oraz obliczone na ich podstawie agregaty – przechowywane w bazie InfluxDB – są dostępne dla aplikacji obsługujących m.in. standardy REST API oraz Microsoft ODBC. “Pozwala to na korzystanie ze zgromadzonych i obliczonych danych przez wiele aplikacji analitycznych, wśród których można wymienić np. QlikView czy Microsoft Reporting Services” – zapewnia Jakub Tomiczek.
Mechanizmy Intel TSX – wraz z dodatkowymi instrukcjami TSX-NI – pozwalają podnieść wydajność współbieżnego dostępu oraz operacji na danych. Jest to kluczowa cecha zwiększająca sprawność systemu TimeSeriant w jego typowym zastosowaniu, którym jest jednoczesny zapis gromadzonych danych i udostępnienie do nich dostępu poprzez odpowiednie zapytania.
Wykorzystanie szeregów czasowych umożliwia istotne zwiększenie wydajności oprogramowania względem systemów konkurencyjnych. Zdaniem przedstawicieli Connect Point, oparty na odpowiednio wydajnej infrastrukturze sprzętowej system TimeSeriant może bez przeszkód przetwarzać dane pochodzące z dziesiątek, a nawet setek tysięcy punktów pomiarowych. Funkcjonalność rozwiązania obejmuje również m.in. obliczanie agregatów w czasie rzeczywistym oraz inteligentne filtrowanie danych i optymalizację wymaganej przestrzeni dyskowej. Nie mniej istotne znaczenie ma fakt, że platforma TimeSeriant obsługuje liczne standardy oraz protokoły komunikacji, dzięki czemu pozwala łatwo wykorzystać zgromadzone dane w ramach systemów raportowania czy analityki biznesowej.
Od kilku do kilkunastu tysięcy czujników
System TimeSeriant może funkcjonować zarówno na dysponujących stosunkowo niewielką mocą obliczeniową urządzeniach opartych na architekturze ARM, jak i na wysoce wydajnych serwerach oraz maszynach klasy mainframe.
Instalacje systemu TimeSeriant oparte na komputerach architektury ARM – w tym: RaspberryPI, BeagleBone oraz Olinuxino – przetwarzały dane pochodzące z kilkunastu czujników rozmieszczonych w jednym budynku. W zależności od konkretnej instancji były to czujniki gromadzące dane na temat poboru mocy, temperatury, wilgotności lub natężenia światła. Z kolei wykorzystanie serwera Lenovo IBM x3850 X6 – zbudowanego na bazie procesorów Intel Xeon E7 v3 – pozwoliło opracować zwirtualizowany klaster przetwarzający dane pochodzące z symulacji środowiska biznesowego o kilkunastu tysiącach punktów pomiarowych. Zastosowano przy tym m.in. wbudowane w procesory Intel mechanizmy wspierające procesy wirtualizacji.
Dzięki wykorzystaniu środowiska klastrowego rozwiązanie TimeSeriant może wspierać zastosowania typowe dla internetu rzeczy, a także wielkoskalowych procesów przemysłowych. “Wcześniej pracowaliśmy na układach Intel Xeon E7-8880 v2. W porównaniu z nimi procesory rodziny Intel Xeon v3 serii E7-8880 dysponują większą ilością rdzeni, a co za tym idzie umożliwiają zastosowanie większej liczby wątków procesora. Oznacza to możliwość zwiększenia wydajności systemu, szczególnie w przypadku wirtualizacji klastra maszyn” – dodaje Jakub Tomiczek. Według niego, dodatkową korzyścią wynikającą z wykorzystania procesorów Intel nowej generacji jest wyższa przepustowość pamięci. „Ma to fundamentalne znaczenie przy przetwarzaniu masowych ilości danych” – przekonuje Jakub Tomiczek.
Ogromne znaczenie dla wydajności w zakresie operacji na danych ma także obsługa – pozwalających zwiększyć wydajność w zakresie przetwarzania wielowątkowego – mechanizmów Intel TSX wraz z dodatkowymi instrukcjami TSX-NI, które pozwalają dodatkowo podnieść wydajność współbieżnego dostępu oraz operacji na danych. „Jest to kluczowa cecha zwiększająca sprawność systemu TimeSeriant w jego typowym zastosowaniu, którym jest jednoczesny zapis gromadzonych danych i udostępnienie do nich dostępu poprzez odpowiednie zapytania” – podsumowuje Jakub Tomiczek.