Zajimalo by mne srovnani (vyhody, nevyhody) tohoto systemu s klasikou, tedy s unix pipes a filtry. Jde mi o to, ze jsem se de facto nesetkal se zadanim transformace dat, ktere by neslo provest prostrednictvim standardni nastroju unixu (cat, grep, sed, sort, ...). Ovsem je pravda, ze zkratka ETL mi nic nerika. Diky.
Taky bych rekl, ze se to podoba prikazum nacpanym mezi roury. Je ale pravda, ze vetsina jednodussich programu (sed, grep, sort) nedokazou pri rourach cist napr. ze dvou souboru najednou, proste prevazne delaji nejake jednoduche cinnosti na datech v roure. Ale kdyz se do toho zapoji treba perl, tak uz s tim jde delat hodne veci. Ale mozna jsem uplne mimo:) Jak to tedy je, je ETL podobny rouram a daji se problemy resene pomoci ETL resit jenom pomoci rour a unix/linux prikazu (sed, grep, sort, cat, perl)?
ETL jde z principu řešit těma rourama (u db bych k tomu ještě dodal něco toho SQL), ale jak jde o znovupoužitelnost, bezpečnost, distribuci a podobné serepetičky, tak to chce trošku silnější nástroj. No a tady zpravidla končí bastlení a nastupují ETL systémy jako třeba právě http://bee.sourceforge.net/
No to vysvetleni je trochu jak reklama na XML, ale budiz. Nicmene, loni na LinuxExpu jsme meli stanek Insightu pres ulicku a oni tam Bee prezentovali. Marketingove to meli dobre zmakle, ale jinak nevim. Mozna, ze shell skript neni marketingove nejlakavejsi reseni, ale je stabilni, rychly, lety odzkouseny, otevreny a promptne modifikovatelny. A zrovna znovupouzitelnost, bezpecnost a distribuovatelnost je u nej prakticky neomezena. A kdyz ho dela nekdo kdo to umi, co si budeme povidat. Ostatne, od ceho vzalo jmeno PERLu pocatku, ze?
Hmm, a spustíš ten shell script nadálku na win32 a bude ten transformační kód napsaný v PERLu, podepsaný autorizační autoritou, bude to pracovat synchronně na více strojích zároveň a na různých platformách a budou ty datové kanály mezi těma mašinama on fly šifrované a bude to mít centralizovanou správu? Jo, ale to rovnou naprogramuješ systém jako je bee. No můžeš to udělat v shellu, můžeš to udělat v perlu, můžeš to udělat v čem chceš, ale musíš to udělat. bee je hotové.
To jsou kecy. Bee je zrovna tak jako shell nastroj, nic jineho. Konkretni implementaci musi navrhnout a vytvorit clovek. Jestli na to pouzije bee nebo cokoliv jineho muze byt skutecne jedno. Vsechno co jsi napsal lze s pouzitim beznych unix. nastroju. Nevim co s tim ma delat el. podpis, sifrovani on-fly a podobne vychytavky, ty se resi oddelene s pouzitim standardnich utilit. Proc by mel nejaky system implementovat sifrovani komunikace, kdyz mam ssh proste nechapu.
Jaksi jsi mi ale nevysvětlil jak to chceš udělat na win32? A jak přes to ssh uděláš synchronizaci? Jak autentizuješ a autorizuješ ten kód kterých chceš spustit na tom jiném stroji. To umí každej trouba se přihlásit na nějakej stroj a spustit tam nějakej kód, ale co takhle ten kód ověřit třetí stranou. Na to už potřebuješ celkem dost té omáčky a napsat to v shellu je nemálo práce. Uvědom si, že se tu bavíme o korporátním prostředí (třeba banky), kde tě bezpečnost sakra zajímá. Ono udělat si tam díru, kdy ti dotyčný může vycucat komplet databázy klientů včetně všech jejich pohybů na kontě.
> Jaksi jsi mi ale nevysvětlil jak to chceš udělat
> na win32 ?
windoze nikoho nezajimaj
> A jak přes to ssh uděláš synchronizaci?
ssh port forwarding
> Jak autentizuješ a autorizuješ ten kód kterých
> chceš spustit na tom jiném stroji.
md5, pgp ...
> To umí každej trouba se přihlásit na nějakej
> stroj a spustit tam nějakej kód, ale co takhle
> ten kód ověřit třetí stranou.
fuj
> Uvědom si, že se tu bavíme o korporátním
> prostředí (třeba banky), kde tě bezpečnost sakra
> zajímá. Ono udělat si tam díru, kdy ti dotyčný
> může vycucat komplet databázy klientů včetně
> všech jejich pohybů na kontě.
keczy
>> Jaksi jsi mi ale nevysvětlil jak to chceš udělat
>> na win32 ?
>windoze nikoho nezajimaj
Jo vysvětluj to našim bankám, nebo telekomunikačním operátorům, úřadům a ...
>> A jak přes to ssh uděláš synchronizaci?
>ssh port forwarding
To se pak obsluhuje v bashi moc dobře.
>> Jak autentizuješ a autorizuješ ten kód kterých
>> chceš spustit na tom jiném stroji.
>md5, pgp ...
Hmm a obslužný framework si nakódíš a pak jen cut&paste do každého toho scriptu a pár dalších obslužných scriptů na generování podpisů a ... Máš už to hotové? Krom toho md5, není to slabé?
>keczy
A kolik jsi takovejch systémů už dělal? :-D
Keczy?
Tak proč existují komerční ETL nástroje (Informatica, AB Nitio) a proč si je firmy za těžké miliony pořizují?
Asi proto, aby nemusely draze platit desítky namyšlenejch unixovejch magorů, co jim to budou psát ve scriptech. Místo toho naučí svoje zaměstnance naklikat potřebné v ETL.
Takhle to chlapče doopravdy funguje v reálu, ne ve virtuálním linuxovém Matrixu. Pár takovýchhle projektů už tu běží.