jump to navigation

Bazy danych bez SQL 11/25/2009

Posted by Mikołaj Morzy in bazy danych, nauka.
1 comment so far

Gdy się pracuje w bazach danych, warto słuchać, co ma do powiedzenia Michael Stonebraker. Szczególnie, gdy bierze się za obronę systemów zarządzania bazami danych przed różnymi zakusami, np. przed powrotem do pre-relacyjnej ery pod postacią MapReduce. Tym razem na łamach blogu Communications of the ACM Stonebraker ostro atakuje zwolenników porzucenia tradycyjnych systemów zarządzania bazami danych na rzecz baz danych “NoSQL”, czyli różnego rodzaju składnic danych w stylu rozproszonych tablic haszowych lub składnic dokumentów. Stonebraker twierdzi, że nie istnieją żadne racjonalne przesłanki aby rezygnować z dobrodziejstw oferowanych przez tradycyjne bazy danych (przetwarzanie transakcyjne, zorientowany na zbiory język zapytań, zarządzanie współbieżnością, wielowersyjność, spójność i odtwarzanie po awarii) w celu niewielkiego przyspieszenia działania bazy danych. Opierając się na pracy “OLTP Through the Looking Glass, and What We Found Theretwierdzi, że głównymi powodami opóźnień we współczesnych bazach danych są: zapis logu (dziennika), zakładanie blokad, zakładanie blokad na obiektach współdzielonych w pamięci (ang. latches) oraz zarządzanie buforem danych. W efekcie, nie można znacząco przyspieszyć działania bazy danych bez usunięcia jednego z tych mechanizmów, a co za tym idzie, bez poświęcenia jednej z fundamentalnych usług systemu zarządzania bazą danych (np. usunięcie zapisu logu uniemożliwi odtwarzanie po awarii i zapewnianie trwałości transakcji, usunięcie blokad uniemożliwi implementację pesymistycznych algorytmów zarządzania współbieżnością, itd.)

Cały wpis (autor zapowiada, że pojawi się jeszcze druga część) jest bardzo ciekawy i wart lektury.

Jak zarobić $1 000 000 nie ruszając się sprzed biurka? 11/25/2009

Posted by Mikołaj Morzy in nauka, teoria.
add a comment

W zasadzie nawet nie 1 milion, ale 6 lub 7 milionów dolarów (7, jeśli bardzo się pospieszycie). Clay Mathematics Institute of Cambridge (Cambridge w stanie Massachusetts) wpadł na ciekawy pomysł świętowania nowego millennium. Zebrał trochę pieniędzy (rzeczone $7 000 000), wybrał siedem milenijnych problemów matematycznych i zaoferował okrągły $1 000 000 za rozwiązanie każdego z problemów. Oczywiście, wyraźnie widać tu wpływ Dawida Hilberta i jego słynnych 10 problemów matematyki, ogłoszonych w trakcie Międzynarodowego Kongresu Matematyków w Paryżu w 1900 roku. Hilbert później rozszerzył listę do 24, a następnie zmniejszył do 23 problemów. Jak pokazała historia, rozwiązanie wielu problemów z listy Hilberta popchnęło matematykę znacząco do przodu a konkurencja między naukowcami ścigającymi się w rozwiązywaniu kolejnych problemów zaowocowała wieloma nieoczekiwanymi rozwiązaniami (np. rezultatami prac podjętych w odpowiedzi na tezy Hilberta były dwa wielkie twierdzenia Goedla: twierdzenie o niezupełności i twierdzenie o niedowodliwości niesprzeczności). Z oryginalnej listy Hilberta na dzień dzisiejszy:

  • 10 problemów zostało definitywnie rozstrzygniętych,
  • 8 problemów zostało częściowo rozstrzygniętych lub rozwiązania są dyskusyjne (przede wszystkim ze względu na wielość interpretacji samego sformułowania problemu przez Hilberta),
  • 5 problemów do dziś nie zostało rozstrzygniętych (w tym najsłynniejszy problem, czyli Hipoteza Goldbacha: każda liczba parzysta większa niż 2 da się przedstawić jako suma dwóch liczb pierwszych).

Problemy podane przez CMIC to nowy zestaw (powtarza się tylko problem Hipotezy Riemanna). Nie muszę dodawać, że nie są to problemy z gatunku takich, które można zabrać ze sobą do toalety zamiast sudoku. Jako informatyka cieszy mnie, że na liście znalazł się także problem P != NP (o którym pisałem już wcześniej).

Pełna lista problemów jest następująca:

  1. hipoteza Bircha i Swinnerton-Dyera
  2. hipoteza Hodge’a
  3. równania Naviera-Stokesa
  4. problem P != NP
  5. hipoteza Pointcare’go (w zasadzie rozwiązana, ale trudny charakter Grigorija Perelmana uniemożliwia mu odebranie nagrody)
  6. hipoteza Riemanna
  7. pole Yanga-Millsa

Szczegółowe reguły i zasady konkursu są dostępne na stronach Clay Mathematics Institute.

11/22/2009

Posted by Mikołaj Morzy in zagadki.
2 comments

Znajomy przesyła zagadkę. Co prawda w postaci łańcuszka (jeśli zgadniesz, to dopisz się do listy i prześlij list dalej), ale nie będziemy wspierać takiej formy dystrybucji internetowej. Prezentuję samą zagadkę, akurat w sam raz, żeby rozruszać szare komórki po niedzielnym obiedzie:

 

  • 2+3=10
  • 7+2=63
  • 6+5=66
  • 8+4=96
  • 9+7=?

Off topic 11/16/2009

Posted by Mikołaj Morzy in nauka.
add a comment

Ten odnośnik krążył ostatnio po Internecie i zdobył sobie dużą popularność, więc istnieje spore prawdopodobieństwo, że już to widzieliście. Jeśli jednak nie, to zdecydowanie warto się zapoznać. W trakcie lekcji biologii i fizyki w szkole uczymy się o atomach, cząsteczkach, komórkach i częściach komórki, ale łatwo można odnieść wrażenie, że istnieje ogromna przepaść między omawianymi bytami. O ile świat atomów i cząsteczek jest nieprawdopodobnie mały, o tyle następne “cegiełki” budulcowe materii ożywionej i nieożywionej są zdecydowanie większe (np. mitochondria, łańcuchy DNA, białka) i brakuje “tego czegoś w środku”, co wypełniłoby tę lukę. W Centrum Nauczania Genetyki Uniwersytetu Utah powstała bardzo przejrzysta wizualizacja rozmiarów bardzo małych rzeczy.Podróż zaczynamy od rozmiaru ziarnka kawy, a kończymy na pojedynczym atomie węgla.
cell-size-and-scalePodobnie, ciekawym doświadczeniem jest podróż w kierunku rzeczy bardzo dużych. Ten zbiór porównań rozmiarów pokazuje, jak się ma rozmiar naszej planety do Słońca, Polluxa, Arcturusa, Aldebarana, Betelgeuse (z której pochodził Ford Prefect) oraz Antaresa. Jesteśmy tylko bladą niebieską kropką w bezmiarze kosmosu, lub, innymi słowy, wszechświat jest bardzo, bardzo duży:

Kolejna dawka humoru hermetycznego 11/09/2009

Posted by Mikołaj Morzy in humor.
add a comment

humorZ okazji leniwie płynącej niedzieli postanowiłem podzielić się z czytelnikami kolejną dawką hermetycznego humoru. Nie znalazłem wystarczającej liczby żartów dotyczących stricte baz danych i eksploracji danych, więc duża część z poniższych żartów dotyczy ogólnie pojmowanej informatyki i programowania. Nie wszystkie są bardzo dobre, niektóre są takie sobie, ale parę jest bardzo śmiesznych. Swoje własne propozycje umieszczajcie w komentarzach.

  • Shakespeare nie znał odpowiedzi na swoje pytanie, ale dla informatyka odpowiedź jest oczywista: 2B | ~2B = FF.
  • Dlaczego informatycy zawsze mylą Halloween i Boże Narodzenie? Ponieważ Oct 31 = Dec 25
  • Optymista twierdzi, że szklanka jest w połowie pełna. Pesymista twierdzi, że szklanka jest w połowie pusta. Programista twierdzi, że szklanka jest dwa razy za duża.
  • Na świecie są trzy typy ludzi: (1) ci, którzy rozumieją rekurencję, (2) ci, którzy nie rozumieją rekurencji, (3) ci, którzy uważają, że na świecie są trzy typy ludzi: (1) ci, którzy rozumieją rekurencję, (2) ci, którzy nie rozumieją rekurencji, (3) ci, którzy uważają, że na świecie są trzy typy ludzi:(1) ci, którzy rozumieją rekurencję, (2) ci, którzy nie rozumieją rekurencji, (3) ci, którzy uważają, że na świecie są trzy typy ludzi…
  • Nie w O(1) zbudowano Rzym
  • Na świecie są tylko dwa rodzaje programistów SQL: (*) ci, którzy wiedzą, jak COUNT(*) traktuje NULLe, (*) ci, którzy nie wiedzą, (*) ci, którzy mają to gdzieś
  • niezupełnie informatyczny: Werner Heisenberg zostaje zatrzymany przez patrol na autostradzie, policjant mówi: “panie kierowco, ma pan pojęcie, jak szybko pan pędził?” a Heisenberg na to: “nie, ale dokładnie wiem, gdzie jestem!”
  • Żona instruuje programistę przed wizytą w sklepie: “kup masło, jeśli będą jajka, to kup 10″. Programista wraca z dziesięcioma masłami i mówi: “mieli jajka”.
  • # unzip ; strip ; touch ; finger ; mount ; fsck ; more ; yes ; umount ; sleep
  • Nagrobek programisty: General protection fault 12.04.1962 – Runtime error 23.12.2008
  • Wchodzi maszyna Turinga do baru. Barman pyta: “Co podać?” Po chwili milczenia barman znów pyta: “Przepraszam, co podać?” A maszyna Turinga na to: “Nie mogę rozstrzygnąć”
  • Jeśli milion małp będzie stukało w milion klawiatur, jedna z nich w końcu wystuka program w Javie. Reszta wystuka programy w Perlu.
  • Rosyjska ruletka: [ $[ $RANDOM % 6 ] == 0 ] && rm -rf / || echo *Click*
  • Język C łączy w sobie moc asemblera z łatwością użytkownia asemblera

Terroryzm w Rudzie-Gwizdanowie 11/07/2009

Posted by Mikołaj Morzy in bazy danych, dataset, zbiór danych.
1 comment so far

terroristKto z Was wie, gdzie mieści się Ruda-Gwizdanów? Do dzisiaj też nie miałem pojęcia. W 1997 roku miał tam miejsce atak terrorystyczny, polegający na odpaleniu ładunków wybuchowych podczas spotkania weteranów. Niestety, Wikipedia milczy o ataku, podobnie jak Google. Więc skąd wiem, że terroryści zawitali do Gwizdanowa?

Od 2001 roku Uniwersytet Stanu Maryland gromadzi informacje o aktach terroryzmu na całym świecie. Niedawno baza danych o szumnej nazwie “Global Terrorism Database” została udostępniona publicznie. Baza zawiera informacje o ponad 80 000 aktach terroryzmu i oferuje możliwość wyszukiwania według regionu, kraju, typu ataku, czasu czy liczby ofiar. Serwis oferuje także kalendarium i proste narzędzia do wizualizacji. Wszystkie dane można uzyskać w surowej postaci po skontaktowaniu się z autorami. Baza danych może być swobodnie wykorzystywana do badań naukowych pod warunkiem zacytowania źródła danych. Wszystkie szczegóły znajdują się na głównej stronie projektu.

A tutaj można sprawdzić akty terroryzmu popełnione w Polsce na przestrzeni ostatnich 30 lat.

Bardzo ciekawa konferencja 11/06/2009

Posted by Mikołaj Morzy in nauka, teoria.
add a comment

W dniach 4-7 stycznia 2010 w Pekinie odbędzie się konferencja o nazwie The First Symposium on Innovations in Computer Science (ICS 2010). To jest bardzo ciekawy pomysł, który polega, z grubsza rzecz biorąc, na zebraniu artykułów typu position paper lub vision paper i zaprezentowaniu ich w jednym miejscu. Jak zauważają organizatorzy i pomysłodawcy konferencji, tego typu prace mają poważne trudności w przebiciu się podczas tradycyjnych konferencji. W cfp czytamy m.in.:

Innovations in Computer Science (ICS) is a new conference in theoretical computer science, broadly construed. ICS seeks to promote research that carries a strong conceptual message (e.g., introducing a new concept or model, opening a new line of inquiry within traditional or cross-disciplinary areas, or introducing novel techniques or novel applications of known techniques). ICS welcomes all submissions whether they are aligned with the current TCS research directions or transcend these boundaries.

Jest to pierwsza edycja tej konferencji i mam nadzieję, że będzie udana. Lista streszczeń artykułów przyjętych do prezentacji wygląda bardzo obiecująco! A najfajniejsze w tym wszystkim jest to, że znakomita większość artykułów prezentowanych na tej konferencji jest publicznie dostępna (podziękowania dla Shivy Kintali’ego za zebranie wszystkich linków). Szkoda tylko, że materiały konferencyjne są publikowane w lokalnym zeszycie a konferencja odbywa się tak daleko. I że w przyszłym roku też odbędzie się w Pekinie.

Wszystkie najlepsze rzeczy w życiu są za darmo 10/31/2009

Posted by Mikołaj Morzy in eksploracja danych, nauka, teoria, zbiór danych.
2 comments

eslNa przykład książka “The Elements of Statistical Learning” autorstwa Trevora Hastie, Roberta Tibshirani i Jerome Friedmana. To już druga edycja książki wydanej przez Springera w serii “Springer Series on Statistics“. Na ponad 700 stronach książka opisuje m.in.: uczenie nadzorowane, regresję liniową, klasyfikację liniową i regresję logitową, metody wygładzania, metody oceny modeli, wnioskowanie bayesowskie, metody bootstrap, algorytm EM, różne algorytmy indukcji drzew, techniki boosting, sieci neuronowe, rodzinę algorytmów SVM, metody k-najbliższych sąsiadów, odkrywanie reguł asocjacyjnych, metody analizy skupień, wybór cech przy użyciu metod PCA i ICA, algorytmy Random Forest, metody uczenia Ensemble oraz eksplorację danych wielowymiarowych. A najlepsze jest to, że książkę tę można (legalnie, bez targania z osiołka) mieć za darmo.

Książka jest dostępna na stronie domowej Roberta Tibshirani na Stanfordzie. Ale to nie wszystko! Wraz z książką można pobrać:

Chapeaux bas dla wydawcy, że pozwolił umieścić tę książkę w sieci. Książka już trafiła na moją listę lektur polecanych studentom.

Jak skutecznie bronić się przed debilami 10/26/2009

Posted by Mikołaj Morzy in Uncategorized.
add a comment

greasemonkeyRichard Feynman był absolutnym geniuszem, co do tego nie ma wątpliwości. Laureat Nagrody Nobla w dziedzinie fizyki, jeden z twórców bomby atomowej, żongler, profesjonalny gracz na bongosach, który w Los Alamos miał irytujący zwyczaj włamywania się do wszystkich sejfów, jakie napotkał, popularyzator nauki, malarz, biolog-amator, lista jest długa. Jeśłi ktoś nie zna tej niezwykle barwnej postaci, niech koniecznie kupuje jego autobiografię “Pan raczy żartować, panie Feynman“. Ucząc bawi, bawiąc uczy.

Większość użytkowników umieszczających komentarze w serwisie YouTube to kompletni debile, co do tego także nie ma wątpliwości. Dotychczas można było się bronić przed zalewem debilizmu wylewającego się z komentarzy za pomocą różnych rozszerzeń do FireFoxa, np. z YouTube Comment Snob. Ale wczoraj trafiłem na coś znacznie lepszego. FeynTube to skrypt Greasemonkey, który zamienia wszystkie komentarze na YouTube na cytaty Feynmana! Nie tylko nie skacze mi ciśnienie w odpowiedzi na czyjść jawny brak mózgu, ale mogę przy okazji poznać coś wartościowego. A trzeba przyznać, że źródło cytatów zostało wybrane doskonale, dość wspomnieć, że ostatnie słowa Feynmana zarejestrowane moment przed jego śmiercią brzmiały: “I’d hate to die twice. It’s so boring

XV Konferencja PLOUG 10/18/2009

Posted by Mikołaj Morzy in Uncategorized.
add a comment

15_konfOd wtorku rusza w Zakopanem-Kościelisku XV Konferencja Użytkowników i Deweloperów Oracle organizowanana przez Stowarzyszenie Polskiej Grupy Użytkowników Systemu Oracle PLOUG. Jak co roku, program konferencji jest wypełniony dość szczelnie. Przygotowałem dwa warsztaty i dwa referaty:

[WP ODM] Oracle Data Mining 11g

wtorek, 20.10, 8:00-12:00

Abstrakt:

Celem warsztatu jest przedstawienie funkcjonalności opcji Oracle Data Mining serwera Oracle 11g. Oracle Data Mining (ODM) to zbiór narzędzi umożliwiających uruchamianie zaawansowanych algorytmów analizy i eksploracji danych bezpośrednio po stronie serwera bazy danych, bez konieczności wykorzystywania narzędzi zewnętrznych. Na opcję Oracle Data Mining składają się: zbiór specjalizowanych pakietów PL/SQL zawierających procedury i funkcje eksploracji danych, biblioteki języka Java stanowiące implementację standardu Java for Data Mining (JDM), oraz zbiór funkcji języka SQL umożliwiających łatwy dostęp do modeli zapisanych w repozytorium ODM. Funkcjonalność ODM obejmuje między innymi: asocjacje, algorytmy klasyfikacji, algorytmy analizy skupień, regresję, odkrywanie anomalii, eksplorację danych tekstowych i odkrywanie cech.

W trakcie warsztatu zostaną pokrótce omówione wybrane techniki eksploracji danych, a także zostaną szczegółowo zaprezentowane pakiety PL/SQL oraz rozszerzenia języka SQL umożliwiające eksplorację danych. Zaprezentowane zostaną również przykładowe aplikacje Java wykorzystujące Oracle Data Mining. Uczestnicy otrzymają różne zbiory danych, które poddadzą samodzielnej analizie i eksploracji.

Profil uczestnika: osoby zajmujące się analizą danych i business intelligence.

Poziom wiedzy uczestnika: brak wymagań.

Forma zajęć: demonstracja z samodzielnymi ćwiczeniami praktycznymi.

Cel uczestnictwa: zapoznanie się z funkcjonalnością Oracle Data Mining 11g.

Czas trwania: 4 godziny.

[WP TimesTen] Oracle TimesTen 11.2

czwartek, 22.10, 15:00-19:00

Abstrakt:

Oracle TimesTen to technologia przetwarzania danych w pamięci ulotnej, zaprojektowana w celu zapewnienia minimalnych czasów odpowiedzi, ogromnej przepustowości, oraz transakcyjnego przetwarzania dużych wolumenów danych i zarządzania zdarzeniami. Technologia ta jest wykorzystywana w dwóch produktach: Oracle TimesTen In-Memory Database oraz Oracle In-Memory Database Cache. Utrzymywanie danych w pamięci operacyjnej z pominięciem pamięci dyskowej, wprowadza istotne zmiany w architekturze systemu baz danych, technikach indeksowania i wykonywania zapytań, oraz wymusza opracowanie mechanizmów zachowania spójności i odtwarzania po awarii. W szczególności, przeniesienie przetwarzania transakcyjnego do warstwy aplikacyjnej wprowadza duże zmiany w ogólnej architekturze systemu informatycznego. Celem warsztatu jest zapoznanie uczestników z podstawami technologii Oracle TimesTen. W ramach warsztatu zostaną zaprezentowane: architektura bazy danych TimesTen, rozszerzenia języka SQL specyficzne dla bazy danych TimesTen, instalacja i zarządzanie bazą danych TimesTen oraz możliwości wykorzystania bazy danych TimesTen jako pamięci podręcznej dla tradycyjnej bazy danych w ramach opcji Oracle In-Memory Database Cache serwera Oracle 11g Enterprise Edition.

Profil uczestnika: osoby zajmujące się projektowaniem i implementacją systemów informatycznych, administratorzy bazy danych.

Poziom wiedzy uczestnika: brak wymagań.

Forma zajęć: demonstracja z samodzielnymi ćwiczeniami praktycznymi.

Cel uczestnictwa: zapoznanie się z funkcjonalnością i architekturą bazy danych Oracle TimesTen.

Czas trwania: 4 godziny.

Oprócz tego na popołudniowej sesji plenarnej we wtorek wygłoszę dwa referaty:

“Oracle TimesTen 11.2 – baza danych w pamięci RAM”

wtorek, 20.10, 17:00-18:45

PLOUG Oracle TimesTen.pdf

Oracle TimesTen to rodzina technologii przetwarzania danych w pamięci ulotnej. Główną cechą technologii TimesTen jest przeniesienie przetwarzania danych do warstwy aplikacyjnej i całkowita rezygnacja z wykorzystania pamięci dyskowej. Struktury danych, indeksy, czy algorytmy optymalizacji zapytań są specjalnie zaprojektowane z założeniem, że wszystkie wymagane dane znajdują się w pamięci ulotnej o dostępie swobodnym. Taka architektura zapewnia minimalne czasy odpowiedzi, niespotykaną wcześniej przepustowość, oraz możliwość zarządzania transakcjami i zdarzeniami w bazach danych składających się z ogromnych wolumenów danych. Z drugiej strony, architektura bazy danych w pamięci operacyjnej wymusza opracowanie nowych mechanizmów zachowania spójności i odtwarzania po awarii.

Technologia TimesTen jest wykorzystywana w dwóch produktach: Oracle TimesTen In-Memory Database oraz Oracle In-Memory Database Cache. Pierwszy produkt to samodzielny system zarządzania bazą danych, wykorzystujący przechowywanie danych w pamięci ulotnej i okresową nieblokującą synchronizację bazy danych z obrazem dyskowym oraz replikację danych do innych systemów. Drugi produkt umożliwia wykorzystanie bazy danych TimesTen jako pamięci podręcznej dla tradycyjnej relacyjnej bazy danych. W tym przypadku baza danych TimesTen zawiera kopię wybranych krytycznych podzbiorów danych i oferuje płynną synchronizację danych między TimesTen a bazą relacyjną, zapewniając jednocześnie bardzo efektywny dostęp do danych przechowywanych w tak skonfigurowanej pamięci podręcznej. W wykładzie zaprezentowano ogólną architekturę bazy danych TimesTen, przedstawiono charakterystyczne elementy bazy danych TimesTen (specjalizowane struktury danych, rozszerzenie języka SQL dla Times-Ten) oraz pokrótce opisano proces instalacji i konfiguracji bazy danych TimesTen.

“Semantic Technologies, czyli Oracle i Web 3.0″

wtorek, 20.10, 15:00-16:45

PLOUG Oracle Semantic Technologies.pdf

Sieć semantyczna (ang. Semantic Web), zwana także modelem Web 3.0, to wizja Internetu, w którym dane są przechowywane, opisane i powiązane w taki sposób, że mogą być wykorzystane przez maszyny (programy, pająki sieciowe, inteligentnych agentów) nie tylko do wyświetlania, ale także do integracji, negocjacji, czy manipulacji w różnych aplikacjach. Na tę wizję składa się wiele technologii, służących przede wszystkim do semantycznego wzbogacania danych – między innymi XML, jako wspólna składnia opisu danych; XML Schema, jako język opisu typów danych i ich struktury; RDF, jako sposób zapisywania meta danych o związkach między danymi; OWL do definicji wspólnych słowników, czy wreszcie SPARQL, jako język zapytań.

Opcja Oracle Spatial 11g serwera bazy danych Oracle 11g Enterprise Edition zawiera zaawansowane mechanizmy zarządzania danymi semantycznymi. Umożliwia ona, między innymi, wykorzystanie języków RDF, RDFS i OWL bezpośrednio w bazie danych, wzbogacanie danych relacyjnych o warstwę semantyki, wydawanie zapytań do danych relacyjnych przy wsparciu ontologii zdefiniowanych w OWL, pełen wachlarz operacji DML dla danych przechowywanych w RDF i OWL, wnioskowa-nie za pomocą silników RDF i OWL, a także wydawanie zapytań w języku zbliżonym do standardu SPARQL.

W referacie zaprezentowano wprowadzenie do wybranych technologii sieci semantycznej oraz szczegółowo opisano rozwiązania wchodzące w skład pakietu Oracle Semantic Technologies.