Zatrzymanie na granicy, bo system "miele"
Helsińska Fundacja Praw Człowieka przygląda się kwestii zatrzymań osób kontrolowanych na granicach w bazach SIS (Schengen Information System). Problem polega na tym, że od momentu, gdy zada się pytanie systemowi do momentu, gdy system odpowie - może upłynąć parę godzin, a jeśli sprawa dotyczy osoby, która właśnie usiłuje przekroczyć granicę, to - jak pisze dziennik Polska - "policjanci i strażnicy graniczni muszą nieraz godzinami zabawiać rozmową legitymowane osoby, czekając na odpowiedź niewydolnego systemu SIS".
Póty młyn miele, póki wody staje. Problem opisany jest w tekście Przestępcy są bezkarni, bo nie działa monitoring, a diagnoza konkretnie polega na tym, że "brakuje przepisów, które stwierdzałyby wprost, że zatrzymanie kontrolowanych w SIS jest legalne i może trwać w polskich warunkach nawet kilka godzin".
Dziennik daje również dodatkową diagnozę aktualnej sytuacji:
Od początku działał kiepsko, wieszał się, co Komenda Główna Policji starała się zatuszować, publikując co chwilę informacje o kolejnym zatrzymanym dzięki SIS. Tymczasem okazuje się, że prawdopodobnie wszystkie były bezprawne.
Przeczytaj również:
- Login to post comments
Piotr VaGla Waglowski
Piotr VaGla Waglowski - prawnik, publicysta i webmaster, autor serwisu VaGla.pl Prawo i Internet. Ukończył Aplikację Legislacyjną prowadzoną przez Rządowe Centrum Legislacji. Radca ministra w Departamencie Oceny Ryzyka Regulacyjnego a następnie w Departamencie Doskonalenia Regulacji Gospodarczych Ministerstwa Rozwoju. Felietonista miesięcznika "IT w Administracji" (wcześniej również felietonista miesięcznika "Gazeta Bankowa" i tygodnika "Wprost"). Uczestniczył w pracach Obywatelskiego Forum Legislacji, działającego przy Fundacji im. Stefana Batorego w ramach programu Odpowiedzialne Państwo. W 1995 założył pierwszą w internecie listę dyskusyjną na temat prawa w języku polskim, Członek Założyciel Internet Society Poland, pełnił funkcję Członka Zarządu ISOC Polska i Członka Rady Polskiej Izby Informatyki i Telekomunikacji. Był również członkiem Rady ds Cyfryzacji przy Ministrze Cyfryzacji i członkiem Rady Informatyzacji przy MSWiA, członkiem Zespołu ds. otwartych danych i zasobów przy Komitecie Rady Ministrów do spraw Cyfryzacji oraz Doradcą społecznym Prezesa Urzędu Komunikacji Elektronicznej ds. funkcjonowania rynku mediów w szczególności w zakresie neutralności sieci. W latach 2009-2014 Zastępca Przewodniczącego Rady Fundacji Nowoczesna Polska, w tym czasie był również Członkiem Rady Programowej Fundacji Panoptykon. Więcej >>
czy mamy jeszcze ten art KK o sabotażu?
Jest dla mnie nie do pojęcia, jak to jest, że firma mająca ok 10 mln profili klientów w bazie danych jest w stanie wyświetlić dowolny z nich w czasie poniżej 10s, podczas gdy system mający zapewne co najmniej o rząd wielkości mniej rekordów jest kilka tysięcy razy wolniejszy...
Powiedzmy, gdyby to trwało może 5 minut to jeszcze bym zrozumiał, w końcu mogą być jakieś opóźnienia w komunikacji między terminalami a serwerem - ale kilka godzin???
Rażąca niekompetencja.
A kwestia prawna... cóż, w zasadzie to samo. Niekompetencja polegająca na pominięciu dość istotnego elementu. Choć jeśli traktat z Schengen zobowiązuje władze polskie do zatrzymywania, to byłoby to samo w sobie uzasadnieniem prawnym - czy to by nie wystarczyło?
Baza danych
Prawdopodobnie (wg informacji prasowych) nie jest to pojedyncza baza danych lecz każdy kraj ma swój węzeł (ze swoim serwerem) - teoretycznie powinno to działać szybciej ale możliwe, że występują problemy z komunikacją pomiędzy węzłami sieci.
10 mln profili to nie tak dużo np. Wikipedia ma o wiele więcej danych każdy artykuł + jego cała historia, nie dysponując funduszami na jakie stać państwa działa bardzo sprawnie (SZBD [Systemem Zarządzania Baz Danych] jest MySQL, więc systemy państwowe dysponujące pewnie drogimi komercyjnymi produktami powinny być o wiele wydajniejsze)
Problem tkwi gdzie indziej.
Problem tkwi gdzie indziej. Zamiast opierać się na osobnikach z pasją zawodową i wykształceniem, to do takich projektów zatrudnia się firmy w ramach przetargów, w których to firmach na pierwszym planie stoi kasa. Z założenia, produkt tani, to produkt nie dopracowany. Znam taki problem, że znacząca firma na rynku oprogramowania, poprzez swoje rażące zaniedbania organizacyjne, "uwaliła" projekt współfinansowany przez UE. Pieniądze przepadły, a projekt poszedł pod kolejny przetarg. Na szczęście firmę wykluczono z przetargu na podstawie stosownego art. dotyczącego przetargów publicznych. I oby więcej jednostek publicznych tak traktowało wszelkiej maści firmy "programistyczne"!
Wracając jednak do meritum sprawy. Problem nie leży w tym jaki "engine" ma obsługiwać krotki bazy danych, a jak zbudowana jest struktura bazy danych, a ściślej jak rozpisane są w bazie danych informacje dotyczące osobnika. Rzecz tyczy engramów, mających swoje odpowiedniki w postaci krotek lub pól krotek. Istotą jest to czy engram jest rozpisany na składowe czy sam jest składową. To trochę jak programowanie obiektowe, tylko w odniesieniu do informacji w bazach danych. Najprościej rzecz ujmując. Wystarczy dać programistom sprzęt oparty na 400 MHz-owych zegarach i kazać napisać efektywną aplikację. Na współczesnych procesorach mających 3 GHz i więcej, taka aplikacja będzie śmigać niczym odrzutowiec. Zjawiska takie obserwowało się gdy systemem operacyjnym był dos. Każdy mocniejszy procesor dawał dla tej samej aplikacji, efektywny uzysk w postaci skrócenia czasu oczekiwania na wyniki. Dziś "tempo" procesora ma niewielkie przełożenie na wydajność aplikacji. Zatem coś innego zżera moc obliczeniową. Warto zoptymalizować każdą aplikację i przestać je pisać za pomocą "kombajnów" programistycznych. Przykładem może być NOD32. Napisano go w assemblerze i z tego co daje się zauważyć ma najmniejsze spowolnienie systemu operacyjnego niż inne konkurencyjne programy.
Możliwe zatem, że te wielkie bazy SQL-owe marki ORACLE czy bazy DB2 marki IBM, to jednak nie są remedium na efektywność przepływu informacji.
Pozdrawiam.
jakośĆ
Oczywiście dobrze zaprojektowana struktura bazy ma znaczenie, tak samo jak właściwie konstruowane zapytania i jeśli bazę i aplikację projektuje jakiś dyletant to i klastrowany Oracle może się krztusić.
Rozwiązaniem jest wzięcie do takiej roboty fachowca, wtedy okazuje się że i na SQLite da się zadziwiające rzeczy zrobić.
Zdziwiło mnie nie to, że działa wolno, ale JAK wolno. Naprawdę, nawet niezoptymalizowana porządnie baza pod MS SQL Serverem (już setki milionów rekordów - rozmiar całkowity 100+GB) przeszukiwała się na poziomie minuty - a szukało się serii powiązanych rekordów (plus do niektórych pól dodatkowo jeszcze opisów). Jeden serwer, system nie uznawany za czołowe osiągnięcie i znośny wynik. A tu... godziny? Mógłbym znaleźć tuziny przykładów, jak duże bazy pracują poprawnie i szybko, często bez horrendalnych wydatków na sprzęt... Zresztą dla tak istotnego projektu kupienie paru porządnych serwerów nie powinno być chyba problemem.
Problemem jest chyba nie technologia i nie pieniądze, ale zupełny brak kontroli jakości kupowanych rozwiązań. Dostawca nie kontrolowany każdą robotę zrobi "na odwal się" i mamy takie kwiatki...
Właśnie... Się zamawia, się ogląda pokaz na jednym stanowisku z danymi starannie dobranymi przez dostawcę, się potem dziwi, jak się system równo wykłada pod produkcyjnym obciążeniem.
Na koniec, mam takie pytanie dla obecnych tu prawników: Czy ustawa o zamówieniach nie ma żadnego mechanizmu wymuszania przyzwoitej jakości dostarczanego systemu/towaru/usługi?
Odbiór
Jest coś takiego jak "odbiór". Podpisanie protokołu odbioru oznacza uznanie zgodności otrzymanego produktu z zamówieniem. W polskich jednostkach administracyjnych najczęściej odbiór podpisuje ktoś, kto na testowaniu się nie zna, widzi że okienka się otwierają, po paru demonstracjach stwierdza, że jest OK i podpisuje.
Niestety informatyk w urzędzie jest od instalowania oprogramowania i naprawiania niedziałających komputerów. Specjalistów od integracji systemów nie ma, bo po co komu ktoś taki?
Pokazy demonstracyjne
Byłem świadkiem, gdy przedstawiciel firmy mówił "teraz to chodzi kiepsko bo internet mam tu przez komórkę, na stałym łączu będzie to w mgnieniu oka". Oczywiście była to testowa baza danych z góra kilkudziesięcioma rekordami.
Przykładem może być
Przykładem może być NOD32. Napisano go w assemblerze i z tego co daje się zauważyć ma najmniejsze spowolnienie systemu operacyjnego niż inne konkurencyjne programy.
Być może NOD32 faktycznie został napisany w assemblerze, choć bardziej prawdopodobne wydaje mi się, że po prostu napisano kod strukturalny (nie obiektowy) w języku wysokiego poziomu, takim jak C++. Współczesne kompilatory optymalizujące wysokiego poziomu są niezmiernie ciężkie do pokonania, jak chodzi o szybkość kodu. Przy okazji nie jest też wykluczone istnienie wstawek w assemblerze.