Wymagania wobec systemów baz danych
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
- 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.
- Elastyczność korzystania z bazy danych - uwzględniająca różnorodność użytkowników, zastosowań, podejść do analizy danych, potrzeb informacyjnych, sposobów wykorzystania.
- Możliwość szybkiej pracy konwersacyjnej - mającej postać dialogu człowieka z komputerem. Człowiek zadaje pytania, zaś system informatyczny generuje odpowiedzi.
- Łatwość rozbudowy - możliwość rozwijania bazy danych w sensie jej struktury i zawartości merytorycznej, bez konieczności zmiany sposobu jej wykorzystania.
- 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,
- Tajność - osoby nieupoważnione nie mają dostępu do danych,
- Bezpieczeństwo - ochrona przed utratą, zniszczeniem z powodu awarii i katastrof, zabezpieczenie przed błędami człowieka, wandalizmem, itp.
- 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.
Wymagania wobec systemów baz danych — artykuły polecane |
Aktualizacja oprogramowania — Informatyczne narzędzia wspomagania zarządzania — Big data — Hurtownia danych — System ekspercki — Systemy OLAP — Podatność informatyczna — ASP.NET — Systemy wspomagania decyzji |
Bibliografia
- Woźniak K. (2005), System informacji menedżerskiej jako instrument zarządzania strategicznego w firmie, praca doktorska, Akademia Ekonomiczna w Krakowie, Kraków
Autor: Krzysztof Woźniak