funkcje ułatwiające migracje z oracle’a

przeczytałem właśnie o interesującym module – orafce. moduł ten zawiera ponad 100 funkcji których celem jest emulowanie funkcji bazodanowych z oracle'a i plvision (taki pakiet do oracle'a).

funkcje w orafce są kompatybilne na poziomie api z wersjami z oracle'a co powoduje, że ich użycie mocno uprości ewentualną migrację między tymi platformami.

wśród funkcji zawartych w pakiecie są m.in.:

  • kilka funkcji podstawowych – typu next_day, last_day
  • funkcje kalendarza biznesowego – bazujące na pakiecie plvdate z plvision
  • spory zestaw funkcji do pracy na stringach
  • obsługa komunikacji między procesowej

zwrócić należy uwagę na fakt iż nie ma w tym pakiecie niczego czego nie dałoby się uzyskać w postgresie inaczej – jednakże sensem istnienia tego pakietu nie jest dodawanie funkcjonalności, a ułatwianie migracji.

nowości w postgresie 8.2 – … advisory locks

miałem o tym napisać później, ale skoro merlin już opisał advisory locki, nie pozostaje mi nic innego niż
opisać je u siebie.

advisory locki są to zupełnie nowe locki nie powiązane z żadnymi fizycznymi obiektami w bazie. służą one do
przekazywania informacji między sesjami i transakcjami.

najbardziej szczególną cechą tych locków jest to, że działają poza mechanizmem transakcji. dzięki temu możliwe jest używanie
ich do celów do których standardowe locki sie nie nadawały.

przykładem użycia z mojego podwórka jest zakładanie locka na konkretne źródło rss'ów w dnewsach. do tej pory musiałem mieć
oddzielną tabelkę i w niej trzymać wpisy. do tego dochodziły kwestie czyszczenia wpisów gdyby program ściągający dane padł i nie
skasował swojego locka.

z drugiej strony – mogłem uzyć locków wewnątrz transakcji, ale to by oznaczało trzymanie długo trwających transakcji – a one z
definicji są złe (psują systemy replikacyjne).

advisory locki robią to co trzeba.

sesja (połącznie) które potrzebuje zakłada locka (locka zakłada sie na “liczbę" z zakresu int8, albo na parę liczb int4). lock
zostaje zdjęty gdy wywołam funkcję zdejmującą lub gdy padnie połączenie!

advisory locki są trzymane w pamięci dzięki czemu są baaaaaardzo szybkie – merlin przeprowadził prosty test zakładając 1000
advisory locków w około 6 milisekund!

dodatkowo – dzięki temu, że są trzymane w pamięci – odpadaję wszelkie bolączki mvcc – puchnące tabele, wolny odczyt,
vacuumowanie itd. advisory locki są błyskawiczne i całkowicie bezpieczne.

przykładowe użycie:

# SELECT pg_advisory_lock(123);<br/>
 pg_advisory_lock<br/>
------------------<br/>
''<br/>
(1 ROW)<br/>
# SELECT pg_advisory_unlock(123);<br/>
 pg_advisory_unlock<br/>
--------------------<br/>
 t<br/>
(1 ROW)

oczywiście advisory locki zapewniają wszystkie standardowe metody dostępu:

  • pobranie locka blokujące
  • pobranie nieblokujące
  • locki exclusive
  • locki shared

polecam przyjrzenie
się tej funkcjonalności – ma ona sporo niecałkiem oczywistych zastosowań.

ciąd dalszy wywiadu z bjornem stroustrupem

na mit technology review pojawiła się druga część wywiadu z twórcą c++.

tym razem mówi o przyszłości, trendach, przykładach świetnego kodu, o tym czy i co zastąpi programowanie obiektowe oraz o tym czy .net jest spadkobiercą c++ 🙂

warto przeczytać.

zdrowa coca-cola

w 2007 roku coca-cola ma wypuścić nowy napój – diet coke plus.

napój ten będzie bazował na diet coke (coca-cola light), ale będzie dodatkowo wzbogacany o witaminy i minerały.

czy to oznacza, że koncern chce walczyć z wizerunkiem niezdrowej, szkodliwej coli? tylko co ze smakiem?

pepsi ma wypuścić odpowiedź – napój o nazwie tava rok później.

jedzenie tłuszczu nielegalne?

władze nowego jorku zdelegalizowały używanie tzw. “trans fats" (tłuszczy jakichś tam, ogólnie – zwierzęce, niezdrowe).

z jednej strony ok – tłuszcze te (może ktoś mi podpowie jak to się tłumaczy na polski) są niezdrowe, prowadzą do kupy chorób. ale, kurza wasza melodia, to moje prawo żreć co chcę.

wygląda na to, że władza tamże uznała, że mieszkańcy są tak głupi, że nie potrafią podjąć świadomej decyzji o tym co zjedzą (nota bene pewnie mają rację). problemem jest to, że takie ubezwłasnowolnienie ma kupę wad:

  • powoduje, że od groma ludzi nagle stanie się przestępcami – wystarczy przygotowanie foie gras.
  • zwalnia ludzi od myślenia
  • wchodzi z butami z prywatne życie prywatnych ludzi
  • jest prawem martwym – nikt normalny nie będzie się tym przejmował – tak jak np. limitami prędkości. tzn. do czasu aż pojawią się bojówki i będzie wydany pierwszy wyrok – śmierć przez powieszenie za podanie klientowi kotleta smażonego na smalcu.

ci co mnie znają, wiedzą, że ogólnie stany mi się podobają. wiem, że mają swoje problemy, ale po prostu podoba mi się ten kraj (niestety nie byłem). i wiem, że jest przynajmniej kilka osób które potraktują tę informację jako wyraz starczej demencji. zdarza się. ale nawet ja – lubiący amerykę – nie potrafię zrozumieć czym się kierowały elity polityczne uchwalając taką bzdurę.

nowości w postgresie 8.2 – … jednostki w postgresql.conf

dziś malutki wpis 🙂

w 8.2 w pliku konfiguracyjnym przy parametrach przy których jest pojęcie jednostki pojawiły się kody tych jednostek. np. shared_buffers, kiedyś podawane jako liczba bloków 8 kilobajtowych, teraz jest wyrażane po prostu jako 20000kB (na przykład).

znakomicie ułatwia to czytanie plików konfiguracyjnych – już nie trzeba się zastanawiać, czy dana wartość jest w bajtach, kilobajtach, blokach czy czymkolwiek innym.

lista parametrów objętych tą zmianą:

  • authentication_timeout
  • shared_buffers
  • temp_buffers
  • work_mem
  • maintenance_work_mem
  • max_stack_depth
  • bgwriter_delay
  • checkpoint_timeout
  • checkpoint_warning
  • effective_cache_size
  • log_rotation_age
  • log_rotation_size
  • autovacuum_naptime
  • deadlock_timeout

alternatywna ścieżka kariery

ostatnio po sieci przetoczyła się lawina komentarzy do tego co opisali pracownicy firmy mcafee.

cóż tak szokującego opisali? otóż, zgodnie z prezentowaną przez nich tezą, mafie wszelkiego rodzaju zatrudniają młody hackerów w celach zarabiania na cyberprzestępczości.

podobno stosowane są metody rodem z kgb:

  • przekupywanie
  • szantaż
  • podstawianie “wabia"

i inne.

w/g autorów organizacje przestępcze werbują nawet 14 latków. zlecają im początkowo proste rzeczy – kontrola nad botnetem, rozesłanie spamu. potem zadania robią się coraz trudniejsze. i zyskowniejsze.

część kandydatów jest wybierana spośród technicznie zaawansowanych uczniós kierunków nie-informatycznych – w celu wyszkolenia i osadzenia ich w jakichś korporacjach jako “sleepers" (śpiących? jak to przetłumaczyć) – np. w celu późniejszego ataku typu szpiegostwo przemysłowe.

młodych pcha w objęcia mafii kilka rzeczy – po pierwsze – kasa. za proste zadania dostaje się relatywnie spore pieniądze, ryzyko jest niewielkie więc łatwo się wciągnąć i potem robić trudniejsze i bardziej ryzykowne rzeczy. po drugie – w sukurs mafiozom przychodzi wrodzony w nastolatkach bunt. przeciwko rodzicom, przepisom, szkole, wszystkim.

wstąpienie do gangu i ddosowanie serwisów nowoczesnym odpowiednikiem zapijania się starszych pokoleń? no cóż – przynajmniej są z tego pieniądze 🙂

jak się obronić przez 100000 ataków miesięcznie?

w zeszłym roku microsoft odnotował średnio 100 tysięcy ataków na swoją sieć i serwisy miesięcznie. to oznacza, że co 30 sekund ktoś próbuje się włamać lub zhackować ich sieć.

to całkiem sporo.

jednocześnie – firma z redmond mocno promuje wśród pracowników korzystanie z ras'a – w dużym skrócie – to taki vpn.

mając taką ilość ataków, taką ilość ludzi którzy nie lubią firmy – jak się zabezpieczyć? na ten temat napisał ostatnio martin heller w internetowym wydaniu computer worlda.

warto ten artykuł przeczytać choćby po to by podchwycić pewne pomysły/idee.