Sumienie bazy

Dla przyjmowanego strumienia danych sekwencyjnych ten akurat problem da się rozwiązać bez większego wysiłku. Jednak współczesne bazy danych nie są prostymi sekwencjami rekordów, lecz relacjami tworzonymi w sposób transakcyjny w wielu obiektach bazy (bazy wielowymiarowe, obiektowo-zorientowane czy inne postrelacyjne mogą być modelowo sprowadzone do relacyjnych). Transakcje z kolei mogą mieć charakter kaskadowy, a elementy kaskady mogą być wykonywane w różnym czasie. Na wszystko nakładają się procedury organizacyjne, zostawiające ślady w bazie danych.

Zamówienie towaru przez klienta powoduje nie tylko zmianę w zbiorze produktów czy klientów. To również modyfikacje w tabelach obrotów, kroczące znaczniki stanu zlecenia, dane o kwitach komisjonowania czy dostaw. Likwidacja tych danych oznaczałaby skasowanie rezultatów działania wielu transakcji. Byłby to pełny bazodanowy Rollback, ale wykonany z przyszłości. Nie chodzi tu o toporne usuwanie "programową siekierką" starszych danych na zasadzie przenoszenia ich do mniej krytycznych obiektów (ze względu na czas reakcji) czy kasowanie, od przypadku do przypadku, wg reguły typu "zobaczmy, kto się nie logował przez ostatnie trzy miesiące". Chodzi o system zapewniający użytkownikowi pełne gwarancje zachowania kontroli nad jego danymi.

Drążenie kłamstw

W trosce o swoje dane użytkownicy obecnie stosują metodę obrony kłamstwem koniecznym. Nie powinno dziwić zatem, że później okazuje się, że wielu z nich urodziło się 1 stycznia 1900 r. czy 2000 r., spośród proponowanej listy 150 państw zamieszkania najpopularniejsza opcja to "inne", kod pocztowy miejscowości 12-345, zaś adres poczty elektronicznej: a.b@c czy nikt@nigdzie.

Dogłębne przeszukiwanie takich danych (data mining) jest raczej drążeniem kłamstw, niż eksploracją prawdziwych informacji. Rozwiązaniem tego dylematu może być nowy rodzaj drążenia danych: PPDM (Privacy Preserving Data Mining), czyli ich eksploracja z zachowaniem prawa do prywatności. Środkiem wiodącym do tego celu jest np. randomizacja danych.

Jak to działa? Przykładowo: osoba 29-letnia może stać się w bazie danych o 13 lat starsza, zaś z kolei ta "wcześniej urodzona" zostanie losowo "odmłodzona". Takie postępowanie wymaga odpowiednich algorytmów, które uwzględniają np. wyspecyfikowany zakres zmienności danych statystycznych. Rzecz jasna pojedyncze informacje w bazie danych nie odpowiadają sytuacji rzeczywistej, lecz zgodnie z regułami probabilistycznymi nie podważa to ich sumarycznej wiarygodności. Symulacje w obszarze tego typu baz danych pokazują, że nawet 100-proc. randomizacja ma ledwie kilkuprocentowy wpływ na wyniki ich analizy statystycznej.

Projektanci baz danych typu hipokratesowego stoją przed poważnymi wyzwaniami. Przez dziesięciolecia "podrasowywano" bazy danych w ten sposób, by były jak najszybsze (tuning). Skądinąd wiadomo że nawet standardowy audyting operacji bazodanowych może skutecznie zablokować efektywnie działający system. Zatem również w opisywanym obszarze nie unikniemy kompromisów między bezpieczeństwem a wydajnością baz danych. Trzeba także pamiętać o ograniczonych sukcesach inicjatywy W3C (World Wide Web Consortium) i jej platformy P3P (Platform for Privacy Preferences), która miała rozwiązać problem ochrony prywatności w Internecie.

Platforma ta doczekała się nawet specyfikacji dedykowanego języka APPEL (A P3P Preference Exchange Language), niemniej jest krytykowana zarówno za nadmierną kompleksowość, jak i zbyt dużą liczbę ograniczeń. Trzeba wszakże pamiętać, że system został zaprojektowany głównie z myślą o elektronicznych zakupach. Dla twórców nowego rodzaju baz danych stanowi to zaledwie punkt wyjścia: ich produkt ma być bardziej uniwersalny i znaleźć zastosowanie m.in. w takich branżach, jak opieka zdrowotna, bankowość, ubezpieczenia czy edukacja.


TOP 200