Database
 sql >> Baza danych >  >> RDS >> Database

Co to jest baza danych Greenplum? Wprowadzenie do bazy danych Big Data

Baza danych Greenplum to baza danych SQL z masowym przetwarzaniem równoległym (MPP), zbudowana i oparta na PostgreSQL. Można go bez problemu skalować do wielopetabajtowego obciążenia danymi i umożliwia dostęp do klastra wydajnych serwerów, które będą współpracować w ramach jednego interfejsu SQL, w którym można wyświetlić wszystkie dane. W tym poście na blogu wyjaśniamy, czym jest Greenplum, oraz omawiamy architekturę Greenplum, zalety, główne przypadki użycia i jak zacząć.

Czym dokładnie jest Greenplum?

Baza danych Greenplum to niezależna od sprzętu i niezależna od sprzętu baza danych MPP do analiz, oparta na PostgreSQL i opracowana przez firmę Pivotal, która została później przejęta przez VMware. Jego architektura została specjalnie zaprojektowana do zarządzania wielkoskalowymi hurtowniami danych i obciążeniami analizy biznesowej, umożliwiając rozłożenie danych na wielu serwerach.

Ta bogata w funkcje baza danych zapewnia potężne i szybkie analizy danych, które skalują się do objętości petabajtów.

W skrócie – TLDR

Architektura Greenplum

Greenplum wykorzystuje projekt bazy danych MPP, który może pomóc w opracowaniu skalowalnego, wysokowydajnego wdrożenia. Przeczytaj teraz

Zalety Greenplum

Wysoka wydajność, optymalizacja zapytań, open source i polimorficzne przechowywanie danych to główne zalety Greenplum. Przeczytaj teraz

Główne przypadki użycia

Zobacz, dlaczego Greenplum to najlepsza baza danych do analiz, uczenia maszynowego i przypadków użycia sztucznej inteligencji. Przeczytaj teraz

Architektura Greenplum

Aby dobrze zrozumieć architekturę Greenplum, przyjrzyjmy się najpierw, czym jest baza danych MPP.

Co to jest baza danych MPP?

Podczas obsługi dużych ilości złożonych danych lub dużych zbiorów danych, istnieje duże prawdopodobieństwo, że Twoja główna maszyna może zostać zmiażdżona przez wszystkie dane, które musi przetworzyć w celu wygenerowania Twoich analiz wyniki. Aby zaspokoić tę potrzebę szybszego przetwarzania i umożliwienia szybszych wyników, wiele organizacji rozważa przyjęcie bazy danych MPP.

System MPP wykorzystuje architekturę typu „shared-nic” do równoległej obsługi wielu operacji. Wykorzystuje kilka różnych jednostek przetwarzających, które działają niezależnie, korzystając z własnej dedykowanej pamięci i zasobów, dzięki czemu obciążenie jest dzielone na wiele urządzeń, a nie tylko na jedno. Zazwyczaj system MPP ma jeden węzeł prowadzący i jeden lub wiele węzłów obliczeniowych. Węzeł prowadzący, zwany „głównym” w Greenplum, mówi wszystkim pozostałym węzłom, zwanym segmentami w Greenplum, co robić i łączy ich odpowiedzi, aby stworzyć ostateczną odpowiedź.

Bazy danych MPP skaluj w poziomie dodając więcej zasobów obliczeniowych (węzłów), zamiast martwić się aktualizacją do coraz droższych pojedynczych serwerów (skalowanie w pionie).

Projekt architektoniczny Greenplum

Oparty na architekturze PostgreSQL, Greenplum zasadniczo wykorzystuje kilka instancji bazy danych PostgreSQL jednocześnie w jednym klastrze Greenplum. Użytkownicy PostgreSQL mogą szybko zapoznać się z tym typem bazy danych, ponieważ wiele funkcji, konfiguracji i funkcjonalności jest takich samych w Greenplum i obejmuje funkcje zaprojektowane w celu optymalizacji działania PostgreSQL dla zadań i obciążeń z zakresu analizy biznesowej (BI).

Greenplum wprowadził również wiele funkcji niedostępnych w PostgreSQL, takich jak równoległe ładowanie danych, zarządzanie zasobami, ulepszenia pamięci masowej i zaawansowana optymalizacja zapytań, dzięki czemu jest atrakcyjną ofertą podczas porównywania dwa.

Podobnie do PostgreSQL, Greenplum wykorzystuje jeden serwer główny lub host, który jest punktem wejścia do bazy danych, akceptującym połączenia i zapytania SQL. Jednak tam, gdzie PostgreSQL wykorzystuje węzły rezerwowe do geograficznego rozmieszczenia ich wdrożenia, Greenplum używa hostów segmentowych, które przechowują i przetwarzają dane. Segmenty Greenplum są niezależne i każdy przechowuje część danych, chociaż obsługuje większość przetwarzania zapytań. Możesz wykorzystać tylko dwa segmenty hostów i skalować do nieograniczonej pojemności. Jeśli masz włączone dublowanie, musisz zwiększyć liczbę hostów segmentu o co najmniej dwa.

Więc, jak to wszystko jest skoordynowane? Połączenie Greenplum jest warstwą sieciową architektury i zarządza komunikacją między segmentami Greenplum a infrastrukturą sieci głównej hosta.

Zalety Greenplum

Oto niektóre z kluczowych zalet Greenplum, które mogą pomóc w poprawie wydajności bazy danych:

  • Wysoka wydajność

    Greenplum ma wyjątkowo zaprojektowany potok danych, który może wydajnie przesyłać dane z dysku do procesora, nie polegając na dopasowaniu danych do pamięci RAM, jak wyjaśniono w ich Greenplum Next Generation Big Platforma danych:artykuł o 5 najważniejszych powodach. Zapewnia to wdrożeniom Greenplum ogromny wzrost wydajności w porównaniu z systemami w pamięci, które potrzebują wystarczającej ilości pamięci do przechowywania danych, lub systemami nieopartymi na RDBMS, które są silnikami przetwarzania w pamięci, które przydzielają pamięć RAM dla każdego równoczesnego zapytania. Wysoka wydajność Greenplum eliminuje wyzwanie, jakie większość RDBMS ma do skalowania do niewielkich poziomów danych, ponieważ są one w stanie skalować się liniowo w celu wydajnego przetwarzania danych.

  • Optymalizacja zapytań

    Greenplum oferuje oparty na kosztach optymalizator zapytań do obsługi dużych obciążeń danych. Wykorzystując wydajność, jak omówiliśmy powyżej, Greenplum skaluje analitykę interaktywną i w trybie wsadowym do skali petabajtowej bez obniżania wydajności zapytań. Pozwala to Greenplum na rozłożenie obciążenia między różne segmenty i równoległe wykorzystanie wszystkich zasobów systemu do przetwarzania zapytania.

    Dodatkowo, dzięki ulepszeniom obciążenia OLTP (Online Transactional Processing) w Greenplum 6, wydajność pojedynczego zapytania wzrosła o ponad 3,5 c w porównaniu z Greenplum 5. Dzięki tej aktualizacji firma Greenplum wyeliminowała wiele Zablokuj konkurencję, aby użycie głównego procesora mogło przekroczyć 90%, co poprawia wydajność zapytania poprzez poprawę wydajności sprzętowej węzła głównego.

  • Open Source

    Baza danych Greenplum to projekt hurtowni danych o otwartym kodzie źródłowym oparty na rdzeniu PostgreSQL o otwartym kodzie źródłowym, umożliwiający użytkownikom korzystanie z dziesięcioleci eksperckiego rozwoju PostgreSQL, wraz z ukierunkowaną personalizacją Greenplum dla aplikacji Big Data. Greenplum może działać na dowolnym serwerze Linux, niezależnie od tego, czy jest hostowany w chmurze, czy lokalnie, i może działać w dowolnym środowisku.

    Chociaż Greenplum jest utrzymywany przez główny zespół programistów z prawami do zatwierdzania w głównym repozytorium, chętnie witają nowych współpracowników, którzy mają doświadczenie w pracy z bazą danych, aby pomóc kształtować przyszłość Greenplum. Dowiedz się więcej o angażowaniu się na stronie Greenplum GitHub.

  • Polimorficzne przechowywanie danych

    Polimorficzne przechowywanie danych firmy Greenplum umożliwia kontrolowanie konfiguracji przechowywania tabel i partycji z możliwością wykonywania i kompresowania w nich plików w dowolnym momencie. Umożliwi to zaprojektowanie tabel w oparciu o sposób uzyskiwania dostępu do określonych danych i z kolei będzie mieć hierarchię przechowywania zorientowaną na wiersze lub kolumny.

    Podczas tworzenia tabeli w Greenplum możesz kontrolować orientację, wybierając dane zorientowane na kolumny lub wiersze. Zorientowanie na kolumnę jest zazwyczaj lepsze w przypadku pełnych skanów, natomiast zorientowanie na wiersz jest lepsze w przypadku małych skanów lub wyszukiwań.

Greenplum umożliwia nawet tworzenie typów danych i funkcji specyficznych dla domeny. Dzięki zastosowaniu częściowo ustrukturyzowanych typów danych, w tym XML, HStore i JSON, masz możliwość przechowywania i analizowania zarówno ustrukturyzowanych, jak i nieustrukturyzowanych danych w bazie danych.

Co to jest baza danych Greenplum? Wprowadzenie do bazy danych Big DataKliknij, aby tweetować

Główne przypadki użycia

Greenplum zapewnia potężne połączenie baz danych przetwarzających masowo równolegle i zaawansowanej analizy danych, co pozwala stworzyć ramy dla naukowców i architektów danych do podejmowania decyzji biznesowych w oparciu o dane zebrane przez sztuczną inteligencję i uczenie maszynowe. Przejdźmy przez najczęstsze przypadki użycia Greenplum:

Analityka

Zaawansowane analizy dostarczane przez Greenplum są wykorzystywane w wielu branżach, takich jak finanse, produkcja, motoryzacja, administracja rządowa, energetyka, edukacja, handel detaliczny itd. problemów. Niektóre z funkcji analitycznych Greenplum Database wyróżnionych przez Pivotal obejmują możliwość analizowania wielu typów danych, wykorzystania istniejącej wiedzy SQL i trenowania większej liczby modeli w krótszym czasie przy użyciu architektury MPP.

Dodatkowo Greenplum zapewnia analitykę w bazie danych, która umożliwia prowadzenie analiz bezpośrednio w bazie danych, a nie eksportowanie i uruchamianie danych w zewnętrznym silniku analitycznym. Jako baza danych dostosowana do obciążeń korporacyjnych, zapewnia to możliwość eksploracji dużych zestawów danych wraz z wysoką wydajnością osiągniętą przez równoległe przeprowadzanie analiz na dostępnych hostach segmentu. Możesz także skorzystać z szerokiej gamy narzędzi do analizy mocy z Greenplum, w tym MADlib, języka statystycznego R, SAS i języka znaczników modelowania predykcyjnego (PMML).

Na przykład firma zajmująca się marketingiem internetowym na miliard dolarów używa zaawansowanych analiz Greenplum do profilowania odbiorców, aby zrozumieć, kim są ich odbiorcy, co kupują, z jakich sieci i urządzeń korzystają, i ich lokalizacja geograficzna, aby mogli lepiej zrozumieć i obsługiwać swój rynek.

Uczenie maszynowe

Greenplum to doskonała baza danych do uczenia maszynowego – badania algorytmów komputerowych, które poprawiają się automatycznie dzięki doświadczeniu. Apache MADlib to biblioteka uczenia maszynowego typu open source oparta na SQL, która działa w bazie danych na Greenplum oraz PostgreSQL. Ta kombinacja pomaga poprawić równoległość, skalowalność i dokładność predykcyjną wdrożenia uczenia maszynowego Greenplum. Możliwości transformacji danych i inżynierii funkcji są również dostępne za pośrednictwem MADlib do uczenia maszynowego, w tym statystyk opisowych i inferencyjnych, obrotu, sesji i kodowania zmiennych kategorialnych.

Na przykład, rządowa firma utrzymująca przychody z oszustw wykorzystuje możliwości uczenia maszynowego Greenplum wraz z GemFire ​​do wykrywania oszustw na dużą skalę w celu zapobiegania kradzieży tożsamości, wykrywania i zatrzymywania 5 mld USD rocznie i przetwarzania 8 milionów przypadków dziennie.

AI

Sztuczna inteligencja (AI), choć podobna do uczenia maszynowego, odnosi się do szerszej idei, w której maszyny mogą inteligentnie wykonywać zadania. Greenplum to doskonały wybór bazy danych dla aplikacji, które chcą naśladować ludzkie zdolności za pomocą inteligentnych maszyn. Dzięki zdolności Greenplum do przyjmowania dużych ilości danych z dużą prędkością, ta baza danych jest potężnym narzędziem dla inteligentnych aplikacji, które muszą komunikować się inteligentnie w oparciu o nieograniczoną liczbę unikalnych scenariuszy.

Na przykład firma telekomunikacyjna wykorzystuje możliwości sztucznej inteligencji bazy danych Greenplum w swoich inteligentnych czujnikach systemu raportowania operacyjnego IoT do analizowania i wykonywania zdarzeń wykorzystywanych do konserwacji, bezpieczeństwa i wydajności operacyjnej.

Kto więc używa dzisiaj Greenplum? Do klientów Greenplum należą American Express, Walmart, Asurian, Bank of America i wiele innych z sektora bankowego, usług profesjonalnych, mediów, ubezpieczeń, opieki zdrowotnej, motoryzacyjnego i detalicznego.

Jak zacząć

Jak wspomniano w tym poście, Greenplum jest bazą danych o otwartym kodzie źródłowym, więc wersję społecznościową można pobrać i używać całkowicie bezpłatnie. Mała, ale aktywna społeczność Greenplum wita nowych współpracowników, przyjmuje opinie i współpracuje z ewangelistami Greenplum w celu promowania bazy danych Big Data.

Wiele organizacji korzystających z Greenplum poszukuje dodatkowego wsparcia i narzędzi, które pomogą swoim administratorom w zarządzaniu wdrożeniami. Oto dwie różne opcje zarządzania bazą danych i wsparcia dostępne dla Greenplum:

ScaleGrid dla bazy danych Greenplum® – wersja Open Source

ScaleGrid dla Greenplum® Database to w pełni zarządzane rozwiązanie dla otwartej wersji Greenplum, wprowadzone na rynek w maju 2020 r. Platforma multi-cloud umożliwia wdrażanie i zarządzanie w AWS, Platformy chmurowe Azure lub Google Cloud (wkrótce) lub środowiska lokalne VMware. ScaleGrid zapewnia użytkownikom Greenplum zaawansowane narzędzia do zarządzania, które muszą wdrożyć jednym kliknięciem, zautomatyzować tworzenie kopii zapasowych i skalować dynamicznie z możliwością zachowania pełnych uprawnień administratora superużytkownika w stosunku do ich wdrożeń typu open source.

Pivotal Greenplum – wersja komercyjna

Pivotal Greenplum, teraz VMware Tanzu jest twórcą bazy danych open source, która oferuje komercyjną wersję bazy danych, która pomaga we wdrażaniu i zarządzaniu Greenplum w chmurze i lokalnie. Pivotal Greenplum oferuje wiele zalet, takich jak możliwość maksymalizacji czasu pracy bez przestojów, ochrona integralności danych oraz łatwa obsługa danych strumieniowych i danych w chmurze.

Zarówno ScaleGrid, jak i Pivotal Greenplum oferują zaawansowane pakiety wsparcia, które pomogą administratorom DBA zoptymalizować wdrożenia Greenplum.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Projektowanie bazy danych dla internetowego portalu pracy

  2. Przestarzałe funkcje do wyjęcia z przybornika – część 1

  3. AKTUALIZACJA SQL

  4. Podejścia do bezpieczeństwa w modelowaniu danych. Część 4

  5. Operator SQL NOT