Funkcjonalny model bazy danych

Funkcjonalny model bazy danych jest używany do obsługi aplikacji analitycznych, takich jak planowanie finansowe i zarządzanie wydajnością . Funkcjonalny model bazy danych, w skrócie model funkcjonalny, różni się od modelu relacyjnego , ale jest do niego komplementarny . Model funkcjonalny różni się również od innych podobnie nazwanych koncepcji, w tym funkcjonalnego modelu bazy danych DAPLEX i baz danych języka funkcjonalnego.

Model funkcjonalny należy do kategorii przetwarzania analitycznego online (OLAP), ponieważ obejmuje wielowymiarową konsolidację hierarchiczną. Ale wykracza poza OLAP, wymagając do arkusza kalkulacyjnego , w której komórki mogą być wprowadzane lub obliczane jako funkcje innych komórek. Podobnie jak w arkuszach kalkulacyjnych obsługuje interaktywne obliczenia, w których wartości wszystkich zależnych komórek są automatycznie aktualizowane przy każdej zmianie wartości komórki.

Przegląd

Analityka, zwłaszcza analityka wybiegająca w przyszłość lub perspektywiczna, wymaga interaktywnego modelowania „co by było, gdyby” i eksperymentowania, jakie większość analityków biznesowych przeprowadza z arkuszami kalkulacyjnymi. Ta interakcja z danymi jest możliwa dzięki orientacji komórek arkusza kalkulacyjnego i możliwości definiowania przez użytkowników komórek obliczonych jako funkcja innych komórek.

Model relacyjnej bazy danych nie ma takich koncepcji i dlatego jest bardzo ograniczony w modelowaniu wydajności biznesowej i interaktywności, którą może obsługiwać. W związku z tym analityka oparta na relacjach jest prawie wyłącznie ograniczona do danych historycznych, które są statyczne. Pomija to większość strategicznych korzyści analityki, które wynikają z interaktywnego konstruowania wizji przyszłości.

Model funkcjonalny jest oparty na wielowymiarowych tablicach lub „ kostkach ” komórek, które, podobnie jak w arkuszu kalkulacyjnym, mogą być wprowadzane z zewnątrz lub obliczane na podstawie innych komórek. Takie kostki są konstruowane przy użyciu wymiarów, które odpowiadają hierarchicznie zorganizowanym zbiorom rzeczywistych jednostek, takich jak produkty, obszary geograficzne, czas itp. Sześcian można postrzegać jako funkcję względem iloczynu kartezjańskiego wymiarów . To znaczy, przypisuje wartość do każdej komórki, która jest identyfikowana przez n-krotkę elementów wymiaru; stąd nazwa „funkcjonalny”. Model zachowuje elastyczność i potencjał interaktywności arkuszy kalkulacyjnych, a także wielowymiarowe, hierarchiczne konsolidacje relacyjnych narzędzi OLAP. Jednocześnie model funkcjonalny pokonuje ograniczenia zarówno modelu relacyjnej bazy danych, jak i klasycznych arkuszy kalkulacyjnych.

Od pewnego czasu istnieją produkty, które w różnym stopniu realizują zasady modelu funkcjonalnego, w tym produkty takie jak Essbase , TM1 , Alea, Microsoft Analysis Services itp.

Kontekst analityczny

System zarządzania przedsiębiorstwem zasadniczo składa się z szeregu połączonych ze sobą pętli sterowania. Każda pętla rozpoczyna się od opracowania planu, następnie plan jest wykonywany, a wyniki są przeglądane i porównywane z planem. Na podstawie tych wyników i nowej oceny tego, co przyniesie przyszłość, opracowywany jest nowy plan i proces jest powtarzany. Trzy elementy pętli sterowania, planowanie, wykonanie i ocena, mają różne perspektywy czasowe. Planowanie patrzy w przyszłość, wykonanie patrzy w teraźniejszość, a przegląd patrzy w przeszłość.

Technologia informacyjna (IT) odgrywa obecnie kluczową rolę w zwiększaniu wydajności i skuteczności pętli kontroli zarządczej. Operacyjne systemy komputerowe zajmują się wykonywaniem, podczas gdy analityczne systemy komputerowe lub po prostu Analytics służą do poprawy planowania i oceny. Potrzeby informacyjne każdego komponentu są różne. Systemy operacyjne zazwyczaj zajmują się rejestrowaniem transakcji i śledzeniem aktualnego stanu firmy — zapasów, produkcji w toku itp. Analityka składa się z dwóch głównych elementów: analizy wybiegającej w przyszłość lub prospektywnej, która ma zastosowanie do planowania, oraz analizy wstecznej lub retrospektywnej , który dotyczy oceny.

W analityce retrospektywnej transakcje wynikające z operacji są sprowadzane i gromadzone w tablicach komórek. Komórki te są identyfikowane według tylu wymiarów, ile jest istotnych dla firmy: czas, produkt, klient, klient, region itp. Komórki są zwykle ułożone w kostki, które stanowią podstawę do analiz retrospektywnych, takich jak porównanie rzeczywistej wydajności z planem. Jest to główna dziedzina systemów OLAP. Analityka prospektywna tworzy podobne kostki danych, ale dla przyszłych okresów. Rozwój danych prospektywnych jest zazwyczaj wynikiem wkładu ludzkiego lub modeli matematycznych, które są napędzane i kontrolowane przez interakcję użytkownika.

Zastosowanie IT do trzech elementów pętli kontroli zarządzania ewoluowało w czasie wraz z rozwojem nowych technologii. Rejestrowanie transakcji operacyjnych było jedną z pierwszych potrzeb, które trzeba było zautomatyzować za pomocą 80-kolumnowych kart perforowanych. Wraz z rozwojem elektroniki zapisy przenoszono najpierw na taśmę magnetyczną, a następnie na dysk. Technologia oprogramowania również się rozwijała i dała początek systemom zarządzania bazami danych, które scentralizowały dostęp do danych i kontrolę nad nimi.

Bazy danych umożliwiły następnie opracowanie języków, które ułatwiły tworzenie raportów do analiz retrospektywnych. Mniej więcej w tym samym czasie opracowano języki i systemy do obsługi danych wielowymiarowych i automatyzacji technik matematycznych do prognozowania i optymalizacji w ramach analiz prospektywnych. Niestety technologia ta wymagała wysokiego poziomu wiedzy i nie była zrozumiała dla większości użytkowników końcowych. W ten sposób jego akceptacja użytkowników była ograniczona, podobnie jak korzyści z niego płynące.

Do czasu wprowadzenia elektronicznego arkusza kalkulacyjnego nie było dostępne żadne narzędzie o szerokim zastosowaniu do analizy prospektywnej. Po raz pierwszy użytkownicy końcowi mieli narzędzie, które mogli zrozumieć i kontrolować oraz używać go do modelowania swojej działalności w ich rozumieniu. Mogli wchodzić w interakcje, eksperymentować, dostosowywać się do zmieniających się sytuacji i bardzo szybko uzyskiwać spostrzeżenia i wartości. W rezultacie arkusze kalkulacyjne zostały szeroko przyjęte i ostatecznie stały się wszechobecne. Do dziś arkusze kalkulacyjne pozostają nieodzownym narzędziem dla każdego, kto zajmuje się planowaniem.

Arkusze kalkulacyjne i model funkcjonalny

Arkusze kalkulacyjne mają kluczowy zestaw cech ułatwiających modelowanie i analizę. Dane z wielu źródeł można zebrać w jednym arkuszu. Komórki można definiować za pomocą formuł obliczeniowych w odniesieniu do innych komórek, dzięki czemu fakty z różnych źródeł można logicznie łączyć w celu obliczenia wartości pochodnych. Komórki obliczeniowe są automatycznie aktualizowane za każdym razem, gdy zmieni się jakakolwiek komórka wejściowa, od której są zależne. Gdy użytkownicy mają pytanie „co by było, gdyby”, po prostu zmieniają niektóre komórki danych, a wszystkie zależne komórki są automatycznie aktualizowane. Ponadto komórki są ułożone w prostokątne siatki i zestawione ze sobą, dzięki czemu istotne różnice można dostrzec na pierwszy rzut oka lub za pomocą powiązanych wyświetlaczy graficznych. Siatki arkuszy kalkulacyjnych zwykle zawierają również obliczenia konsolidacji wzdłuż wierszy i/lub kolumn. Pozwala to na odkrywanie trendów w agregacie, które mogą nie być widoczne na poziomie szczegółowym.

Arkusze kalkulacyjne mają jednak wiele wad . Komórki są identyfikowane na podstawie pozycji w wierszu i kolumnie, a nie koncepcji biznesowych, które reprezentują. Arkusze kalkulacyjne są dwuwymiarowe, a wiele stron sprawia wrażenie trójwymiarowych, ale dane biznesowe często mają więcej wymiarów. Jeśli użytkownicy chcą przeprowadzić inną analizę na tym samym zestawie danych, dane muszą zostać zduplikowane. Czasami można użyć linków do arkuszy kalkulacyjnych, ale najczęściej nie są one praktyczne. Łączny efekt tych ograniczeń polega na tym, że istnieje ograniczenie złożoności arkuszy kalkulacyjnych, które można tworzyć i którymi można zarządzać. Chociaż model funkcjonalny zachowuje kluczowe cechy arkusza kalkulacyjnego, przezwycięża również jego główne ograniczenia. W modelu funkcjonalnym dane są ułożone w siatkę komórek, ale komórki są identyfikowane za pomocą koncepcji biznesowej, a nie tylko wiersza lub kolumny. Zamiast arkuszy, obiektami modelu funkcjonalnego są wymiary i sześciany. Zamiast dwóch lub trzech wymiarów: wiersza, kolumny i arkusza, model funkcjonalny obsługuje tyle wymiarów, ile jest potrzebnych.

Kolejną zaletą modelu funkcjonalnego jest to, że jest to baza danych z funkcjami takimi jak niezależność danych, jednoczesny dostęp dla wielu użytkowników, integralność, skalowalność, bezpieczeństwo, ścieżka audytu, tworzenie kopii zapasowych/odzyskiwanie i integracja danych. Niezależność danych ma szczególnie dużą wartość dla analityki. Dane nie muszą już znajdować się w arkuszach kalkulacyjnych. Zamiast tego funkcjonalna baza danych działa jako centralne źródło informacji. Arkusz kalkulacyjny działa jako interfejs użytkownika do bazy danych, więc te same dane mogą być współużytkowane przez wiele arkuszy kalkulacyjnych i wielu użytkowników. Aktualizacje przesłane przez wielu użytkowników są dostępne dla wszystkich użytkowników z zastrzeżeniem zasad bezpieczeństwa. W związku z tym zawsze istnieje jedna spójna wspólna wersja danych.

Składowe modelu funkcjonalnego

Funkcjonalna baza danych składa się z zestawu wymiarów, które służą do konstruowania zestawu kostek. Wymiar to skończony zbiór elementów lub elementów, które identyfikują dane biznesowe, np. okresy, produkty, obszary lub regiony, pozycje itp. Kostki są budowane przy użyciu dowolnej liczby wymiarów. Sześcian to zbiór komórek, z których każda jest identyfikowana przez krotkę elementów, po jednym z każdego wymiaru sześcianu. Każda komórka sześcianu zawiera wartość. Sześcian jest faktycznie funkcją, która przypisuje wartość każdej n-krotce iloczynu kartezjańskiego wymiarów.

Wartość komórki może być przypisana zewnętrznie (dane wejściowe) lub może być wynikiem obliczenia wykorzystującego inne komórki w tej samej kostce lub innych kostkach. Definicja sześcianu obejmuje formuły określające obliczenia takich komórek. Komórki mogą być również puste i uznane za mające wartość zerową dla celów konsolidacji.

Podobnie jak w przypadku arkuszy kalkulacyjnych, użytkownicy nie muszą się martwić o wykonywanie przeliczeń. Gdy żądana jest wartość komórki, zwracana wartość jest aktualna w odniesieniu do wartości wszystkich komórek, które biorą udział w obliczeniach, tj. komórek, od których zależy.

Wymiary zwykle zawierają hierarchie konsolidacji, w których niektóre elementy są zdefiniowane jako elementy nadrzędne innych elementów, a element nadrzędny jest interpretowany jako suma elementów podrzędnych. Komórki, które są identyfikowane przez skonsolidowany element w jednym lub większej liczbie wymiarów, są automatycznie obliczane przez model funkcjonalny jako sumy komórek zawierających elementy podrzędne w tych wymiarach. Gdy wymagana jest wartość skonsolidowanej komórki, zwracana wartość jest zawsze aktualna w odniesieniu do wartości wszystkich konsolidowanych komórek.

Przykład

Example of cubes interconnected through formulas
Przykład kostek połączonych formułami

Sześciany i ich wymiary (w nawiasach) są następujące:

  • Zyski i straty — rachunek zysków i strat (region, konto, waluta, czas)
  • Sprzedaż - Sprzedaż(Region, Produkt, Czas)
  • Lista płac - Lista płac(Region, Pracownik, Czas)
  • Narzut — Ovhd (konto, czas)
  • Waluta obca - Fx(waluta, czas)

Kostki w modelu są połączone za pomocą formuł:

Kostka rachunku zysków i strat pobiera koszty w dolarach z kostki listy płac za pomocą formuły w postaci: Rachunek zysków i strat ("Płace", "Dolary") = Lista płac ("Wszyscy pracownicy")

Uwaga: Użyta składnia wyrażeń służy celom ilustracyjnym i może nie odzwierciedlać składni używanej w modelu formalnym lub w poszczególnych produktach implementujących model funkcjonalny. Zakłada się, że wymiary pominięte w wyrażeniu obejmują wszystkie elementy liścia tych wymiarów. Zatem to wyrażenie jest równoważne z:

P&L( xRegion, "Payroll", "Dollars", xTime) = Payroll (xRegion, "All Employees", xTime) dla wszystkich odejść xRegion w regionie i wszystkich odejść xTime in Time.

Podobnie P&L pobiera również przychody ze sprzedaży z kostki Sales poprzez:

P&L("Sprzedaż", "Dolary") = Sprzedaż("Wszystkie produkty")

Rachunki kosztów ogólnych są przydzielane według regionów na podstawie sprzedaży:

P&L("Region", "Dolary") = Ovhd() * Sprzedaż("Region") / Sprzedaż("Wszystkie regiony")

Wreszcie inne waluty są wyprowadzane z kursu dolara:

P&L() = P&L("Dolary") * Fx()

Historyczna część kostek jest również wypełniana z hurtowni danych. W tym uproszczonym przykładzie omówione obliczenia można wykonać w hurtowni danych dla historycznej części kostek, ale generalnie model funkcjonalny obsługuje obliczenia innych funkcji, takich jak stosunki i procenty.

Podczas gdy historia jest statyczna, część przyszła jest zazwyczaj dynamiczna i rozwijana interaktywnie przez analityków biznesowych z różnych organizacji i środowisk. Prognozy sprzedaży powinny być opracowywane przez ekspertów z każdego regionu. Mogą korzystać z modeli prognostycznych i parametrów uwzględniających ich wiedzę i doświadczenie w tym regionie lub po prostu wprowadzać je za pomocą arkusza kalkulacyjnego. Każdy region może stosować inną metodę z innymi założeniami. Prognoza płac mogłaby zostać opracowana przez ekspertów HR w każdym regionie. Kostka kosztów ogólnych byłaby wypełniona ludźmi z centrali finansowej, podobnie jak prognozy kursów walut. Prognozy opracowane przez regionalnych ekspertów są najpierw weryfikowane i przetwarzane w regionie, a następnie weryfikowane i przetwarzane w centrali.

Model można rozszerzyć tak, aby obejmował wymiar Wersja, który zmienia się w zależności na przykład od różnych scenariuszy klimatu gospodarczego. W miarę upływu czasu każdy cykl planowania można zapisać w innej wersji, a wersje te porównać z rzeczywistymi i między sobą.

W każdej chwili dane we wszystkich kostkach, z zastrzeżeniem ograniczeń bezpieczeństwa, są dostępne dla wszystkich zainteresowanych. Użytkownicy mogą dynamicznie przenosić wycinki kostek do arkuszy kalkulacyjnych w celu przeprowadzenia dalszych analiz, ale z gwarancją, że dane są takie same, jak te, które widzą inni użytkownicy.

Funkcjonalne bazy danych i analizy prospektywne

Funkcjonalna baza danych gromadzi dane z wielu różnych źródeł i łączy różne zestawy danych w spójne modele użytkowe. Zapewnia również kontrolę nad danymi rozproszonymi w wielu arkuszach kalkulacyjnych. Pozwala to użytkownikom zobaczyć podsumowanie, które łączy wiele elementów, np. w celu automatycznego przekształcenia planowania siły roboczej w pełny obraz finansowy. Daje im jeden punkt wejścia do opracowywania globalnych spostrzeżeń w oparciu o różne źródła.

Funkcjonalna baza danych, taka jak arkusze kalkulacyjne, umożliwia użytkownikom zmianę wartości wejściowych, podczas gdy wszystkie wartości zależne są aktualne. Ułatwia to eksperymentowanie „co by było, gdyby” oraz tworzenie i porównywanie wielu scenariuszy. Użytkownicy mogą następnie zobaczyć scenariusze obok siebie i wybrać najbardziej odpowiedni. Podczas planowania użytkownicy mogą wybrać najkorzystniejszy sposób działania poprzez wielokrotne przetwarzanie i interakcję z wynikami. Praktyczne spostrzeżenia pochodzą z tej intymnej interakcji z danymi, którą użytkownicy zwykle wykonują za pomocą arkuszy kalkulacyjnych

Funkcjonalna baza danych to nie tylko wspólny interaktywny magazyn danych. Łączy również modele opracowane przez analityków posiadających wiedzę na temat konkretnego obszaru działalności, które mogą być udostępniane wszystkim użytkownikom. Aby to ułatwić, funkcjonalna baza danych zachowuje możliwości interaktywnego modelowania opartego na komórkach arkusza kalkulacyjnego. Dzięki temu możliwe są modele, które lepiej odzwierciedlają złożoność rzeczywistości biznesowej.

Być może największy pojedynczy wkład funkcjonalnej bazy danych w analitykę wynika z promowania współpracy. Pozwala wielu osobom i organizacjom nie tylko dzielić się jedną wersją prawdy, ale prawdą, która jest dynamiczna i ciągle się zmienia. Jego automatyczne obliczenia szybko konsolidują i uzgadniają dane wejściowe z wielu źródeł. Sprzyja to interakcji różnych działów, ułatwia wielokrotne iteracje procesów myślowych i umożliwia zbieżność i pogodzenie różnych punktów widzenia. Ponadto, ponieważ każda część modelu jest opracowywana przez ludzi, którzy są bardziej ekspertami w swojej dziedzinie, jest w stanie wykorzystać doświadczenie i spostrzeżenia, które istnieją w organizacji.

Dalsza lektura

  • „Podstawowa teoria mnogości”. Stanford Encyklopedia filozofii. http://plato.stanford.edu/entries/set-theory/primer.html
  • Bird RS, Wadler PL Wprowadzenie do programowania funkcyjnego. Prentice Hall (1988).
  • Buneman P., Funkcjonalne języki baz danych i funkcjonalny model danych. Stanowisko dla warsztatów FDM (czerwiec 1997) http://www.cis.upenn.edu/~peter/fdm-position.html .
  • Codd, EF Relacyjny model danych dla dużych wspólnych banków danych. Kom. ACM 13, 6 (czerwiec 1970)
  • Henderson P. Zastosowanie i implementacja programowania funkcjonalnego. Sala praktykanta (1980).
  • Hrbacek, K i Jech, T Wprowadzenie do teorii mnogości, wydanie trzecie, Marcel Dekker, Inc., Nowy Jork 1999.
  •   Lang, Serge (1987), algebra liniowa , Berlin, Nowy Jork: Springer-Verlag, ISBN 978-0-387-96412-6
  • CM Necco, JN Oliveira, L. Quintas. Funkcjonalne podejście do przetwarzania analitycznego on-line, 2006. WISBD, III Workshop de Ingeniería de Software y Bases de Datas. CACIC'06, XII Congreso Argentino de Ciencias de la Computación, Universidad Nacional de San Luis, Argentyna.
  • EF Codd. Zapewnienie Olap analitykom użytkowników: mandat IT, kwiecień 1993. Raport techniczny, EF Codd and Associates.
  • P. Trinder, Funkcjonalna baza danych, D.Phil Thesis, Oxford University 1989.
  • G. Colliat, relacyjne i wielowymiarowe systemy baz danych Olap, SIGMOD Record, 25(3), (1996)
  • TB Pedersen, CS Jensen, Wielowymiarowa technologia baz danych, IEEE Computer 34 (12), 40-46, (2001)
  •   CJ Date with Hugh Darwen: A Guide to the SQL standard: a user guide to the standard database language SQL, 4th ed., Addison Wesley, USA 1997, ISBN 978-0-201-96426-4
  • Ralph Kimball i Margy Ross, Zestaw narzędzi hurtowni danych: kompletny przewodnik po modelowaniu wymiarowym (wydanie drugie), s. 393
  • Karsten Oehler Jochen Gruenes Christopher Ilacqua, IBM Cognos TM1 Oficjalny przewodnik, McGraw Hill 2012
  • Ostateczna historia TM1, Manny Perez, https://cubewise.com/history/
  • Poza arkuszem kalkulacyjnym: historia TM1. 2020. [film] Reżyseria: A. Vale da Conceição. Sydney w Australii. https://tm1.film
  • Manny'ego Pereza; cały wywiad z Flatrock. 2020 [film] https://www.youtube.com/watch?v=yO_LUhkwIF4&list=PLCb8b-2N8MebWgyBhXdMDTmkH5Mx-ZMAs