Wymagania wobec systemów baz danych

Z Encyklopedia Zarządzania
Wymagania wobec systemów baz danych
Polecane artykuły

Wymagania wobec systemów baz danych obejmują szereg elementów. Są one związane z redundancją, elastycznością, dostępnością, wydajnością i innymi czynnikami. Poniżej przedstawiono zestawienie kluczowych wymagań.

Wymagania podstawowe wobec systemów baz danych

  1. Kontrolowana redundancja - nadmiarowość danych wprowadzona celowo wtedy, gdy uzyskanie określonej informacji z podstawowego zbioru danych jest czasochłonne i skomplikowane. Poprawia ona czas dostępu do danych. W przypadku systemów informatycznych przyjmuje się, że czas odpowiedzi na zapytanie użytkownika nie powinien przekraczać 20 sekund. W przypadku, gdy musi on czekać dłużej wywołuje to jego niezadowolenie i "narzekanie" na system informatyczny. Nowoczesne systemu analityczne i raportujące (np.: Oracle Discoverer) potrafią oszacować czas niezbędny na realizację zapytania i w przypadku, gdy jest on dłuższy od zakładanych 20 sekund ostrzegają użytkownika, lub też pytają o jego decyzję o wykonaniu operacji, rezygnacji lub wykonania w terminie późniejszym.
  2. Elastyczność korzystania z bazy danych - uwzględniająca różnorodność użytkowników, zastosowań, podejść do analizy danych, potrzeb informacyjnych, sposobów wykorzystania.
  3. Możliwość szybkiej pracy konwersacyjnej - mającej postać dialogu człowieka z komputerem. Człowiek zadaje pytania, zaś system informatyczny generuje odpowiedzi.
  4. Łatwość rozbudowy - możliwość rozwijania bazy danych w sensie jej struktury i zawartości merytorycznej, bez konieczności zmiany sposobu jej wykorzystania.
  5. Dostępność i wydajność - użytkownik powinien uzyskać każdą daną, która znajduje się w systemie odpowiednio szybko, o ile jest upoważniony do ich otrzymania,
  6. Tajność - osoby nieupoważnione nie mają dostępu do danych,
  7. Bezpieczeństwo - ochrona przed utratą, zniszczeniem z powodu awarii i katastrof, zabezpieczenie przed błędami człowieka, wandalizmem, itp.
  8. Fizyczna i logiczna niezależność danych - pozwalająca użytkownikowi na nieprzerwaną pracę, i brak konieczności zwracania uwagi na rodzaj zastosowanego rozwiązania sprzętowego i systemowego.

Wymagania dotyczące skalowalności systemów baz danych

1. Elastyczne dostosowywanie się do rosnącej liczby użytkowników i danych:

  • Możliwość obsługi większej liczby równoczesnych połączeń użytkowników.
  • Skalowanie poziome lub pionowe w zależności od potrzeb.
  • Automatyczne zarządzanie zasobami w celu zapewnienia odpowiedniej wydajności.

2. Możliwość łatwej rozbudowy infrastruktury w celu zapewnienia odpowiedniej wydajności:

  • Elastyczność w dodawaniu nowych serwerów i węzłów w klastrze.
  • Możliwość dynamicznego przypisywania zasobów w zależności od obciążenia.
  • Automatyczne równoważenie obciążenia między różnymi komponentami systemu.

3. Optymalizacja zasobów w celu efektywnego zarządzania skalowalnością systemu:

  • Możliwość monitorowania wykorzystania zasobów i skalowanie w oparciu o dane statystyczne.
  • Wykorzystanie technik kompresji danych w celu zmniejszenia zapotrzebowania na przestrzeń dyskową.
  • Możliwość automatycznego usuwania zbędnych danych w celu optymalizacji dostępu.

4. Zarządzanie migracją danych przy rozbudowie systemu:

  • Możliwość przeniesienia danych między różnymi serwerami i węzłami.
  • Zapewnienie spójności danych podczas procesu migracji.
  • Możliwość automatycznego przenoszenia danych w tle, minimalizując przestoje w pracy systemu.

5. Wsparcie dla rozproszonej architektury systemu baz danych:

  • Możliwość replikacji danych między różnymi lokalizacjami.
  • Mechanizmy synchronizacji danych w celu zapewnienia spójności.
  • Możliwość obsługi geograficznie rozproszonych użytkowników i danych.

Wymagania dotyczące zgodności z regulacjami prawnymi

1. Zapewnienie zgodności z obowiązującymi przepisami dotyczącymi ochrony danych (np. RODO):

  • Możliwość definiowania i implementacji odpowiednich polityk ochrony danych.
  • Mechanizmy kontroli dostępu i uwierzytelniania, które spełniają wymogi prawne.
  • Możliwość audytowania dostępu i operacji na danych w celu spełnienia obowiązków raportowania.

2. Możliwość śledzenia i audytowania dostępu do danych w celu spełnienia wymogów prawnych:

  • Zapewnienie pełnej historii dostępu i modyfikacji danych.
  • Możliwość generowania raportów audytowych i analizy zdarzeń.
  • Mechanizmy zabezpieczające przed modyfikacją lub usuwaniem zarejestrowanych informacji.

3. Ochrona poufności i integralności danych zgodnie z przepisami prawnymi:

  • Mechanizmy szyfrowania danych w celu zapewnienia poufności.
  • Możliwość kontrolowania dostępu do danych na różnych poziomach.
  • Mechanizmy kontroli integralności danych, takie jak cyfrowe podpisy czy sumy kontrolne.

4. Procedury zarządzania incydentami i naruszeniami bezpieczeństwa danych:

  • Możliwość szybkiego reagowania na incydenty bezpieczeństwa.
  • Mechanizmy powiadamiania o naruszeniach danych.
  • Procedury odzyskiwania danych i przywracania systemu po naruszeniu.

5. Wsparcie dla międzynarodowych przepisów dotyczących ochrony danych:

  • Możliwość obsługi przepisów dotyczących transferu danych między różnymi jurysdykcjami.
  • Mechanizmy kontroli i zabezpieczeń spełniające wymogi różnych krajów.
  • Możliwość dostosowania ustawień związanych z ochroną danych do lokalnych przepisów.

Wymagania dotyczące zarządzania transakcjami

1. Zapewnienie spójności danych i unikanie utraty informacji w przypadku awarii systemu:

  • Mechanizmy rollback i commit, które gwarantują atomowość transakcji.
  • Możliwość przywracania stanu systemu do poprzedniego punktu w przypadku awarii.
  • Replikacja danych w celu zwiększenia odporności na awarie.

2. Możliwość przeprowadzania transakcji z zachowaniem izolacji i trwałości:

  • Mechanizmy blokujące i kontrola równoczesnego dostępu do danych.
  • Transakcje w trybie izolacji, które zapewniają spójny widok danych dla różnych użytkowników.
  • Zapis transakcji na trwałe, aby uniknąć utraty danych w przypadku awarii systemu.

3. Mechanizmy odzyskiwania danych w przypadku nieudanej transakcji lub awarii systemu:

  • Możliwość cofnięcia zmian dokonanych przez nieudaną transakcję.
  • Replikacja danych w celu zapewnienia dostępności w przypadku awarii systemu.
  • Możliwość przywrócenia danych do ostatniego poprawnego stanu przed awarią.

4. Zarządzanie blokadami i konfliktami w przypadku równoczesnego dostępu do danych:

  • Mechanizmy wykrywania i rozwiązywania konfliktów w dostępie do danych.
  • Optymalizacja równoczesnego dostępu poprzez minimalizację blokad.
  • Możliwość ustalania priorytetów dostępu w przypadku konfliktów.

5. Możliwość monitorowania i analizy wydajności transakcji:

  • Mechanizmy monitorowania czasu wykonania transakcji.
  • Analiza wydajności i optymalizacja zapytań w celu poprawy czasu odpowiedzi.
  • Możliwość generowania raportów i analizy statystyk dotyczących transakcji.


Bibliografia

Autor: Krzysztof Woźniak