Je偶eli prowadzi si臋 w艂asny biznes, istnieje ca艂kiem spora szansa na to, 偶e ma si臋 w tej firmie komputery. Oczywi艣cie, nie ma przymusu. 呕eby prowadzi膰 warzywniak na rogu, mo偶na sobie poradzi膰 bez komputer贸w (chyba). Podobnie z warsztatem kowalskim, czy szewcem. Ale "nowoczesne" biznesy raczej si臋 bez komputer贸w nie obejd膮.
Komputery przechowuj膮 dane, c'nie? Jak si臋 biznes rozrasta, danych r贸wnie偶 przybywa. Najpierw mieli艣y par臋 plik贸w w PDF, potem wystarcza艂y nam tabelki w Excelu, potem przerzucili艣my si臋 na Accessa, bo jest bardziej pojemny, potem pojawi艂a si臋 "powa偶na" baza typu MySQL, MS SQL albo Postgres - je偶eli jednak nasz biznes idzie nadzwyczaj dobrze, mo偶e si臋 w ko艅cu okaza膰, 偶e i tutaj trafimy na sufit w postaci ogranicze艅 wielko艣ciowych, lub - co bardziej prawdopodobne - wydajno艣ciowych, naszego "wiaderka" z danymi. Co wtedy?
Nie ma sie co oszukiwa膰. Danych zawsze przybywa. Megabajt dzi艣, gigabajt jutro, terabajt pojutrze. Okienka, zamiast otwiera膰 si臋 w sekund臋, otwieraj膮 si臋 teraz w minut臋. Albo wcale. Okazuje si臋 nagle, 偶e potrzebujemy jakiego艣 ca艂kiem nowego rozwi膮zania, kt贸re b臋dzie umia艂o sobie poradzi膰 ze sta艂ym przyrostem danych, bez utraty szybko艣ci dzia艂ania, sp贸jno艣ci danych, wygody dost臋pu, a tak偶e takiego, kt贸re b臋dzie r贸wnocze艣nie odporne na awarie sprz臋tu. Terabajty, a ju偶 na pewno petabajty danych, wymagaj膮 czego艣 wi臋cej, ni偶 jedna zakurzona skrzyneczka gdzie艣 w k膮cie naszego biura. Czym wi臋cej skrzyneczek, tym wi臋ksza szansa, 偶e kt贸ra艣 z nich ulegnie awarii. A system musi dzia艂a膰...
Rozwi膮za艅 jest - na dzie艅 dzisiejszy - ca艂kiem sporo. Jest Hadoop, jest MongoDB, jest Cassandra, Dynamo, Virtuoso i mn贸stwo innych, mniej lub bardziej efemerycznych rozwi膮za艅 umo偶liwiaj膮cych sk艂adowanie ca艂kiem konkretnych ilo艣ci danych w spos贸b nie do ko艅ca uporz膮dkowany, za to wydajny i bezpieczny. Wszystkie one maj膮 jednak r贸偶nego rodzaju wady, wok贸艂 kt贸rych programi艣ci musz膮 budowa膰 obej艣cia.
Na przyk艂ad wi臋kszo艣膰 baz typu NoSQL nie wspiera JOIN-贸w mi臋dzy tabelami, lub wspiera je po 艂ebkach i po macoszemu. Programi艣ci musz膮 wi臋c budowa膰 jakie艣 zawi艂e struktury logiczne na poziomie aplikacji, co jest upierdliwe, b艂臋dogenne i przez to dro偶sze w utrzymaniu.
Panaceum na te bol膮czki - a przynajmniej tak to wygl膮da z zapowiedzi - ma by膰 produkt pt. "CockroachDB", czyli baza, kt贸ra - podobnie jak karaluchy - przetrwa ka偶d膮 katastrof臋 i b臋dzie po prostu dzia艂a膰. A opr贸cz tego zapewni 艂atwy, wygodny dost臋p do danych, sp贸jno艣膰 przy zapisie i odczycie oraz liniow膮 skalowalno艣膰. W dodatku ma to by膰 produkt OpenSource.
Tw贸rcy CockroachDB pracowali kiedy艣 dla Google, maj膮 wi臋c sporo do艣wiadczenia z bardzo du偶ymi zbiorami danych. Projekt jest jeszcze na wczesnym etapie - na tyle wczesnym, 偶e nie s膮 jeszcze znane szczeg贸艂y sposobu komunikacji ze 艣wiatem zewn臋trznym. Ma by膰 JSON, ma by膰 jaki艣 tam SQL, ale to wszystko p贸ki co w g艂臋bokich planach. P贸ki co tw贸rcy skupiaj膮 si臋 na opracowaniu odpowiednio "pancernej" architektury, kt贸ra - w razie awarii - ma zapewni膰 nie tylko "prze偶ywalno艣膰" danych, ale te偶 brak spadku wydajno艣ci.
Co z tego wyniknie?
Niestety, jakkolwiek niewiarygodnie mog艂oby to wygl膮da膰, nie jestem wr贸偶k膮 i w zwi膮zku z tym nie mam najbledszego poj臋cia. Ale b臋d臋 od czasu do czasu zagl膮da艂 na stron臋 projektu. S膮 entuzjastycznie nastawieni, maj膮 wiedz臋 i pomys艂y. Mo偶e za pi臋tna艣cie lat karaluchowe bazy danych b臋d膮 nap臋dza膰 jakie艣 wielkie biznesy.
Po偶yjemy - zobaczymy...
danych coraz wi臋cej, problem w tym, 偶e nie mo偶na znale藕膰 tego co trzeba. I to nie tylko w moim firmowym intranecie, ale r贸wnie偶 w folderze mojego aktualnego projektu czyli budowy za jakie艣 sto baniek. I ca艂a ta mr贸wcza robota informatyk贸w bierze poniek膮d w 艂eb. Swojego czasu mia艂em w szkole 艣redniej przedmiot zwany „Informacj膮 naukow膮”. Przedmiot nudny jak szkolenie z ISO i wydawa艂oby si臋 ca艂kiem niepotrzebny. A tu prosz臋! Traktuje on w艂a艣nie o katalogowaniu danych tak, 偶eby mo偶na by艂o znale藕膰 co potrzeba. Do g艂owy by mi nie przysz艂o 偶e ten durny przedmiot mo偶e by膰 tak wa偶ny. Wygl膮da na to, 偶e obok informatyk贸w powinni usi膮艣膰 bibliotekarze, kt贸rzy uporz膮dkuj膮 ten ca艂y ba艂agan na firmowych serwerach, 偶eby te ca艂e terabajty danych by艂y do czego艣 przydatne. Teraz jak chce si臋 czego艣 dowiedzie膰 to id臋 zapyta膰 do kole偶anki A. w s膮siednim pokoju. Ta mnie najpierw opieprza, 偶e nie s艂ucha艂em co m贸wi艂a na zebraniu w lutym, potem za艣 pokazuje gdzie mo偶na znale藕膰 tabele bud偶etowe.
艢wi臋tej pami臋ci Sta艣 od Lem贸w, bodaj偶e w „Wizji Lokalnej” (ale nie jestem teraz pewien, mo偶e jednak w „Dziennikach gwiazdowych”) postulowa艂 powstanie w przysz艂o艣ci dw贸ch wielkich ga艂臋zi nauki: szukistyki i znalezistyki. Analogia mi臋dzy nimi by艂a, mniej wi臋cejtaka, jak mi臋dzy matematyk膮 czyst膮 a stosowan膮 馃槈