Niezbędniki integracji – Baza Danych (3 z 3)

niezbędnik integracji baza danych

Niezbędnik integracji – Baza Danych (3 z 3)

Niezbędnik integracji

Przedstawiamy niezbędniki integracji – elementy, bez których nie możesz się obejść w codziennej pracy. Bez nich używanie systemów jest dużo trudniejsze. Na szczęście z pomocą przychodzą serwery szyny danych, które ułatwiają łączenie różnych systemów. Wśród nich wyróżnia się WSO2 Enterprise Integrator, dostępna w licencji Open Source szyna danych z wieloma możliwościami integracji oraz ponad 250 konektorami do systemów zewnętrznych.

Po Web Service i REST pora na trzeci artykuł z serii niezbędników.

Baza danych

Trudno wyobrazić sobie jakikolwiek system bez zapisywania danych. Dane najłatwiej przechowywać w bazach danych. Często systemy mają nawet podręczne operacyjne bazy danych potrzebne do bieżącej pracy. Bazy mogą przechowywać dane w tabelach, gdzie jest z góry określona struktura kolumn jak w arkuszu kalkulacyjnym albo bez ustalonej struktury – przechowując całe dokumenty z danymi.

Bazy relacyjne

W bazach relacyjnych dane są przechowywane w tabelach i rekordach podobnie jak w arkuszu kalkulacyjnym. Struktura tabel i kolumn jest z góry ustalona i każda kolumna ma określony typ danych i długość. Takie podejście pozwala na efektywne przechowywanie i wyszukiwanie danych zgodnie z zadanym wzorcem. Można zdefiniować połączenia (relacje) pomiędzy tabelami, żeby w takich sposób określić zależności pomiędzy tabelami-obiektami (np. faktura i jej poszczególne pozycja). Stąd bierze się ich nazwa. Inną popularną nazwą jest baza SQL od języka, którym “rozmawia” się z bazą.

Bazy relacyjne to najczęściej spotykany sposób pracy z danymi. Są najczęściej używane do zapisywania dobrze zdefiniowanych danych, na przykład o transakcjach, systemy finansowe, księgowe, bankowe czy zarządzania zapasami i magazynami. Potrafią szybko obsługiwać duży wolumen danych. Największym problemem, z którym trzeba się zmierzyć są zmiany w strukturze. Jeśli chcemy dodać jakieś informacje albo zmienić ich typ trzeba odpowiednio zmodyfikować strukturę – utworzyć nową kolumnę albo zmienić jej typ.

Istnieje wiele produktów umożliwiających przeglądanie, analizę i uruchamianie raportów. Same bazy danych mają dodatki, dzięki którym można tworzyć agregacje i hurtownie danych.

Bazy NoSQL

W bazach NoSQL dane przechowywane są w inny sposób. Są różne modele przechowywania danych.

Klucz-wartość

Najprostszym sposobem przechowywania danych jest model klucz-wartość. Dane są przechowywane w strukturze typu słownik lub mapa. Najczęściej stosuje się je do: przechowywania obrazów, danych sesji, koszyka zakupów czy jako pamięci podręcznych. Magazyny klucz–wartość zawsze wykorzystują klucz główny, przeważnie cechują się wysoką wydajnością i są łatwo skalowalne. Magazyn klucz–wartość należy odpytywać po kluczu. Przykładem takiej bazy jest Memcached, Redis, ZooKeeper, Apache Ignite czy Oracle NoSQL Database.

Dokumenty

Najbardziej popularnym sposobem jest przechowywanie całych dokumentów. Formatem danych może być JSON, XML czy YAML. Bazy danych umożliwiają wyszukiwanie dokumentów, a także tego co zawierają w formie klucz-wartość. Dokument jest używany do logowania zdarzeń, analizy stron internetowych lub analizy w czasie rzeczywistym, aplikacjach e-commerce. Dane są organizowane w różny sposób: w kolekcje, tagi, metadane czy hierarchie. Przykładem bazy dokumentowej jest MongoDB, Apache CouchDB czy IBM Domino.

Rodzina kolumn

Rodzina kolumn najbardziej przypomina relacyjne bazy danych. Rodzina kolumn odpowiada tabeli, a każda para klucz-wartość jest zapisywana w wierszu. Dodatkowo w każdym wierszu jest zapisywany stempel czasowy, dzięki czemu możemy synchronizować dane. Rodzina kolumn jest używana do logowania zdarzeń, zarządzania treścią i do wygasających danych. Przykładem bazy danych jest Cassandra, czy Amazon SimpleDB.

Graf

Ten model danych dobrze sprawdza się dla danych, które mają powiązane ze sobą elementy. Mogą to być relacje społeczne, połączenia transportu czy mapy drogowe. Baza grafów jest oparta na węzłach (encje), krawędziach (relacje) i ich właściwościach. Jest wykorzystywana w sieciach społecznościowych czy do wytyczania tras. Przykładem bazy grafowej jest Amazon Neptune, Oracle RDF czy SAP HANA.

Bezpieczeństwo

Bezpieczeństwo baz danych zależy od sposobu udostępnienia usług. Musimy pamiętać, żeby odpowiednio zabezpieczyć dostęp do usług i umożliwić ich wywołanie tylko przez uprawnione systemy. Dane powinny być udostępniane wyłącznie przez protokół HTTPS, żeby nie zostały podejrzane. Dodatkowo należy zabezpieczyć wywołania tokenami autoryzacyjnymi lub kluczami API, żeby upewnić się, że dane będą udostępniane tylko uprawnionym systemom i osobom.

Wsparcie WSO2 Enterprise Integrator

Szyna danych WSO2 EI ma wbudowane wsparcie dla baz danych. Jest to element DataService, dzięki któremu mamy bezpośredni dostęp do danych. W DataService definiujemy połączenie i zapytania. WSO2 EI może się podłączyć do baz relacyjnych RDBMS, a także NoSQL. Obsługiwane są wszystkie rodzaje zapytań: SELECT, INSERT, UPDATE, DELETE, MERGE, a także wywoływanie procedur wbudowanych i bloków kodu. Możemy również zdefiniować parametry wywołania i ustalić ich wartości domyślne. Później definiujemy strukturę i format odpowiedzi. 

Mamy do wyboru format XML, w którym możemy przekazywać dane jako elementy lub atrybuty oraz format JSON, w którym definiujemy szablon odpowiedzi. Na koniec definiujemy sposób wywołania usługi. Tu też mamy do wyboru dwie opcje. Możemy zdefiniować metody wywołania Web Service lub ścieżki wywołania REST. Możemy też korzystać zamiennie z obu sposobów.

Pomocy!

Potrzebuję połączyć się z bazą danych. Jak udostępnić tabelę przez Web Service? Nowy system używa tylko REST, jak połączyć się z moją bazą danych? Mamy kilkunastoletnie doświadczenie w budowaniu i wdrażaniu integracji. Daj znać, na pewno pomożemy!

Pozostałe artykuły z serii

Niezbędniki integracji – Baza Danych (3 z 3)
Przewiń na górę