Dlaczego warto robić analizy danych o sprzedaży sklepu internetowego na osobnej bazie danych?

16. Luty 2012 Komentarze (0) W kategorii Różne, Techniczne

Oprogramowanie do prowadzenia sklepu internetowego czasami ma funkcje do raportów sprzedaży. To bardzo dobrze, choć używanie ich wiąże się z pewnymi niebezpieczeństwami w funkcjonowaniu sklepu i niedogodnościami dla Klientów.

Lepiej jest przenieść dane z bazy danych sklepu internetowego do osobnej bazy i tam je analizować. Dlaczego?

Baza danych dla każdego sklepu internetowego została zaprojektowana z myślą o szybkim wprowadzaniu (rejestracji) transakcji zakupu oraz minimalnym wykorzystaniu dysku twardego do przechowywania danych o produktach w sklepie oraz zawartych transakcjach. Inaczej mówiąc baza danych sklepu została wyspecjalizowana do obsługi (realizacji) transakcji w sklepie. Nie została zoptymalizowana pod kątem sprawnego wykonywania analiz tych danych.

W dużym uproszczeniu można powiedzieć, że jeśli baza danych „jest do wszystkiego, to jest do niczego” ;) To sformułowanie obrazuje zasadę specjalizacji w informatyce – aby coś działało szybko, sprawnie, wydajnie i bezawaryjnie, to musi realizować możliwie proste działania – określonego rodzaju. Dlatego rozwijają się dwie gałęzie baz danych wzajemnie się uzupełniających: przetwarzanie transakcji (OLTP) oraz analiza danych (OLAP).

Czym się różnią bazy transakcyjne i bazy analityczne?

Transakcyjne bazy danych (OLTP – On-Line Transaction Processing) charakteryzują się dużą ilością krótkich transakcji realizowanych w czasie rzeczywistym. Główny nacisk w systemach transakcyjnych jest położony na:

  • bardzo szybkie przetwarzanie zapytań – w sklepie internetowym: wyświetlanie produktów, wyszukiwanie produktów o określonych parametrach, dodawanie produktów do koszyka, realizacja zamówienia po to, aby klient szybko i wygodnie został obsłużony,
  • dbanie o integralność danych w systemach wielodostępnych – aby w sklepach internetowych nie było błędów produktów i cen w zamówieniach, aby żadne zamówienie nie „zaginęło” np. na skutek błędów transmisi, aby nie zostały sprzedane produkty, których już nie ma w magazynie, itp.
  • na efektywność mierzoną ilością transakcji na sekundę – aby sklep internetowy działał szybko i był w stanie obsługiwać wielu klientów jednocześnie.

Analityczne bazy danych (OLAP – On-Line Analytical Procesing) charakteryzują się stosunkowo małą ilością transakcji (zapytań). Zapytania te są jednak bardzo skomplikowane i wymagają wiele obliczeń (podsumowań, zliczeń lub uśrednień). Z baz analitycznych korzysta mniej osób (użytkowników) – nie setki klientów, tylko 1-2 osoby z obsługi sklepu (najczęściej menedżerowie lub właściciele). Dane w bazie analitycznej pochodzą z bazy transakcyjnej (mogą pochodzić nawet z kilku, kilkunastu różnych systemów, np. z bazy sklepu oraz oprogramowania księgowego), lecz są inaczej zorganizowane po to, aby dały się szybciej przeglądać, wyszukiwać i przeliczać. Dane te są aktualizowane – raz dziennie, tygodniowo lub co miesiąc – w zależności od potrzeb użytkowników i ilości danych. W bazach analitycznych użytkownicy praktycznie nie zapisują danych – przeważnie tylko je odczytują na potrzeby różnych raportów. Miarą efektywności systemów analitycznych jest czas odpowiedzi (zwrot wyników) na zadane zapytanie. W zależności od ilości transakcji i rodzaju zapytania raport może się generować kilka, kilkanaście lub nawet kilkadziesiąt minut.

Poniższa tabelka przedstawia porównanie obu systemów baz danych:

Cecha Bazy transakcyjne
OLTP
Bazy analityczne
OLAP
Rodzaj przechowywanych danych Dane operacyjne. Przechowuje informacje potrzebne do realizacji transakcji oraz informacje o zrealizowanych transakcjach. Dane skonsolidowane. Przechowuje dane, które mogą pochodzić z kilku (niezależnych lub powiązanych) systemów transakcyjnych. Dane te są ujednolicone oraz zagregowane.
Przeznaczenie danych Nadzorowanie i realizacja podstawowych zadań biznesowych. Pomoc w planowaniu, rozwiązywaniu problemów oraz podejmowaniu decyzji.
Jakie dane Odwzorowują ostatni (bieżący) stan lub sytuację pojedynczych procesów (transakcji). Pokazuje, np. że zamówienie jest złożone, że zostało wysłane i że zostało zapłacone. Często jednak nie pokazuje kiedy to miało miejsce oraz czy czasy odbiegają od normy. Wielowymiarowy obraz różnych rodzajów czynności przeprowadzonych w przedsiębiorstwie. Pozwala np. zobaczyć kiedy zamówienie zostało złożone, kiedy wysłane i kiedy zapłacone. Jak długo trwa średni czas realizacji zamówienia oraz czy się on zwiększa, czy zmniejsza w kolejnych miesiącach.
Zapytania Standardowe i relatywnie proste zapytania, zwracające niewiele rekordów. Często skomplikowane zapytania zawierające złączenia, agregacje (sumowania, zliczenia, uśrednienie) lub podzapytania, które wymagają dużej mocy obliczeniowej.
Operacje dodawania i zmiany danych Krótkie i szybkie operacje, inicjowane zarówno przez użytkowników końcowych – zarówno Klientów jak i obsługę sklepu. Okresowe i relatywnie długotrwałe ładowanie danych, z reguły w trybie wsadowym (automatycznie, w nocy), w celu aktualizacji hurtowni. Użytkownicy praktycznie nie aktualizują danych w trakcie korzystania z hurtowni.
Szybkość przetwarzania Typowo bardzo szybka. Zależy od ilości danych. Wsadowe ładowanie aktualnych danych oraz skomplikowane zapytania mogą trwać kilka godzin. Zapytania mogą być znacznie przyspieszone dzięki odpowiednim indeksom i optymalizacji (uproszczeniu) zapytań.
Wymagania dotyczące przestrzeni dyskowej Relatywnie małe, jeśli dane historyczne są archiwizowane i usuwane z bazy transakcyjnej. Większe z powodu dodatkowych tabel danych zagregowanych i historycznych oraz dodatkowych indeksów, których jest znacznie więcej niż w bazie transakcyjnej.
Organizacja danych Bardzo znormalizowana, w wielu tabelach. Typowo zdenormalizowana (nadmiarowość danych). W porównaniu z bazą transakcyjną niewiele tabel, powiązanych w schemat gwiazdy lub płatka śniegu.
Tworzenie kopii bezpieczeństwa i odtwarzanie danych z takiej kopii Wymagany regularny backup danych. Dane te są krytyczne dla działania przedsiębiorstwa. Ich utrata może prowadzić do znacznych strat finansowych lub odpowiedzialności prawnej. Backup sporadyczny (najczęściej po aktualizacji danych w bazie analitycznej). Dane rzadko ulegają zmianie, a poza tym zamiast ich odtwarzania z kopii zapasowej można ponownie załadować je z systemów transakcyjnych.

Dlaczego powinieneś mieć osobną bazę danych do robienia raportów – analizy danych?

Poniżej jest kilka powodów, dla których powinieneś rozważyć wykorzystanie osobnej bazy danych do analizy sprzedaży:

  • oszczędność Twojego czasu – dane w analitycznej bazie danych zostały już częściowo policzone i podsumowane podczas jej tworzenia. Dlatego zapytanie o ilość zamówień lub sumę przychodów ze sprzedaży w poszczególnych miesiącach trwa ułamek tego czasu, który czekałbyś na te informacje z bazy danych sklepu internetowego. Mając osobną bazę do analiz (dobrze zaprojektowaną) nie będziesz „czekać wieków” na informacje potrzebne do zarządzania działalnością sklepu.
  • oszczędność czasu Twoich klientów – skomplikowane zapytanie do bazy w celu stworzenia raportu obciąża cały system bardzo mocno. Tym samym pozostałe transakcje są opóźnione lub wstrzymane. Twoi Klienci mogą zaobserwować „wieszanie się” sklepu lub bardzo wolne jego działanie, kiedy Ty robisz raporty ze sprzedaży. Jeśli będziesz robić raporty na osobnej bazie, to Klient nie będzie widział różnicy w działaniu sklepu.
  • brak zniechęcenia Klientów – jeśli Twój sklep będzie działać wolno, to Twoi Klienci mogą zrezygnować z zakupów u Ciebie i poszukać innego sklepu. Może się też zdarzyć tak, że zamówienie Twojego Klienta nie zostanie zarejestrowane w bazie danych sklepu. To przecież wpływa na jakość obsługi sklepu i zadowolenie Klienta. Jeśli będziesz robić raporty na osobnej bazie, to Klient nie będzie widział różnicy w działaniu sklepu.

Oczywiście utworzenie osobnej bazy wiąże się z kosztami jej utworzenia, obsługi i korzystania za pomocą odpowiedniego interfejsu. Dlatego trzeba rozważyć jej utworzenie przy odpowiednio dużym sklepie internetowym, gdzie ilość klientów oraz zamówień jest znaczna.

,

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Newsletter

Imię:
E-Mail:

Kategorie

Odpowiedz na pytanie

Na jakim hostingu działa Twój sklep?

Zobacz wyniki

Loading ... Loading ...

Linki