Online Transaction Processing vs. Decision Support

Wiele aplikacji dzielą się na dwie główne kategorie aplikacji baz danych:

  • Przetwarzanie transakcji online (OLTP)

  • wspomaganie wspomaganie decyzji

Właściwości tych typów aplikacji mają znaczący wpływ na uwagi dotyczące projektowania bazy danych.

Przetwarzanie transakcji online

Aplikacje baz danych przetwarzania transakcji online są optymalne związanych z zarządzaniem zmiany danych.Aplikacje te są zwykle wyposażone w wielu użytkowników, którzy wykonują transakcji w tym samym czas, zmienić rzeczywistym-czas danych.Chociaż poszczególne żądania przez użytkowników danych odwołać zwykle kilka rekordów, wiele z tych żądań są wykonywane w tym samym czasie.Typowe przykłady tego typu baz danych są linie lotnicze za systemów i systemy transakcji bankowej.Podstawowe problemy w aplikacji tego typu są współbieżność i niepodzielność.

Formanty współbieżność w systemie bazy danych gwarantuje dwóch użytkowników nie można zmienić te same dane lub jednego użytkownika nie można zmienić fragment danych, przed zakończeniem innego użytkownika z nim.Na przykład, z którymi trwa konwersacja agenta biletów lotniczych zarezerwować ostatnią siedzenia dostępne podczas lotu agent rozpoczyna się proces rezerwowanie siedzenia w imieniu użytkownika, innego agenta nie powinna mieć stwierdzić innych osób o udostępnieniu siedziby.

Niepodzielność gwarantuje wszystkich czynności w ramach transakcji zostaną ukończone pomyślnie, jako grupa.Jeśli dowolny krok nie powiedzie się, należy wypełnić nie innych czynności.Na przykład transakcji bankowych może się wiązać z dwóch kroków: podejmowanie środków z konta bankowego i wprowadzanie ich do Twojego konta oszczędności. Czynność, usuwa środków z konta bankowego zakończy się pomyślnie, należy upewnić się, że funduszy są wprowadzane do Twojego konta oszczędności lub odroczony do swojego konta bankowego.

Uwagi dotyczące projektowania przetwarzania transakcji online

Przetwarzanie transakcji bazy danych systemu powinny być zaprojektowane w taki sposób, aby wspierać następujące:

  • Umieszczanie danych dobra

    Wąskie gardła We/Wy są duże znaczenie dla systemów OLTP, ze względu na liczbę użytkowników, zmieniając dane na całej bazy danych.Podczas projektowania bazy danych, określić wzorce prawdopodobnie dostępu danych i często łączyć ze sobą dostępu do danych.Aby pomóc w tym za pomocą filegroups i systemach RAID (redundant array of independent disks).

  • Krótkie transakcji zminimalizować długoterminowej blokady i poprawić współbieżność

    Należy unikać interakcji użytkownika podczas transakcji.O ile to możliwe, uruchom jednego procedura przechowywana, aby przetworzyć cała transakcja.Kolejność odwołać tabel w ramach transakcji może mieć wpływ na współbieżność.Umieścić odwołania do często używanych tabel z końcem transakcji, aby zminimalizować czas trwania blokady są przechowywane.

  • Online kopia zapasowa

    Systemy OLTP często charakteryzują się ciągłego operacje, w których w dół czas jest przechowywana bezwzględnym minimalne.Oznacza to że one działać 24 godziny na dobę, 7 dni w tygodniu.Mimo że SQL Server Database Engine wykonywanie tworzyć kopię zapasową zapasowej bazy danych w czasie, gdy jest on używany, zaplanować kopia zapasowa proces występuje w czasie, kiedy niskie czynności, aby zminimalizować wpływ na użytkowników.

  • Wysoka normalizacji bazy danych

    Zmniejsz nadmiarowych, aby zwiększyć szybkość aktualizacji i zwiększyć współbieżność.Zmniejszenie danych również przyspiesza kopii zapasowych, ponieważ mniejsza ilość danych nie ma być wykonana kopia zapasowa.

  • Minimalnie lub nie historycznych lub zagregowane dane

    Dane, do którego odwołują się rzadko mogą być archiwizowane w odrębnych bazach danych lub przeniesione z silnie zaktualizowane tabele na tabele, które zawierają tylko dane historyczne.Tabele zachowuje się jak najmniejsza i poprawia wydajność kwerendy i godziny wykonywania kopii zapasowych.

  • Staranne stosowanie indeksów

    Indeksy muszą być aktualizowane za każdym razem, wiersz zostanie dodany lub zmodyfikowany.Aby uniknąć over-indexing silnie zaktualizowane tabel, należy zachować indeksów wąskie.Użycie Klasyfikator strojenia aparat bazy danych do projektowania sieci indeksów.

  • Konfiguracja sprzętowa optymalnego do obsługi dużej liczby równoczesnych użytkowników i czasy odpowiedzi szybkiego wymagane przez OLTP system

wspomaganie wspomaganie decyzji

Decyzja obsługi aplikacji baz danych są optymalne dla kwerendy danych, które nie zmieniają się dane.Na przykład firma może okresowo podsumowanie jej danych sprzedaży według data, region sprzedaży lub produktu i przechowywać te informacje w oddzielnych baz danych używane do analizy przez kierownictwo.Aby podejmować decyzje biznesowe, użytkownicy muszą być w stanie szybko określić tendencje w sprzedaży za pomocą kwerend wysyłanych do danych, na podstawie różnych kryteriów.Jednak nie muszą jednak zmienić te dane.Tabel w bazie danych programu obsługi decyzji silnie są indeksowane, a nieprzetworzonych danych jest często preprocessed i zorganizowane do obsługi różnych rodzajów kwerend, które ma być używany.Ponieważ użytkownicy nie zmienia się dane, problemy współbieżność i niepodzielność nie są istotny; dane są zmieniane tylko przez zbiorczego, okresowe aktualizacje dokonane podczas off-hour, czas ruch danych w bazie danych.

Uwagi dotyczące projektowania obsługi wspomaganie decyzji

Baz danych systemu obsługi decyzji powinny być tak zaprojektowane, aby wspierać poniżej:

  • Ciężki indeksowania

    Systemy obsługi decyzji musi spełniać wymagania dotyczące aktualizacji niski, ale dużych ilości danych.Wiele indeksów można użyć, aby poprawić wydajność kwerendy.

  • Denormalization bazy danych

    Wprowadzenie pre-aggregated lub podsumowane dane spełniają wymagania typowe kwerendy i skrócić czas odpowiedzi kwerendy.

  • Korzystanie ze schematu gwiazdy lub snowflake do organizowania danych w bazie danych.