Baza w pamięci

Jak przyspieszyć istniejące systemy ERP

W oprogramowaniu klasy ERP i CRM, takim jak SAP czy JD Edwards, wiele indeksów służy głównie do analityki. Wstawianie transakcji powoduje konieczność aktualizacji średnio od kilku do kilkunastu indeksów, niekiedy nawet więcej. Te indeksy trzeba utrzymywać, ponadto przyspieszą one tylko te zapytania, do których zostały dostosowane. Jeśli mamy do czynienia z raportami wykonywanymi ad hoc, zakładanie dużej liczby indeksów nie jest opłacalne. Stosunkowo wysoki koszt wstawienia rekordów związany z aktualizacją indeksów przekłada się na duże obciążenie bazy i każde usprawnienie w tym zakresie przynosi korzyści wydajnościowe. Wprowadzenie opcji in-memory do wybranego obszaru danych umożliwia przyspieszenie działania aplikacji. Opcja ta wspiera także konfigurację klastrową o wysokiej dostępności.

Przykładowe wyniki

  • Branża motoryzacyjna, zarządzanie kosztami w aplikacji E-Business Suite – przeliczenie kosztów każdego z komponentów w katalogu, w trakcie produkcji, wysłanego oraz ukończonego produktu; 1,9 mld wierszy w tabelach kosztów, 13,8 mln podzespołów, 14 poziomów analizy BOM. Przyspieszenie raportów – 257x (było 58 godzin, jest 13,5 minuty).
  • Księgowość, oprogramowanie Peoplesoft, wsparcie podejmowania decyzji finansowych przed bilansem, 290 mln wierszy w księdze głównej, 250 jednostek biznesowych, analiza w siedmiu etapach – przyspieszenie raportów 1300x (było 4,3 godziny, jest 11,5 sekundy).
  • Branża transportowa, oprogramowanie E-Business Suite, monitoring i wsparcie decyzji dyspozytorów, 145 mln rekordów o statusach, 60 mln rekordów o wysyłkach, 16 tys. kierowców – raporty wykonywane natychmiast (było 16 minut, jest poniżej sekundy).
  • Branża handlowa, analiza operacyjna zamówień w oprogramowaniu JD Edwards, 104 mln rekordów o sprzedaży – 1700x (było 22,5 minuty, jest poniżej sekundy, całkowicie wyeliminowano zadania wsadowe).
  • Branża handlowa, podsumowanie rozliczeń per klient, linia biznesowa i waluta w oprogramowaniu JD Edwards, 10 mln wierszy z fakturami – 3500x (było 244 minuty, są 4 sekundy, całkowicie wyeliminowano przetwarzanie wsadowe i eksport danych).
  • Marketing, planowanie promocji w Demantra, 1,3 mld wierszy, agregacja do 36 mln wierszy, raport sprzedaży za dwa tygodnie – 102x (było 1120 sekund, jest 11 sekund).
  • Sprzedaż, planowanie dostaw, 400 mln wierszy, 1,4 mln lokalizacji – 13,5x (było 12,7 godziny jest 56 minut).
  • Księgowość w Oracle Fusion, wybranie zdarzeń w danym okresie, raport wykonywany wielokrotnie, 19 mln wierszy w księdze głównej – 210x (było 10 minut, są 3 sekundy).

Doświadczenie administratorów baz danych sugeruje, że podobne efekty można uzyskać w przypadku oprogramowania ERP i CRM różnych firm, korzystającego z bazy Oracle. Autor tego tekstu przeprowadził podobny test na bazie zawierającej około 100GB różnych danych, uruchomionej na standardowym serwerze x86_64. Włączenie opcji in-memory i usunięcie indeksów przyniosło przyspieszenie rzędu 250x w prostych raportach oraz około 100x w bardziej skomplikowanych. Przy zapytaniach związanych z kolumnami, do których indeksów nie było, czas obliczeń skrócił się z około dwudziestu minut do dwóch sekund.


TOP 200