Online vs przetwarzania transakcji. Obsługa decyzji
Wiele aplikacji dzielą się na dwie główne kategorie aplikacji baz danych:
Przetwarzanie transakcji online (OLTP)
Obsługa decyzji
Cechy te typy aplikacji mają znaczący wpływ na uwagi dotyczące projektowania bazy danych.
Przetwarzanie transakcji online
Aplikacje bazodanowe przetwarzania transakcji online są optymalne zarządzanie zmiana danych.Te aplikacje zwykle ma wielu użytkowników, którzy wykonywanych transakcji w tym samym czas zmienić rzeczywistym -czas danych.Chociaż poszczególne żądania przez użytkowników dla danych odniesienia zwykle kilka rekordów, wiele z tych żądań prowadzących jednocześnie czas.Typowe przykłady tych typów baz danych są towarzystwo wystawiania biletów systemów i systemach transakcji bankowej.Główne obawy w tego rodzaju aplikacji są współbieżność i niepodzielność.
Formanty współbieżności w systemie bazy danych gwarantuje, że 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 rozmawia agenta biletu towarzystwo zarezerwować ostatnią siedzenia dostępne na lot, agent rozpoczyna proces rezerwowanie siedzenia w nazwę innego agenta nie powinna mieć pasażera innym stwierdzić, że siedzenia jest dostępna.
Niepodzielność gwarantuje, że wszystkie kroki w transakcji zostaną ukończone pomyślnie, jako grupa.Jeśli dowolny krok nie powiedzie się, należy wypełnić żadne inne czynności.Na przykład transakcji bankowych może obejmować dwa kroki: podjęcie środków z konta bankowego i wprowadzanie ich do konta oszczędności.Krok, który usuwa funduszy z konta bankowego powiedzie się, należy do swojego konta oszczędności lub ponownie wprowadzane do swojego konta bankowego funduszy.
Uwagi dotyczące projektowania przetwarzania transakcji online
Przetwarzanie transakcji bazy danych systemu powinny zostać zaprojektowane do wspierania następujących:
Umieszczanie danych dobra
Wąskie gardła We/Wy są duże znaczenie dla systemów OLTP, z powodu liczby użytkowników modyfikowanie danych w całej bazie danych.Podczas projektowania bazy danych, ustalić wzorce prawdopodobnie dostępu danych i często łączyć ze sobą dostęp do danych.Służy do tej aplikacjami i systemami RAID (redundant array of independent disks).
Krótkie transakcji zminimalizować długoterminowej blokady i poprawy współbieżność
Uniknięcia interakcji użytkownika podczas transakcji.O ile to możliwe, uruchom pojedynczą procedura składowana, aby przetworzyć cała transakcja.Kolejność odwołać tabel w obrębie transakcji może wpłynąć na współbieżność.Umieścić odwołania do często używanych tabel na koniec transakcji, aby zminimalizować czas trwania blokady są przechowywane.
kopia zapasowa online
Systemach OLTP często charakteryzują się ciągłym operacji w dół, które czas jest utrzymana na poziomie minimalnym.Oznacza to, że pracują 24 godziny na dobę, 7 dni w tygodniu.Chociaż Aparat baz danych programu SQL Server można wykonać kopię zapasową bazy danych w czasie, gdy jest on używany, planować kopia zapasowa proces okresach niskiej aktywności, aby zminimalizować wpływ na użytkowników.
Wysoka normalizacji bazy danych
Zmniejszyć nadmiarowych zwiększyć szybkość aktualizacji i poprawa współbieżność.Również redukcji danych zwiększa szybkość tworzenia kopii zapasowych, mniej danych ma być wykonana kopia zapasowa.
Minimalne lub nie historycznych lub zagregowanych danych
Danych, do którego odwołują się rzadko mogą być archiwizowane w odrębnych bazach danych lub przeniesiona do tabel silnie zaktualizowane do tabel, które zawierają dane historyczne.Tabele zachowuje się jak najmniejszy i zwiększa czas kopia zapasowa i wydajność kwerendy.
Staranne stosowanie indeksów
Indeksy muszą być aktualizowane co czas wiersz zostanie dodany lub zmodyfikowany.Aby uniknąć over-indexing silnie zaktualizowane tabel, należy zachować indeksów wąskie.Użyj Doradca dostrajania aparatu bazy danych do projektowania sieci indeksy.
Konfiguracja sprzętu optymalnej obsługi dużej liczby równoczesnych użytkowników i czasy odpowiedzi szybkiego wymagane przez OLTP system
Obsługa decyzji
Decyzja obsługi aplikacji baz danych są optymalne dla kwerend danych, które nie zmieniają się dane.Na przykład firmy można okresowo podsumowywania danych sprzedaży według data, region sprzedaży lub produktu i przechowywania informacji oddzielnej bazy danych używanej przez kierownictwo do analizy.Podejmowanie decyzji biznesowych, użytkownicy muszą być w stanie szybko określić tendencje w sprzedaży przez badanie danych na podstawie różnych kryteriów.Jednak nie mają zmiany danych.Tabele bazy danych obsługi decyzji silnie są indeksowane i nieprzetworzonych danych jest często preprocessed i zorganizowane do obsługi różnych typów kwerend do użycia.Ponieważ użytkownicy nie zmienia danych, współbieżność i niepodzielność problemy nie są troski; dane zostanie zmieniony tylko przez zbiorczego, okresowe aktualizacje dokonane podczas po, czas ruch danych w bazie danych.
Uwagi dotyczące projektowania obsługi decyzji
Obsługa decyzji bazy danych systemu powinny zostać zaprojektowane do wspierania następujących:
Ciężkie indeksowania
Systemy wsparcia decyzji mają 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ą wymogi wspólnej kwerendy i skrócić czas odpowiedzi kwerendy.
Użyj gwiazdy lub schemat płatka śniegu do organizowania danych w bazie danych.