Jak wybrać magazyn danych w chmurze?

Nowoczesne magazyny danych mogą jednocześnie odpytywać dane ustrukturyzowane i półstrukturalne, a nawet łączyć dane historyczne i strumieniowe dane na żywo do analizy.

Jak wybrać magazyn danych w chmurze?

Thinstock

Magazyny (hurtownie) danych dla przedsiębiorstw, czyli EDW, to ujednolicone bazy danych dla wszystkich danych historycznych w przedsiębiorstwie, zoptymalizowane pod kątem analityki. W dzisiejszych czasach organizacje wdrażające hurtownie danych często rozważają stworzenie hurtowni danych w chmurze, a nie w siedzibie firmy. Wiele z nich rozważa również wykorzystanie jezior danych, które wspierają zapytania zamiast tradycyjnych hurtowni danych. Trzecią kwestią jest połączenie danych historycznych z danymi strumieniowymi na żywo.

Hurtownia danych to analityczna, zwykle relacyjna baza danych utworzona z dwóch lub więcej źródeł danych, zwykle w celu przechowywania danych historycznych, które mogą mieć skalę petabajtów. Hurtownie danych często dysponują znacznymi zasobami obliczeniowymi i pamięciowymi do wykonywania skomplikowanych zapytań i generowania raportów, a także są często źródłem danych dla systemów business intelligence (BI) i uczenia maszynowego.

Zobacz również:

  • 5 praktycznych powodów, dla których warto wdrożyć Zero Trust

Wymagania dotyczące przepustowości zapisu w transakcyjnych bazach danych ograniczają liczbę i rodzaj indeksów, które można utworzyć (więcej indeksów oznacza więcej zapisów i aktualizacji na każdy dodany rekord i więcej możliwych konfliktów). To z kolei spowalnia wykonywanie zapytań analitycznych w stosunku do operacyjnej bazy danych. Po wyeksportowaniu danych do hurtowni danych, można indeksować wszystko, na czym nam zależy w hurtowni danych, aby uzyskać dobrą wydajność zapytań analitycznych, bez wpływu na wydajność zapisu oddzielnej bazy danych OLTP (przetwarzanie transakcji online).

Data marts (tematyczne hurtownie danych) zawierają dane zorientowane na konkretną linię biznesową. Data marts mogą być zależne od hurtowni danych, niezależne od hurtowni danych (tj. czerpane z operacyjnej bazy danych lub źródła zewnętrznego) lub stanowić hybrydę obu tych rozwiązań.

Data lakes, które przechowują pliki danych w ich natywnym formacie, są zasadniczo „schema on read”, co oznacza, że każda aplikacja, która odczytuje dane z jeziora, będzie musiała narzucić własne typy i relacje na dane. Tradycyjne hurtownie danych, z drugiej strony, są typu „schema on write”, co oznacza, że typy danych, indeksy i relacje są narzucane na dane w momencie ich przechowywania w hurtowni danych.

Nowoczesne hurtownie danych często mogą jednocześnie obsługiwać dane ustrukturyzowane i półstrukturalne oraz zadawać im zapytania. Ponadto, nowoczesne hurtownie danych często mogą jednocześnie odpytywać dane historyczne i strumieniowe dane bieżące.

Hurtownie danych w chmurze a hurtownie danych on-premise

Hurtownia danych może być wdrożona w siedzibie firmy, w chmurze lub jako hybryda. Historycznie, hurtownie danych zawsze znajdowały się w siedzibie firmy, ale koszty inwestycyjne i brak skalowalności serwerów w centrach danych były czasami problematyczne. Instalacje EDW on-premise stały się bardziej popularne, gdy producenci zaczęli oferować urządzenia do hurtowni danych. Obecnie jednak trendem jest przeniesienie całości lub części hurtowni danych do chmury, aby skorzystać z nieodłącznej skalowalności hurtowni danych w chmurze oraz łatwości łączenia się z innymi usługami w chmurze.

Wadą umieszczania petabajtów danych w chmurze jest koszt operacyjny, zarówno przechowywania danych w chmurze, jak i zasobów obliczeniowych i pamięciowych hurtowni danych w chmurze. Można by pomyśleć, że czas przesłania petabajtów danych do chmury będzie ogromną barierą, ale dostawcy chmur hiperskalowych oferują obecnie usługi transferu danych o dużej pojemności, oparte na dyskach.

Wymagania dotyczące szybkości i skalowalności

Hurtownie danych są projektowane tak, aby zapytania analityczne mogły działać szybko. W przypadku starych hurtowni danych on-premise, raporty z wieloma zapytaniami opartymi na danych historycznych były zazwyczaj uruchamiane w ciągu nocy. W przypadku nowoczesnych hurtowni danych w chmurze wymagania dotyczące wydajności są wyższe, ponieważ analitycy oczekują interaktywnego uruchamiania zapytań opartych na danych historycznych i strumieniowych, a następnie zagłębiania się w dane za pomocą kolejnych zapytań.

Hurtownie danych w chmurze są zazwyczaj zaprojektowane tak, aby skalować moc procesora w zależności od potrzeb, dzięki czemu interaktywne zapytania do petabajtów danych mogą zwracać odpowiedzi w ciągu kilku minut. Niektóre hurtownie danych w chmurze mogą zwiększać zasoby procesora podczas działania zapytania bez ponownego uruchamiania zapytania, a następnie zmniejszać je ponownie, gdy hurtownia danych jest bezczynna. Agresywne skalowanie w górę i w dół może być dobrą strategią, aby uzyskać wysoką wydajność w razie potrzeby przy niskich kosztach całkowitych.

Przechowywanie kolumnowe kontra rzędowe

Bazy danych zorientowane na wiersze organizują dane według rekordów i zazwyczaj próbują przechowywać jeden wiersz bazy danych w jednym bloku pamięci, tak aby cały wiersz mógł być pobrany za pomocą jednej operacji odczytu. Bazy danych zorientowane na wiersze są wydajne zarówno dla odczytu jak i zapisu wierszy. Większość transakcyjnych baz danych jest zorientowana na wiersze i używa indeksów b-tree.

Kolumnowe bazy danych organizują dane według pól i starają się przechowywać wszystkie dane związane z danym polem razem. Kolumnowe bazy danych są przeznacozne i wydajne do odczytu i obliczeń na kolumnach. Większość hurtowni danych przechowuje dane w kolumnach, mocno kompresuje swoje dane i używa indeksów LSM-tree. Oryginalna praca opisująca C-Store, zoptymalizowaną pod kątem odczytu kolumnową bazę danych, została opublikowana w 2005 roku. Dokument C-Store położył podwaliny pod większość współczesnych hurtowni danych typu columnar store, w tym Amazon Redshift, Google BigQuery i Snowflake.

Niektóre bazy danych łączą przechowywanie wierszowe i kolumnowe. Używają one przechowywania wierszy dla OLTP, a przechowywania kolumnowego dla zapytań analitycznych. Kilka baz danych może odpytywać dane w kolumnowym i szeregowym magazynie razem, co przyspiesza zapytania, w których nie wszystkie pola mogą zmieścić się w magazynie kolumnowym.

Pamięć masowa in-memory i warstwowa pamięć masowaPamięć masowa in-memory i warstwowa pamięć masowa

Co jest szybsze niż skompresowany magazyn kolumnowy na dysku? Skompresowany magazyn kolumnowy w pamięci. Co może obsłużyć więcej danych niż magazyn kolumnowy w pamięci? Warstwowy system pamięci masowej, który wspiera pamięć PMEM, taką jak Intel Optane, która jest szybsza niż flash i tańsza niż DRAM. Dodatkowymi warstwami byłyby pamięci flash i dyski wirujące. Najtrudniejszą częścią takiego systemu jest implementacja wielopoziomowego buforowania bez spowalniania pobierania danych lub pozwalania na niepotrzebne przepłukiwanie pamięci podręcznej w szybszych warstwach.

ETL kontra ELT

Narzędzia ETL (extract, transform and load) pobierają dane, wykonują wszelkie pożądane mapowania i transformacje, a następnie ładują dane do warstwy przechowywania danych. Narzędzia ELT najpierw przechowują dane, a dopiero później je przekształcają. W przypadku korzystania z narzędzi ELT często stosuje się również jezioro danych.

Klastrowane i rozproszone hurtownie danych w chmurze

Ponieważ hurtownie danych są bazami danych typu read-mostly, łatwiej jest je klasteryzować niż klasteryzować bazy danych OLTP. Łatwiej jest również rozproszyć hurtownie danych geograficznie bez narażania się na duże opóźnienia zapisu. Gdy hurtownia danych ma już architekturę klastrową, łatwo jest dodać węzły do klastra, aby zwiększyć wydajność przetwarzania i szybciej zwracać wyniki.

Interfejs użytkownika w chmurze dla administratora i zapytań

Prawie każda hurtownia danych w chmurze ma swój własny interfejs użytkownika do administrowania i zapytań. Niektóre z nich są bardziej użyteczne niż inne. Administracja jest prostsza niż tworzenie zapytań, wystarczy dodać węzeł lub ustawićmaksymalnej liczby węzłów dla autoskalowania) może być tak proste, jak naciśnięcie jednego przycisku. Niektóre hurtownie danych w chmurze oferują graficzny kreator zapytań, który jest przydatny dla nowicjuszy SQL. Wiele hurtowni danych w chmurze oferuje okienko historii dla poprzednich zapytań i ich odpowiedzi.

Najważniejsze hurtownie danych w chmurze

13 produktów wymienionych poniżej w porządku alfabetycznym jest hurtowniami danych w chmurze lub zapewnia funkcjonalność hurtowni danych, ale opiera się na innej architekturze bazowej, takiej jak jeziora danych. Można argumentować, że Ahana, Delta Lake i Qubole są zbudowane na jeziorach danych, a nie zaczynają jako hurtownie danych, ale można również argumentować, że zapewniają one wiele takich samych funkcji jak niekwestionowane hurtownie danych, takie jak AWS Redshift, Azure Synapse i Google BigQuery. Ponieważ wszystkie te produkty dodają heterogeniczne, federacyjne silniki zapytań, funkcjonalne rozróżnienie pomiędzy jeziorami danych a hurtowniami danych ma tendencję do zacierania się.

Ahana Cloud dla Presto

Ahana Cloud for Presto zamienia jezioro danych na Amazon S3 w coś, co jest efektywnie hurtownią danych, bez przenoszenia jakichkolwiek danych. Zapytania SQL działają szybko nawet podczas łączenia wielu heterogenicznych źródeł danych.

Presto jest open source’owym, rozproszonym silnikiem zapytań SQL do uruchamiania interaktywnych zapytań analitycznych na źródłach danych dowolnej wielkości. Presto umożliwia wykonywanie zapytań do danych w dowolnym miejscu, w tym do Hive, Cassandry, relacyjnych baz danych i własnych magazynów danych. Pojedyncze zapytanie Presto może łączyć dane z wielu źródeł. Facebook wykorzystuje Presto do interaktywnych zapytań do kilku wewnętrznych magazynów danych, w tym do hurtowni danych o pojemności 300 PB.

Ahana Cloud for Presto działa na Amazon, ma dość prosty interfejs użytkownika i posiada kompleksowe zarządzanie cyklem życia klastra. Działa w Kubernetes i jest wysoce skalowalna. Posiada wbudowany katalog i łatwą integrację ze źródłami danych, katalogami i narzędziami do dashboardingu. Domyślnym interfejsem zapytań Ahany jest Apache Superset. Możesz również użyć notebooków Jupyter lub Zeppelin, zwłaszcza jeśli wykonujesz uczenie maszynowe.

Ahana twierdzi, że ma 3 razy większą wydajność niż inne usługi Presto, w tym Amazon Elastic MapReduce i Amazon Athena.

Amazon Redshift

Za pomocą Amazon Redshift można odpytywać i łączyć eksabajty ustrukturyzowanych i półstrukturalnych danych z hurtowni danych, operacyjnej bazy danych i jeziora danych przy użyciu standardowego SQL. Redshift pozwala łatwo zapisać wyniki zapytań z powrotem do jeziora danych S3 przy użyciu otwartych formatów, takich jak Apache Parquet, dzięki czemu można wykonać dodatkowe analizy z innych usług analitycznych, takich jak Amazon EMR, Amazon Athena i Amazon SageMaker.

Analityka Synapse Azure

Azure Synapse Analytics to usługa analityczna, która łączy integrację danych, hurtownie danych i analitykę big data. Pozwala na pobieranie, eksplorację, przygotowywanie, zarządzanie i serwowanie danych dla natychmiastowych potrzeb BI i uczenia maszynowego, a także zadawanie zapytań do danych przy użyciu bezserwerowych lub dedykowanych zasobów w skali. Azure Synapse może uruchamiać zapytania z wykorzystaniem silników Spark lub SQL. Posiada głęboką integrację z Azure Machine Learning, Azure Cognitive Services oraz Power BI.

Delta Lake

Delta Lake jest projektem open source, który umożliwia budowanie architektury „lakehouse” na istniejących systemach pamięci masowej, takich jak Amazon S3, Microsoft Azure Data Lake Storage, Google Cloud Storage i HDFS. Dodaje on transakcje ACID, obsługę metadanych, wersjonowanie danych, egzekwowanie schematu i ewolucję schematu do jezior danych. Databricks Lakehouse Platform wykorzystuje Delta Lake, Spark i MLflow w usłudze chmurowej, która działa na AWS, Microsoft Azure i Google Cloud, aby połączyć zarządzanie danymi i wydajność typową dla hurtowni danych z tanimi, elastycznymi magazynami obiektów oferowanymi przez jeziora danych.

Google BigQuery

Google BigQuery to bezserwerowa, petabajtowa hurtownia danych w chmurze z wewnętrznym silnikiem BI, wewnętrznym uczeniem maszynowym dostępnym poprzez rozszerzenia SQL oraz integracjami ze wszystkimi usługami Google Cloud, w tym Vertex AI i TensorFlow. BigQuery Omni rozszerza BigQuery do analizy danych w chmurze, wykorzystując Anthos. Data QnA zapewnia interfejs języka naturalnego do BigQuery. Connected Sheets pozwala użytkownikom analizować miliardy wierszy danych BigQuery na żywo w arkuszach Google Sheets. BigQuery może przetwarzać zapytania federacyjne, w tym zewnętrzne źródła danych w obiektowym magazynie (Google Cloud Storage) dla formatów plików Parquet i ORC (Optimized Row Columnar), transakcyjne bazy danych (Google Cloud Bigtable, Google Cloud SQL) lub arkusze kalkulacyjne w Google Drive.

Autonomiczna Hurtownia Danych Oracle

Oracle Autonomous Data Warehouse to usługa hurtowni danych w chmurze, która automatyzuje dostarczanie, konfigurowanie, zabezpieczanie, dostrajanie, skalowanie i tworzenie kopii zapasowych hurtowni danych. Zawiera narzędzia do samoobsługowego ładowania danych, transformacji danych, modeli biznesowych, automatycznych wglądów oraz wbudowane funkcje konwergentnej bazy danych, które umożliwiają prostsze zapytania na wielu typach danych oraz analizę uczenia maszynowego. Jest ono dostępne zarówno w chmurze publicznej Oracle, jak i w centrach danych klientów w ramach usługi Oracle Cloud@Customer.

Qubole

Qubole to prosta, otwarta i bezpieczna platforma data lake do uczenia maszynowego, przetwarzania strumieniowego i analityki ad hoc. Jest ona dostępna w chmurach AWS, Azure, Google i Oracle. Qubole umożliwia pobieranie zbiorów danych z jeziora danych, budowanie schematów za pomocą Hive, wykonywanie zapytań do danych za pomocą Hive, Presto, Quantum lub Spark, a następnie kontynuowanie inżynierii danych i nauki o danych. Możesz pracować z danymi Qubole w notatnikach Zeppelin lub Jupyter i przepływach pracy Airflow.

Rockset

Rockset jest bazą danych analityki operacyjnej. Zajmuje niszę pomiędzy transakcyjnymi bazami danych a hurtowniami danych. Rockset może analizować od gigabajtów do terabajtów aktualnych danych w czasie rzeczywistym i danych strumieniowych, a jego indeksy sprawiają, że większość zapytań jest wykonywana w ciągu milisekund. Rockset buduje konwergentne indeksy na strukturalnych i półstrukturalnych danych z baz OLTP, strumieni i jezior danych w czasie rzeczywistym i udostępnia interfejs RESTful SQL.

Snowflake

Snowflake to dynamicznie skalowalna hurtownia danych dla przedsiębiorstw zaprojektowana do pracy w chmurze. Działa na AWS, Azure i Google Cloud. Snowflake posiada warstwy pamięci masowej, obliczeń i usług globalnych, które są fizycznie oddzielone, ale logicznie zintegrowane. Obciążenia danymi skalują się niezależnie od siebie, dzięki czemu Snowflake jest odpowiednią platformą dla hurtowni danych, jezior danych, inżynierii danych, nauki o danych, nowoczesnego udostępniania danych i tworzenia aplikacji danych.

Teradata Vantage

Teradata Vantage to połączona, wielochmurowa platforma danych dla analityki korporacyjnej, która łączy jeziora danych, hurtownie danych, analitykę oraz nowe źródła i typy danych. Vantage działa w chmurach publicznych (takich jak AWS, Azure i Google Cloud), hybrydowych środowiskach wielochmurowych, w siedzibie firmy z Teradata IntelliFlex lub na sprzęcie klasy commodity z VMware.

Vertica

Vertica zapewnia ujednoliconą hurtownię analityczną w głównych chmurach publicznych i centrach danych w siedzibie klienta oraz integruje dane w pamięci obiektowej w chmurze i HDFS bez konieczności przenoszenia jakichkolwiek danych. Vertica oferuje dwie opcje wdrożenia. Vertica w trybie Enterprise działa na standardowych serwerach ze ściśle powiązaną pamięcią masową, zapewniając najwyższą wydajność dla przypadków użycia wymagających stałej mocy obliczeniowej. Vertica w trybie Eon Mode posiada natywną architekturę chmury, która oddziela obliczenia od pamięci masowej, umożliwiając uproszczone zarządzanie zmiennymi obciążeniami i elastyczność w stosowaniu określonych zasobów obliczeniowych do współdzielonej pamięci masowej w różnych przypadkach biznesowych. Vertica in Eon Mode jest dostępna na Amazon Web Services i Google Cloud Platform, ale nie jest ograniczona do wdrożeń w chmurze publicznej.

Yandex ClickHouse

Yandex ClickHouse to system zarządzania bazą danych OLAP o otwartym kodzie źródłowym, zorientowany na kolumny, który zarządza bardzo dużymi wolumenami danych, w tym danymi niezagregowanymi, i umożliwia generowanie niestandardowych raportów danych online w czasie rzeczywistym. System jest liniowo skalowalny i może być skalowany do przechowywania i przetwarzania trylionów wierszy i petabajtów danych. ClickHouse jest zaprojektowany do pracy na zwykłych dyskach twardych, co oznacza, że koszt przechowywania jednego GB danych jest niski, ale SSD i dodatkowa pamięć RAM są również w pełni wykorzystywane, jeśli są dostępne.

W ClickHouse dane mogą znajdować się na różnych shardach. Każdy shard może być grupą replik, które są używane do fault tolerance. Zapytanie jest przetwarzane równolegle na wszystkich shardach. ClickHouse używa asynchronicznej replikacji multi-master. Po zapisaniu danych do dowolnej dostępnej repliki, są one dystrybuowane do wszystkich pozostałych replik w tle. ClickHouse jest dostępny jako usługa w chmurze od Yandex, Altinity (na AWS), Alibaba, SberCloud i Tencent.

Hurtownia danych Yellowbrick

Yellowbrick Data Warehouse to nowoczesna, przetwarzająca masowo równolegle, analityczna baza danych, zaprojektowana dla najbardziej wymagających obciążeń wsadowych, czasu rzeczywistego, interaktywnych i mieszanych. Yellowbrick pozwala na dostarczanie hurtowni danych wszędzie tam, gdzie są potrzebne - w prywatnych centrach danych, wielu chmurach publicznych i na brzegu sieci. Yellowbrick promuje swoje zastosowanie dla rozszerzenia jeziora danych i modernizacji hurtowni danych.

Oceniając hurtownie danych w chmurze, szukaj prostoty administracyjnej, wysokiej skalowalności, wysokiej wydajności, dobrych integracji i rozsądnych kosztów. Poproś o referencje klientów, zwłaszcza w przypadku dużych wdrożeń, i zrób własny proof of concept. Spójrz wyraźnie na obecne i planowane możliwości dostawcy w zakresie uczenia maszynowego, ponieważ duża część wartości biznesowej hurtowni danych pochodzi z uzyskania i zastosowania analityki predykcyjnej.

Źródło: Info World

http://www.infoworld.com/article/3640540/how-to-choose-a-cloud-data-warehouse.html

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200