Sie sind auf Seite 1von 30

Expediente editorial

Diretor Geral Rafael Peregrino da Silva rperegrino@linuxmagazine.com.br Editores Flvia Jobstraibizer fjobs@linuxmagazine.com.br Kemel Zaidan kzaidan@linuxmagazine.com.br Editora de Arte Larissa Lima Zanini llima@linuxmagazine.com.br Estagirio Felipe Brumatti Sentelhas fsentelhas@linuxmagazine.com.br Colaboradores Alexandre Borges, Alexandre Santos, Arne Romann, Augusto Campos, Charly Khnast, Chris Binnie, Christine Knig, Dmitri Popov, Florian Effenberger, Jens-Christoph Brendel, Jon maddog Hall, Klaus Knopper, Kurt Seifried, Marcel Hilzinger, Markus Feilner, Peter Vescuso, Ren Hesse, Thomas Leichtenstern, Udo Seidel, Zack Brown. Traduo Elias Praciano, Gabriela Edel Mei, Rodrigo Garcia, Sebastio Luiz da Silva Guerra Reviso Ana Carolina Hunger. Editores internacionais Uli Bantle, Andreas Bohle, Jens-Christoph Brendel, Hans-Georg Eer, Markus Feilner, Oliver Frommel, Marcel Hilzinger, Mathias Huber, Anika Kehrer, Kristian Kiling, Jan Kleinert, Daniel Kottmair, Thomas Leichtenstern, Jrg Luther, Nils Magnus. Anncios: Rafael Peregrino da Silva (Brasil) anuncios@linuxmagazine.com.br Tel.: +55 (0)11 3675-2600 Penny Wilby (Reino Unido e Irlanda) pwilby@linux-magazine.com Amy Phalen (Amrica do Norte) aphalen@linuxpromagazine.com Hubert Wiest (Outros pases) hwiest@linuxnewmedia.de Diretor de operaes Claudio Bazzoli cbazzoli@linuxmagazine.com.br Na Internet: www.linuxmagazine.com.br Brasil www.linux-magazin.de Alemanha www.linux-magazine.com Portal Mundial www.linuxmagazine.com.au Austrlia www.linux-magazine.es Espanha www.linux-magazine.pl Polnia www.linux-magazine.co.uk Reino Unido www.linuxpromagazine.com Amrica do Norte Apesar de todos os cuidados possveis terem sido tomados durante a produo desta revista, a editora no responsvel por eventuais imprecises nela contidas ou por consequncias que advenham de seu uso. A utilizao de qualquer material da revista ocorre por conta e risco do leitor. Nenhum material pode ser reproduzido em qualquer meio, em parte ou no todo, sem permisso expressa da editora. Assume-se que qualquer correspondncia recebida, tal como cartas, emails, faxes, fotograas, artigos e desenhos, sejam fornecidos para publicao ou licenciamento a terceiros de forma mundial no-exclusiva pela Linux New Media do Brasil, a menos que explicitamente indicado. Linux uma marca registrada de Linus Torvalds. Linux Magazine publicada mensalmente por: Linux New Media do Brasil Editora Ltda. Rua So Bento, 500 Conj. 802 S 01010-001 So Paulo SP Brasil Tel.: +55 (0)11 3675-2600 Direitos Autorais e Marcas Registradas 2004 - 2012: Linux New Media do Brasil Editora Ltda. Impresso e Acabamento: RR Donnelley Distribuda em todo o pas pela Dinap S.A., Distribuidora Nacional de Publicaes, So Paulo. Atendimento Assinante www.linuxnewmedia.com.br/atendimento So Paulo: +55 (0)11 3675-2600 Rio de Janeiro: +55 (0)21 3512 0888 Belo Horizonte: +55 (0)31 3516 1280 ISSN 1806-9428 Impresso no Brasil

Faa a diferena
Da srie: do que o mercado de trabalho precisa de verdade, quis abordar nesta edio uma caracterstica bsica necessria a qualquer tipo de atividade profissional e que, segundo pesquisas, falta a uma grande parcela da fora de trabalho atualmente, mormente queles profissionais provenientes da assim chamada Gerao Y e que pode significar a diferena na ascenso do profissional dentro da estrutura das corporaes, sendo comumente designada pelo jargo vestir a camisa: o compromisso com a empresa, suas metas e, igualmente importante, com a qualidade do seu trabalho. Conta uma velha histria que uma galinha um dia chegou para um porco e disse: Estou com uma oportunidade de negcios mpar nas mos, uma oportunidade que pode nos tornar ricos, mas preciso de um scio como voc! O porco, claro, ficou interessado no Negcio da China que a galinha havia descoberto. E ela continuou: um negcio em que servimos caf da manh de altssima qualidade s pessoas: eu forneo os ovos, e voc fornece o bacon... Apesar do tom jocoso da fbula acima, ela nos d ensejo a classificar o tipo de compromisso que podemos assumir dentro do nosso ambiente de trabalho, e que vai refletir em nossa atitude diria dentro da empresa: queremos apenas contribuir com ovos ou estamos visceralmente comprometidos com os resultados do negcio como um todo, no importando a nossa posio? Tenha certeza de que, se nos enquadrarmos no ltimo caso, nossos superiores ou parceiros de negcios vo sempre reconhecer o nosso valor alm de lembrarem-se de ns quando houver uma possibilidade de promoo ou quando uma oportunidade interessante aparecer. To importante quanto o compromisso e intestinalmente ligada a ele a qualidade. Afinal, quem no se compromete com seu trabalho, via de regra no confere qualidade a ele. E aqui vale a mxima: no se contente com qualquer coisa menor do que a excelncia e no abra mo de suas convices! Dentro de qualquer empresa sempre haver, feliz ou infelizmente, profissionais que poderemos classificar em A, B ou C, no que tange ao nvel de conhecimento de que dispem e de produtividade que podem alcanar. Nunca se contente com menos que o nvel A! E esteja sempre antenado com o que h de mais atual acontecendo no seu segmento. Muitas vezes, isso ir lhe custar horas de sono, menos tempo junto famlia e vai parecer loucura a muitos de seus amigos. Mas lembre-se de que os loucos que acham que so capazes de mudar o mundo, so aqueles que efetivamente o mudam, pois fazem a diferena. A histria e a cincia esto recheadas de exemplos desse tipo, que imprimiram a nossa sociedade um novo impulso para avanar. Einstein chegou a trabalhar mais de 90 horas por semana. E os desenvolvedores do primeiro Macintosh chegaram a imprimir camisetas onde se lia: 90 horas por semana e adorando! Nenhum deles teria chegado aonde chegou sem esse nvel de comprometimento e qualidade. E, na rea de tecnologia, o Software Livre uma das ferramentas mais poderosas para ajud-lo a fazer a diferena! Aproveite.
Rafael Peregrino da Silva Diretor de Redao

EDITORIAL
3

Linux Magazine #87 | Fevereiro de 2012

NDICE

CAPA
Ao resgate, homens! Que atire o primeiro pendrive, aquele que nunca perdeu um arquivo precioso, seja por acidente ou descuido. 33

Ufffa! O TestDisk, e seu primo PhotoRec, iro ajud-lo a recuperar os dados que voc pensou ter perdido.

34

Visualize sua rede A grande quantidade de ferramentas de monitoramento de redes para SNMP torna mais fcil a vida do administrador que precisa lidar com uma abundncia de dados em constante modicao.

40

Ferramentas perigosas de teste A ferramenta de monitoramento OpenNMS uma arma til e que pode

45

fornecer uma gama de informaes importantes para os administradores.

www.linuxmagazine.com.br

Linux Magazine 87 | NDICE

COLUNAS
Zack Brown Klaus Knopper Charly Khnast Kurt Seifried Alexandre Borges Augusto Campos 07 08 10 11 14 16

TUTORIAL
Uma nuvem para chamar de sua 55

NOTCIAS
Geral PostgreSQL na nuvem da Amazon Um tablet com a interface Plasma do KDE Congure uma nuvem pessoal no seu servidor com o ownCloud. Entrega silenciosa 60 17

CORPORATE
Notcias Lenovo ameaa liderana da HP Android aumenta sua presena nos tablets Dez anos de suporte da Red Hat Entrevista com Nils Brauckmann As chaves do sucesso para o Cdigo Aberto Coluna: Jon maddog Hall Coluna: Alexandre Santos 22 26 30 32 O Ofineimap sincroniza suas contas IMAP em uma mquina local, oferecendo backup completo e uma srie de funes ofine. 20 Greg Kroah-Hartman deixa a SUSE para trabalhar na Linux Foundation

ANLISE
nibus corporativo 64

ANDROID
Sem amarras 50

Via de regra, os fabricantes de smartphones equipados com Android denem o que os usurios podem ou no podem fazer com o telefone. Com alguns truques, entretanto, possvel obter o controle total do seu aparelho.

SEGURANA
Entrevista: Jim Reavis 48

Um servio de Bus corporativo uma via expressa centralizada para dados em ambientes com arquitetura orientada a servidor. Um bom ESB lida com orquestrao, roteamento de mensagens e anlise de eventos. Duelo de bancos de dados 72

A competio entre MySQL e PostgreSQL to antiga quanto os prprios bancos de dados e sem um vencedor claro. Apesar disso, sempre emocionante e elucidante assistir batalha dos dois.

SERVIOS
Editorial Sentamos-nos com Jim Reavis, co-fundador e diretor executivo da Cloud Security Alliance, para falar sobre a funo e a misso da CSA, agora e no futuro. Emails Linux.local Preview 04 06 78 82

Linux Magazine #87 | Fevereiro de 2012

Coluna do Alexandre Borges

Sistemas de criptograa
Nosso colunista apresenta aos leitores alguns dos algoritmos de criptograa mais conhecidos e outros nem tanto

COLUNA

m continuao ao assunto do ms anterior, comum ouvirmos falar nos mais diversos modelos (alguns chamam de sistemas) de codificao. claro que no possvel entrar em qualquer detalhe mais especfico nesta coluna, contudo vamos tentar comentar algo aqui. Um sistema antigo e digno de nota o modelo chamado Null Cipher (ou cifragem de encobrimento) onde, na verdade, no ocorre qualquer criptografia, entretanto o leitor sabe quais linhas ou letras ler no texto e, com isto, recuperar a mensagem pretendida (por exemplo, no filme Desconhecido h algo nesse sentido). Outros sistemas clssicos, j que temos hoje em dia algoritmos mais modernos como as cifragens de bloco e streams, assim como os modelos de chave pblica e privada, so as cifras de substituio (que, como o ROT 13, so muito curiosas ), pois envolvem algum tipo de substituio de uma letra por outra baseando-se numa varivel criptogrfica ou temos as cifras de transposio onde realizado o deslocamento do alfabeto para a criao do mapa de substituies. Em geral, ambas so aplicadas em conjunto. Por exemplo, poderamos criar algo mais simples aqui tendo a primeira linha com as linhas do texto original que encontramos e a segunda com a troca a ser feita:
ABCDEFGHIJKL ... EFGHIJKLMNOP ...

podem ser vistos em pginas da Wikipdia sobre essa forma de criptografia [1] [2]. O problema destas cifras que elas so suscetveis anlise de frequncia, ou seja, possvel inferir qual letra da codificao resultante corresponde a qual letra verdadeira do texto original pela taxa de ocorrncias (o leitor pode aprender mais em uma pgina do Wikibooks sobre o tema [3]), algo que no ocorre com One-Time Pad (inventado por Gilbert Vernan) porque, nesse caso, a chave pode ser to longa quanto se queira (em geral, do tamanho do texto a ser codificado) e nunca se repete. Para que este esquema seja eficiente, ambas as partes trocam previamente uma sequncia de letras, atribui-se a cada letra sua srie numrica natural (A=0, B=1, C=2,...) e usa-se ainda a funo matemtica mod pois existem apenas 26 letras (lembre-se que 30 mod 26 = 4) . Observe uma aplicao simples do que acabamos de expor: Sequncia aleatria trocada entre as partes:
eoralqjdnagflrappmkdlahwakxnazcqerdloqpjd...

Sequncia numrica das letras:


A B C D E F G H I ...X Y Z 0 1 2 3 4 5 6 7 8 ...23 24 25 Texto a ser codicado: Equivalncia numrica: Equivalncia aleatria: Equivalncia numrica: Valor resultante cifrado: Aps aplicao do mdulo: Texto codicado nal: L 11 E 4 15 15 P I 8 O 14 22 22 W N 13 R 17 30 4 E U 20 A 0 20 20 U X 23 L 11 34 8 I

Neste caso, a palavra GEEK transformaria-se em KIIO. Acho que o leitor j entendeu que deslocamos na linha de baixo o alfabeto em cinco posies. Alis, o romano Jlio Cesar (13/07/100 a.C 15/03/40 a.C) j usava tal mecanismo, mas com o deslocamento de apenas 3 letras! Outros modelos de transposio

Tabela 1 Codicao da palavra Linux.

14

www.linuxmagazine.com.br

Feito isto, podemos levar adiante nosso exemplo (tabela 1). Ento, usando o mtodo de One-Time Pad, a palavra LINUX se transformou em PWEUI. Voc pode encontrar mais detalhes sobre o mtodo em sua pgina da Wikipdia [4]. Por fim, outra maneira interessante de no permitir que ningum possa ler a mensagem trocada entre duas partes fazer uso da Esteganografia (que o leitor j conhece bem) o qual realiza a ocultao (codificando ou no) das mensagens em outros meios como fotos ou arquivos mp3. Existem boas ferramentas para Linux como o SteGui, Steghide e OutGuess. No ms que vem eu irei encerrar esta sequncia justamente comentando sobre as principais caractersticas dos principais algoritmos que estavam envolvidos na primeira coluna desta srie sobre criptografia e outros detalhes. At mais.

Mais informaes
[1] Transposition cipher: http:// en.wikipedia.org/wiki/ Transposition_cipher [2] Vigenre cipher: http:// en.wikipedia.org/wiki/ Vigen%C3%A8re_cipher [3] Cryptography/Frequency analysis: http:// en.wikibooks.org/ wiki/Cryptography/ Frequency_analysis [4] One-time pad: http:// en.wikipedia.org/ wiki/One-time_pad

Alexandre Borges (alex_sun@terra.com.br) instrutor independente e ministra regularmente treinamentos de tecnologia Oracle (reas de Solaris, LDAP, Cluster, Containers/OracleVM, MySQL, e Hardware), Symantec (Netbackup, Veritas Cluster,Backup Exec, Storage Foundation e SEP) e EC-Council (CEH e CHFI), alm de estar sempre envolvido com assuntos relacionados ao kernel Linux.

Linux Magazine #87 | Fevereiro de 2012

15

Coluna do Augusto

Em 2012, aprenda a programar


Seja para desenvolver e modicar algum programa ou simplesmente para entender o que se passa no seu computador, nunca o conhecimento em programao foi to importante como agora.

COLUNA

eitores da Linux Magazine j tm fartas oportunidades para aprender alguma linguagem de programao: por aqui j foram publicadas sries memorveis de artigos de expoentes do desenvolvimento, transmitindo seu conhecimento e tcnicas em boa parte das tecnologias atuais populares em ambientes Linux. Mas aprender uma linguagem de programao no a mesma coisa que aprender a programar. Quem j aprendeu a programar geralmente no encontra grandes dificuldades em fazer a transio para uma nova linguagem ou ambiente (e este costuma ser o foco dos artigos a respeito), mas aprender os fundamentos da programao em si usualmente exige mais esforo e algum apoio interativo, de preferncia vindo de um professor, tutor. Embora as sequncias, repeties, decises, entradas e sadas sejam tcnicas simples de descrever, aprender a us-las de forma estruturada um desafio para muitos, que nem sempre encontram os recursos e a motivao necessrios para super-los. Se esse for o seu caso, ainda estamos suficientemente no incio do ano para que eu possa aproveitar este espao para lhe transmitir um convite: que tal incluir em seus planos para 2012 aprender a programar, mas de uma maneira diferente? Esta proposta circulou bastante na virada do ano, vinda do site Code Year [1], que vai oferecer lies interativas semanais de programao, e promete que os interessados vo programar aplicativos e sites antes mesmo que se deem conta. Como muita gente que deu seus primeiros passos na programao usando BASIC nos computadores pessoais de 8 bits nos anos 1980, perfeitamente possvel aprender os conceitos bsicos usando um ambiente interativo, e essencialmente isso que o Code Year oferece como complemento as suas lies.

A proposta interessante, e centenas de milhares de pessoas se inscreveram nos primeiros dias do ano. Elas j passaram pelas lies iniciais e, provavelmente, se divertiram interagindo em seu prprio navegador para ter um primeiro contato com a forma como operaes aritmticas so definidas e resolvidas, como obter confirmaes do usurio e outros elementos essenciais (como variveis numricas, strings, vetores, selees, repeties etc.) que, aos poucos, vo construindo um primeiro programa. s na altura da segunda lio que o aluno chega a ser informado que a parte introdutria do curso usa a linguagem Javascript e, para ser franco, a forma como o curso construdo me surpreendeu pela linguagem que se adequa finalidade de experimentar interativamente os rudimentos da lgica de programao. Aprender a programar pode ser til para quem quer estar apto a desenvolver ou modificar (no esprito do cdigo aberto, claro) aplicativos, utilitrios e complementos que lhe interessam, mas tambm, pode servir para, simplesmente, entender melhor o que acontece nos bastidores do seu computador, como usurio ou gestor. E a quem j sabe programar, apresento duas extenses do mesmo convite: que tal aprender uma nova linguagem ou ambiente em 2012 e aproveitar para ensinar os primeiros passos a algum novo interessado (talvez at com ajuda do Code Year)? Eu j coloquei em prtica os dois enfoques, e estou gostando. Experimente voc tambm!

Mais informaes
[1] Code Year: http://codeyear.com/
Augusto Csar Campos administrador de TI e, desde 1996, mantm o site BR-linux.org, que cobre a cena do Software Livre no Brasil e no mundo.

16

www.linuxmagazine.com.br

Em 2012 chega ao Brasil a maior revista alem de informtica e tecnologia

Teste | iPhon

e 4S

iCloud

Tes

one te | iPh

4S

O
Teste | iPh 4S one

de sinvel tes e os o ren tam dife o mes. Tes aes ena ente a ant ias situ exatam nov vr el faeu em nec possv a 14,4 nal perma no 4S. vez 4S cosa one 4, mas suas a ele no 4 e eira e em prim no iPh ren mo texto r a dife ssor. Pela nloads do iPhone manec per qual pelo ece Tal e mesmo determina se ant uciosa zer dow o dobro upload de Mbit/s, e de a sair Nem de-se 4S e o min o eiro po iPhone para o o fato ocidad uns prim com os tas re o a com es com m alg faz vel foi o Apple 4S s um detalh estare que model , ent da os de one 3GS Apena revelar volume baixo, o de proiPhone ricas don fb das mas os tir do iPh o ou do s pode tes de is para inhas feitaper 5, par os bo tros ma umas cap mais gera alizado iOS nas sa eira ra milmeque alg encaixem smo est caa ser atu a libe antigo terc car dimais touch de podem sistem mite com no se rena metas na o per as do e iPod tambm O nov nes e feit teo . A dife as pre esquer rutura 1 e. linh o iTu es sejam iPad ament a est molados mente novas do dos idindo s gratuit arras com aliza a acordo , dua mnio, res, div atu tra trsrio par a de alu as am uras rias Fi. fut traz, melho i- de o superio tes, con necess is um que ar, via Wi- ema 200 de not reit tro par Isso foi de ma que sist o defeito depelo novo , mais de ema ovado, em qua erior. stru o O ant um ple con o sist era ren uma uen nov delo dar a e rige a Ap peq segucom do um app Cm (tarefas) gra- acomo que cor 4 a um as: ao inte , neira, blic incluin s, um app bretes agora antena o iPhone s p certa ma rede lem igo e cae de Ele est o ant elha- levou de rela uma sinal da one lista ual. ui esp iPh ree de ,o uma virt substit ge e faz indo que sastre telefon ena Com o ca as . itter, o a ant ssa ban um a mit ao Twpelo iMe lay, per ada a na rar pando a o ralo mais, gra import do par o S o AirP TV conect est de- tamular ia acontece s. N a recepde SM com que em a cel no antena relho, eo os , mento a, em um ent ram o apa . nossa 4S isso cia de tam Ent em porma ure dn ra cta se vej TV, exa fone. o, dun se seg inta idades A out Apple seu tele as nov iOS 5. tware como manece da recepado com do tela sobre ess al sobre o do sof a usu- o per lidade aument es A quano ter talh a especi de do lad web par ou PCs, matri novida servio t, Macs s mat- parece grande ud, um er iGadge icamo iClo ded . lqu o bm o de qua rios o qual tam nessa edi para pletas com rias

iPho Teste |

ne 4S

r elho zes m co ve e o iCloud Cindades do iOS 5 novi


As

iPh

m fora nhas r c entra melho suas oS dos, Mas rpi or. re e ais cess sm wa ante co hard Siri. seu e, gr o ao fala l-Cor ca. de ual nov e bran te ig dor Dua ento preta so en o cores sa ecim am el nas am atic oces disponv conh est pr Test ne 4S vo pr e de re 4S O iPho s: no ar ,o fora rada softw Por elho novo to m eo mui S5 ann a, iO Ehrm mer

on
phan

e4

a iri n

tica pr

por
12

Ste

iCloud oo ecentem do servi bacana ente o pelo agen Outra parteFotos. Se ativad todas da est , na reda Contatos e comprom iCloud no que nalmen o: Min pode artilhar issos Com os endereos MacBoo PC casa, ha Essa opo no Comp o recurso faz com capturate igua no bm dos servidores io, 30 dias aplicativos. uer momento foi para compromis pa! O k da editora. meu iPho lzinha e ou ltimos tos e de s- usur ta do incorpor sos e contatos time ne e O iClo > Diagn da a qualq fotos dos ra do seu iPhon Fotos com o ado na da ct iCloud. no soluto. Apple infelizment a ud et as ser altera Geral > Sobre entr guro cme acontece e no uma ncia de em seu iGadg a arqu Ele perm verso grat colega O que pod ou em siln supimgenerosa. Mas Outroraassim to das pela ssim como a Apple lana Sequ enados nos Ajustes, Depois disso o ite o ivos emo uiquem j criou iCloud umuma cio ab- Mac da X, sisteele tentrepresentant s dizer isitos: problem adicionadas dos e armaz conta no iCloud, sua casae pastas que acesso se- usado qua do seu Mac OS usar! tico e uso. tador ao seja uma diposistivos a apenas traz novos pr-requ atualizada pretend ndo um esto os anos estar pronto para servios ado iron e de vend nosso do escr a part sejam envia Apple. Os uma migrao de todo nova ou fotos, online da Apple verso l todos no o de icam dos exec as? ir do do MobileMe, itrio, s os don ores da O novo1000 at servio val de e se enc grupo de truque de sincroni ente dize Teria pode com se cional mve ente com um facilmente encontrar utivos, ago sem ontrar nublado do tam- servid iOS armazenam no tem limite amigos iOS 5 ou Mac OS ma opera a com pu- exem msica r que solue criar um sozinho os en- os de um nenhumvelho e que zao j Esse ano, Parcialmente PCs s com tne ra um velh dereos dessese-mails, Mac, iPho 2007, juntam plicaequipados com e conte ndo da com plo, sem em cam em um festi nome at iPhone. servidores.com Macs ou desde domnio l VPN ou dados a nov sisaoos dispositivos o iClo eram um propsito do? An o conheci lo de O endene, iPad promisso mas os no te migra reo para o servidor idade apenas de enviar o faz juz ud no entou o a nec po aberto, , isso troca de usar telefonarem s Snow al, ou iPod novo mode de s para a essidad que a empresa . O recurs do esa apres volvedores A de calendrios por gradualmen s, endere nada o obje era Leopard no func dinmicos. deze pessoais encontra-se em a empr touch: ter antigo .Mac o MobileMe e abalar o mun nas nuvens. O e de bm vm USB com o iTune anos j algum ento, ou seja, iona A con tivo O iC nas de desen . os e nota A porm, /Library/Calendars, atualizad se mais de . H podem brincar leto aos o via ento. o mom seusendere j permitiam at mesmo - o recuApple trou trole seja olou em um arquivo X de fotos. do iCloud oposto, vezes. Caso no s em todo o rolo10.7 as fotos capOcu d bast .plist tema compantes do lanam empresa conex et caso se queira contatos, caos, com rso Busc xe ao iClo e mui algumas partes e equ o ou promque ca dentro os instantaneam s, vdeos para Inov M ltar dos cheg s do diretrio que s os seus ,a de todas direta- usurio que aou tas ipar ete isso trs mese quinta verso alm das intern el obter email s de contas comea com ente. O lava srio o Uma cpiao iOS enviada paraso dispositi outras coispromissos, favo ao o iPod touch).ar meu iPhoud tambm backup aoac ou Seguidores.usarco imp uma e muito sequncia bizarra deixa claro apena alm: o Mac OS X 10.5. Mas na novo serv online ortante as. Mas - possv e notas atrav IMAP. Servine (ou iOS mm com . Nun foi de letras ritos O , mas mais, mas pena vos ca funcio rios o iOS 3 ou com turadas ou ir um passo iPad iOS. At an no, e termina compor Leonh e nmeros io grat o perm inclusive servio pag a nuvem assim como uitas ache te de disp e cunov a extenso .caldav. resolveu melhorias e novas concep- lend eMe, Exchange Buscar iPhone, tambm ard Becke at mesmo com e para uito O iCloud ar cem dla i que vale ele fa- que itindo que estendid de localiza- , backup, entocesso ositivos staom uem a o Wi-Fi, o novid o funcionamAs fotos da r e Ole O endereo para Mobil os ment no deix o que inmeras que vo desde Meiners mquinaes prec responsvel com en uma conex nais como que Appento r, le supi res por isso. sse a res cidos ou fotos. aes r todos computa aos Mac com est A conta de e il a de ter ades no e-mail do iCloud pod DAV ca escondido o servidor Cardisav m de apaga e a sincro- com receber novas a de notic ce, o os adicio pelo pode ser visualizada de Fotos nalidades, suas man gratuito em mpa, ape Aha! Assi chances roubados tenh dores es-s, um cab dot com a ser as algun os (de gr gra rec o iCl comea com usurio ilidade para IMAP, como o Mail b i amente em qual basicamente qualquer para 5 GB novo sistem es de interfa feito ou do nas entranhas ainda mais funpor Markus Stbe lam Sequncia amente o USB a possib do OS X 10.5. Apenas , con m com de sere aa!) fazem cliente com s de o do am mai saectado na s se caso tuito sinc os us nadas cem autom mento has. capa sua verso nas porar. O d n ndo do do sistema em as notas cam separadas suporte a nome no servidor. ical com t Por , dados remot nos detalh do Safari Library/Application / cidade o- serv roniza Maera o iTun udad com rvio que em uma pasta normal do adicio tambm apare dispositivos bsica mquina o no iOS, m encontr urio zero o ser s, nem e serve paco o tem at peque seu cordo umbil mais seus o dos favoritos nizadorenas nuvens. os es Suport/Addressde arm rkus de mesmo s pod os don ado ios do o sem o es. Apesar , alt o deste ano, iPhoto oM do s foram no gem, Book/Sources. s de niza em todos azen St ciente vio. que sej para te de qu no outubro os dess s. feita . O recurs iOS 5 corta partir de agora Tambm aqui obile bloquea em enviar diversas s mais expeMas para com men iCloud, ela beser um da erna Caso ticamente a essa conta o e deve possos sinc a- mente a ap a ma entra e as s. A vel achar um utador s uma rem parte, desde. novidad tivas po, rien Me, conta o iTune da arquivo Congurat ior roen seus r ou apagar mensa- libertar te na estratg se encaixa dos os um comp po para conguovido lizar seus iPhones iCloud es no tes vo acha conectados em uma seu o por padr dad pelo ion. no plist dentro de seus nvel de-se voc 5 GB as pa ia do para o iOS 5. iCloud. necessrio ou Windows para caixa e novo iCloud consiste Por den uma dispositi ia da App perr locaUm outro os distnc completa- amarras @me.com) - no vem ativad nte autorizado um s. Pa falta de sej ra tes s da Mas para uma au corretamente X O ma para com uma sequncia pasta nomeada recu endereo lizao, tro itame ia. no app Notas e, calen parte do servio ra qu rncia com Mac vos mv le de m no Mac OS O iClo sisBasta tirar is ba at menta pois de am ins tar cem em de letras e nexiste uma entrada no OS meros. seres X 10.6, como uma email (com o de contatos, notas ser explic fotos apare app Fotos. s e PCs 55 GB r o desta rso baseado eis das ud da nuvem de foto iGadget. atualizaes do rat de u em mer mera As hum rar seu de e-m subpasta da seo basicam e vez para para .A o do s cap niza jantigPara os o que o e o preespaoum tem Apple utiliza para pelos fundos. A Lembretes em usurio. app Ami anos, mesmo dos cado favoritos de fotos ial, dentr e sincro ente Ambos os arquivos eu uma . Se voc j seus che Compart iGadgets turadas transfeo e-mail, calendloca envio ail IMAP usar. At um lembretes, iGadgets e podem ser aberps e envio pelo ar o . das o, pre que do Mo o co dispo com rios e contatos mente gos, disp ga na form lizar lbum espec2 tambm receb er a Sepela esses ltimos sistemas, estiver com tos em editores drios, notica servio os padres IMAP, Vista tros tipo ilhar Foto ca a carg c-mails, via push TV onibiliza os seus tema, backu r so feitos duran cis j us bileM ntinu receb de texto simples, ows possvel at a 4. migra e sinc Cal- mesmo editar zar o na App Stor DAV e CardDAV, O Apple s. Para av com utado como o s de do grat do Doc o TextWrangler a entre todosOS X Lion, Wind para poder ar todas as e. roniza es de seu com o iOS respectivamente. favoritos prom o texto das notas, o comp todos o do (gratuito na App umentos arquivos Mo ram te ess aceitar am o calendrios atualizao uitaisso e mostr gicamen marido e. Alm endereo de O mas re). Procure LED impossvel os ouStoa bil Macs com s, contatos e ser Os acesso aos servidores nos mais antigos apenas da novidad e tarefas, s, agenda o de ede Fotos ou que era na Nuv deve-se pelo termo iCloud na sua TV dos eMe de co muda algum vio via web. a leitura L mesmos te apenas seus lho localiEmail quncia esto at mesmo usar o e Bum! permitida, sendo nta em. ou 7. est o nosso Todos raas direto listas Por si e em rela esse ltim , notas, acessveis em s ain na. as pe hosp de 20 pode impossvel criar ente. tempor pos a aprova s lom so suas fotog tambm de suporte ocial um documento vas notas umbilical s necessrio a Os rm no- nome desses endereo. No geral, o ou edit-las. no seria esse con o ao Mobo uma svel ma da ao edag 12, o no site da empreCordo 5 no mais o ou res- tamb drios incluem no novo app de 60 automgicam qu o dos Ningum bordo! rio servidores deve mem iCl sa. Para receber em seu nter, ativas e iOS ser algo ileM calen est como p04-caldav. ativa bro do localiza obter aces grar gle, Yah m l essa junto de me oud. e-mails o endereo Com o de acessveis e podem ser do icloud.com para s para a ns ou iPod recursose. com o nto s cois j No imap.mail.me.com sit iDisk, at tarefas, oo e iCloud o de qua so tar para o iClo forando 5 as os bro mais as, j de acesso, nas nuve os usurios entan es, pa Ga meatantos usar o iTune um iPhone, iPad convite de retes do iOS voc seu nov e para enviar lquer s pesso ud. que ou s leria iTunes 4.3.3 TV, -mails endereo de ea ral outros que Goo algo chav do Mo contatos to, com outra Apple menos a do iOS irrecusvel iTunes, Lemb smtp.mail.me.com. taurao sries de s muito concordar Mac com o iPhone possvel con mio co elame e artilhados mantm mesma oferecem ao invs do A partir O nome de usurio msicas, 4S . til de co cativ es, sen bileM via USB o da ecpagand na iTune touch. Ao tar o dispositivo cois as- comp e a senha so e, a m ou mpart nte o iClo em grupo .com tambm podem baixar man ou seu ser os mesmos usados educado instanos e has, compradossitivo autoriilhaud livre a. Mas a sin tro para uso do. Mas . O processo eira trad novo no end a, inclusive do seu Apple para conec ido por um do iCloud r meu iPho- livros e apps iCloud j est disponvel gradispo icional, de ereo ID, inno tan itens prefer croniz s mempara que ajuda clusive o que vier No site at receb do o ao Busca n qualquer ctiva. ea usar do ao www.ic acesso via prourao, Alt voc os depois do @, j Entr mai quem quiser. o iClo e o acess aos documentos s Store em um ernati mente Dash cias que respe de cong a, o pas, ativar preciso um e-mail tuitamente para Com tm pode etanto, nem loud.com web ud s rpide de a sistente criado pri- oferec vlido para poder vai alm. pela conta preciso entrar iClou conta vame parte board O 1Pa ap assim como er o idiom ao e a sua se registrar no Keynote autoUsurios do MobileMe todo . requer en- zado iTunes na nuvem de baixarde escolher para nte iCloud. Pode ser a escolh do o ne, , Numers ou d sero li- me ssword O conta at sep mundo a de localiz o. A ativa um automaticam endereo @me.com a oportunidade sma pode passa ou um um Mac roda festa. O ara ento a opo compra feita anA Pages e enviados ador servios rede sincroniz ou o servio riorm anua o ve da voc tem o sem registro uer dispositi -se do. ndo o internet. o de e-mail qualquer. outro enderesem Com a no iOS . Pelo naveg baixar ele, amente qualq usandoos seus sua entre continuar todos l do ncim para en meira conex conexo OS X o de criar vo ou a turm o ou as senhas para 10.7.2 uma con- te para a nuvem apagar ou uma mesen mu te mi us Tanto no iOS 3 nos a dos rodando em mtic tigo at a data desvenciment vez para ar, pela s Store requer com ade no escolher gra Mobil to de ar o dar tes, exig quanto no Mac ou a o pular el duplic ento disponvel de na iTune intern coletadas r eM OS pode-se X 10.5 podemos o Win ente, sup PCs a App iOS 5. cadastradoou ente nova um possv assinatura anual necessidade e pre po de ve a sua ess pode seguir, et, usa dire su entrar esses dados dows de ortando le messve z pa uer docum disositivos eliminando a aa, do iCloud. completam documento conta e po a ac e ser ndo inc manualmente mos uma li- de ndo tament lha ciso , dentro da Maria-Fum ste gurao o de dados a partir s ou qualq formatos. Um pode ser baiem uma nova a voc Vista. Mas inclu ess vidor o Dro e ser l mescl ra a no lusive da iTune ma conta favor do H, pormest o fato antig conta sive o. MobileMe descar- te IMPA no Mail iCloud o po como ns pbo entr os comp conta cu A est re va. recupera pode estar no o digitar vrios te, por exemplo, e usar l, PDF ou de sincroniza a opo de a usar os mostrare x. ida ar esc praticamen der ar. dispos que to rigina nessa em mquina e-mails normalme nossa conta de Apple ras na com doso duas Como Keyno Chav ele funciona com suas com- da precis servios que ao ativar ser Se for olher backup, el subir itivos edi nte. seu forma m antigos s velh tico de . Para isso mitao: os equipamentos ligado a at on do um , caso s lojas a qu com conta notas so movidas At mesmo as Um eiro xado em . Tambm possv conect inhas O recu o. ma no Bra de todos autom -ID ca no iCloud ento a da al ser a esc s, ionaesses proa s estaria para uma pasta de ainda co is rp sil, no possvelseus ado que at rso De serem das pa para sem prpria o que ameteApple-ID. , o usurio quest s PowerPoint atveis com navegador. regam iOS, o Apple dias. atualizouMacs s em Apple. Quem ainda 5 ou seus seu fune Ma s conta ntrri app e o fei oVolta ido o no comp dado 90 uma pras no s pa clu pelo de por mui aqui era com o ou subs rtes maviagem . ltimo ansios ao Meu j que so apenas de se admirar, s ser o a de msic tas parao o iOS da Apple a arquivos a enviar novas do Por do iCloud sto sozinho iGadgets ch e , da mes- ele por no mnim na loja fora do iCloud, compromissos rascunhos marcaa dispo s para o mos auMac no s ex ra mu tra sped a da pesso aves, tituda is co arm fun o Dr a assin tos com podem pode-se acessar os com -ID est debaixar contuita dos de 200 ist um op cio o mot considerado , uma etiqueta mp para OS X Lion para um tanto irrido se estari s atura stico anni . Segun- grama volvedores seus apps nu- mudar ooApple ou ento pblico de calendrios so to impossveis o gra so so da e subsitos do ti ida de pro ais. rsive na no box. azen-la especial. A , mais ivo desen e diagn ento Isso o anual ar Apple partir do iOS o auxlio do compartilham 10.5. J mudanas em eventos existentes O sis seja, a sin licada fun gra O iClou Apple titu s ser ca. de uso segundo a Apple. mas pordesca aliza para a do Mob para pag 4, as notas aparecem Ao assinar o URL apropriado de mos Os maneira, integr entos en- qualquer mom Apple X exemplo, Com propriado u servidor touch alg cro s de e ao dame tem da para com ap mo A partir na nte te, atu anni no iCal do OS tos um docum vi un tuitos id CalDAV no iCal, aqueles que, do do a ios ileMe, ar e-ma d faz a sincroniza nu iPod pela internet mesmo iCloud at mesmo ct espec tomaticame esses dados , informa- ma sincronizando tante paraalmen a da s suas nizao nte 12 nova os dados do calendrio bileM s so , ma e mu altura os ex lha iOS que Wind ps dis autom daqu vem do usur il, por sem o Lion. tamesa, tedo manu um Mac novo com o Lion 77 100 deo ial 02/20 Segun so atualizados criao de novos. coisasial 02/20 do vem, s po itas iOS 5, at em iClou exemplo. o de meno e. dispositivos . Ele - te m de que fer integ Apple senha espec da a empr possuem 12 da atua- quanto a ti i, tud sob seus daows. Umponv ct especial 02/2012 e, o iPa Em comp m s itens entre outras ct icaes web. d.com s todos os s cons forma ram rado ou no querem em Romp melho r iss vezes ct especial 02/2012 eis co, inc o tes no on o via to -am guard do em comp . ensao, e espec penho e tre outro pre incluem, Elas mas no podem eg s ma a desva para o iPh) trans entas ao lures o me no arao sem o acess presen sa er eri hardware agora OS iOS is vanta s for da com o que smo ao Mobi nave at co uem de desem amen- mas pode-se j foi cano a do es de para esquerda e ser paren que tra X ma ser sigilo ntage leMe, mtricas congura Dr ecos o Mo dada iPhone 4S (es de volume. dos equip vid gens necedo como m sos usad gado nseg to te rar sistema, ba- proble notc opbo vio r regra 100 o uso ore e co sistem ue res 13 estar aguar ce-se o ker on s de e-ma as regras de bot s em conc res 113 plo 112 ma ia ma x, usad as na wo e arm m int confo amen dados sobre ret a a dos tem ntar , rd pa s co is de que no line no o il na vers rd Bec reconhenhaacim fun tm-se Cupe as. Se automas no intern aze egrar rtveis. - Sto o web, alg com diato Leo a cio re e ra ma m seg uma passa rtena -se por a pret um perso nand ainda rtino ca um atica Finde et, ma r as a ve aos De ime pela linh ct especia c cu ura vez do as do r l 02/2012 O O l 02/2012 exata naliza o. Al parte ir, po s ser ct especia seg 1Passw mente no so s as senha 6 tan Keyc rso pa sta US na. O sobre apenas ap s r ue ord , por 1Pa supo chaves Qu mente r as m dis dos rec exem - autom sin para to na hain2Go ra iOS 50 ct especia ssem cro ex so na ofe l 02/2012 l 02/2012 sim custa sai po rtas , po ursos App impo atica nizar um de emplo rtada Este iOS, ma vers s ct especia s r ple no o de ss pre suas sm um de rtar, mente sua ba sses qu . 101 um progra s ain para apen US 10. 76 ser vel se for . O a em ente cisa ch ne po se e ma da est OS X as US ves aves esq do cessi vios pre tem pre progra de da con- ele rod uco qu sa de uec iDi dade ciso, se do OS e sen a em difere um em fas anto ma do sk ct esp hosp -lo e po s. site redigi X, pa has do o seu po s pla nte doa abord e beta. ecia edag contr de no s ac tar tod ra qu Acess mo de l 02/ de Poste um 1Pa agem 2012 e vo lho em atar fun ssw ula os os c no s Ch rio de do ord si- leo rmen dos ao seus ano o : para em um te Ma lon registr precic os outro ct espe arq poss go cial 02/2 s dis uivo vel sal dos an em 012 positi loc os va vos al, trans r a co . em O Key um fer-lo a red ct e com chain2Go e o com progra sincro iGadge ma Ace niza ts. sso seu ban s Cha co ves de dad do Ma os o c OS Xe

o futuro De volta para antigos equipamentos


iCloud em

iCloud para

Entre o cu
todos os gostos

iCloud

R e a Terr a

Com pleta ndo

Dan

a d

o iC loud com outr os se rvi os

a Ch

uva Q

iClou

101

Em maro nas bancas!

Resgate de dados

Ao resgate, homens!
Que atire o primeiro pendrive, aquele que nunca perdeu um arquivo precioso, seja por acidente ou descuido. por Kemel Zaidan

CAPA

uem nunca perdeu um arquivo ou pasta importante, de certo no tem intimidade com computadores h muito tempo. quase impossvel no passar por alguma situao desse tipo um dia. Mas fique tranquilo, se esse o seu caso, certamente este momento haver de chegar para todos, porque como diz aquele outro ditado americano: "sh*t happens". Motivos para desastres no faltam: talvez voc tenha arrastado acidentalmente uma pasta para a lixeira ou quem sabe derramou caf no seu HD externo; ou mais provvel ainda, tenha formatado uma partio perdida em sua mquina para poder testar a ltima distribuio Linux do momento, sem se dar conta de que nela haviam arquivos importantes. Independente de qualquer sentimento que possa advir dessa situao, muita coisa pode ser feita para recuperar os seus dados mesmo que voc tenha trocado o sistema de arquivos da partio comprometida. Para no dizer adeus de vez coleo de fotos da sua famlia que voc acumulou por anos ou ainda s 15 temporadas completas do seu seriados favorito, preciso estar preparado no apenas com as ferramentas certas, mas tambm com o conhecimento de como utiliz-las. No campo do resgate de dados, o Linux se destaca, pois sua capacidade de interoperar com diversos outros sistemas operacionais e de arquivos faz dele a opo ideal para esse tipo de uso. Junte isso possibilidade de executar o sistema em modo Live-CD e voc ter um kit de ferramentas bsicas de recuperao de formato simpleS e sempre acessvel. H

inclusive distribuies dedicadas a esse fim, como o SystemRescueCD ou mesmo o bom e velho Knoppix. Contudo, de nada adianta ter todas as ferramentas na mo se voc no souber o que elas podem fazer por voc. Duas das estrelas dessa edio so o PhotoRec e o Testdisk. Com eles voc poder encontrar arquivos perdidos na imensido de seus discos, mesmo que esses j tenham sido formatados mais de uma vez. Por isso, da prxima vez que algo do tipo acontecer, no deixe o desespero tomar conta da situao. V direto para a sua coleo de edies da Linux Magazine, lembre-se do nmero #87 e das pginas que vai ler agora. Boa leitura!

Matrias de capa
Ufffa! Visualize sua rede Ferramentas perigosas de teste 34 40 45

Linux Magazine #87 | Fevereiro de 2012

33

Nuvem pessoal com ownCloud | TUTORIAL

Construa o seu servio pessoal na nuvem

Uma nuvem para chamar de sua


Congure uma nuvem pessoal no seu servidor com o ownCloud. por Dmitri Popov

TUTORIAL

over seus dados e aplicativos para a nuvem parece ser uma tima soluo para muitos problemas. Voc pode acessar seus arquivos e documentos a partir de qualquer dispositivo conectado Internet, sincronizar dados entre vrias

mquinas, e permanecer produtivo enquanto est em movimento. Uma infinidade de servios baseados em nuvem de terceiros, ficariam felizes em armazenar seus dados e oferecer-lhe acesso a seus aplicativos baseados na web por uma taxa mensal ou

anual, mas esta abordagem levanta um outro conjunto de questes de

Quadro 1: Experimente o OwnCloud


Se voc quiser experimentar o ownCloud sem se comprometer com uma instalao completa, h vrias opes sua disposio. O site do projeto mantm uma instalao de demonstrao do ownCloud, que voc livre para explorar sem se registrar ou criar uma conta. A ltima verso estvel do ownCloud tambm est disponvel como um appliance virtual baseado no openSUSE [3], de modo que voc pode experimentar o ownCloud usando um programa de virtualizao como o VirtualBox. Finalmente, se voc preferir testar o ownCloud em sua rede sem instal-lo em uma mquina dedicada, pode usar a soluo XAMPP [4] que vem com todas as peas necessrias (Apache, MySQL, PHP5 etc.) pr-conguradas e prontas para serem executadas.

Figura 1 A ferramenta tasksel pode rapidamente transformar um desktop com


Ubuntu ou Debian em um servidor.

Linux Magazine #87 | Fevereiro de 2012

55

TUTORIAL | Nuvem pessoal com ownCloud

funcionar como um servidor tem os componentes necessrios, incluindo o servidor web Apache, PHP5, e o servidor de banco de dados MySQL. Um grande nmero de fontes na web pode ajud-lo a instalar e configurar esta pilha de coisas. A maneira mais fcil de transformar uma mquina em um servidor instalar a verso servidor do Ubuntu. Alternativamente, voc pode transformar um Ubuntu ou sistema desktop regular baseado em Debian em um servidor usando dois comandos simples. Para instalar o pacote tasksel, digite:
Figura 2 Instalar o ownCloud um procedimento de apenas uma etapa.
# sudo apt-get install tasksel

segurana e privacidade. Alm disso, servios de terceiros vm e vo. Mesmo os servios mais populares e bem estabelecidos na nuvem e que parecem grande demais para falhar poderiam desaparecer com o tempo. Em teoria, voc deve ser capaz de recuperar seus dados, mas as coisas nem sempre funcionam na prtica. Mesmo que voc consiga recuperar seus documentos e arquivos, a migrao para outro servio baseado na nuvem pode ser um tanto demorada e cara. Em vez de confiar nos servios da nuvem de terceiros, voc pode criar seu prprio servidor na nuvem. Desta forma, voc no tem que pagar pelo privilgio de acessar seus prprios dados e pode parar de se preocupar com questes de privacidade em potencial. Claro que voc tem que considerar algumas coisas antes de ir nesta rota.

Para comear, voc precisa de uma mquina dedicada ou servidor virtual, bem como uma Internet confivel e relativamente rpida. Ter o seu servidor prprio na nuvem tambm significa que voc tem que mant-lo funcionando sem problemas. Em suma, voc deve considerar todas as vantagens e desvantagens de hospedar seu prprio servidor na nuvem antes de fazer a sua jogada.

Em seguida, execute o comando


sudo tasksel no terminal, selecione

Implementao do ownCloud
Entre as vrias solues possveis para configurar um servidor pessoal na nuvem, o ownCloud [1] o mais promissor e, provavelmente, mais fcil de implementar. Mas antes de instalar o ownCloud, voc precisa fazer algum trabalho preparatrio. Para comear, certifique-se se a mquina que ir

o pacote LAMP Server, e pressione OK (gura 1). Alm do MySQL, o ownCloud tambm pode usar o SQLite como seu banco de dados, que uma boa opo se voc quiser uma instalao mais leve e compacta do ownCloud. No Ubuntu e sistemas baseados em Debian, instalar o SQLite uma questo de execut-lo
# apt-get install sqlite php5-sqlite

como root. Uma vez que voc tiver feito isso, tem que habilitar o suporte ao SQLite no Apache. Para fazer isso, abra o arquivo php.ini para edio com o nano, por exemplo:
# nano /etc/php5/apache2/php.ini

como root. Em seguida, adicione as seguintes linhas ao arquivo de texto:


extension=pdo.so extension=pdo_sqlite.so extension=sqlite.so

Enquanto voc est aqui, pode querer aumentar o limite padro do tamanho de upload para arquivo. Para fazer isso, localize as seguintes linhas e especifique os valores desejados:
Figura 3 O ownCloud pode lidar com vrios usurios, e voc pode organizlos em grupos. upload_max_filesize = 2M post_max_size= 2M

56

www.linuxmagazine.com.br

Nuvem pessoal com ownCloud | TUTORIAL

banco de dados disponvel, e voc tem que escolher o que deseja usar com o ownCloud (figura 2). Se voc optar por MySQL, precisa entrar com os dados de informao de conexo, em seguida clique no boto Finish setup para finalizar a instalao. Uma vez que o ownCloud est instalado e funcionando, voc pode entrar com as credenciais especificadas anteriormente.

Usando o ownCloud
Quando voc loga, o ownCloud automaticamente te leva a seo Files, e voc pode comear a adicionar arquivos e documentos imediatamente. No entanto, antes de fazer isso, uma boa ideia fazer algumas configuraes bsicas. Se voc planeja compartilhar sua instalao ownCloud com outros usurios, deve criar contas para eles. Para fazer isso, clique no cone Settings, no canto inferior esquerdo da janela principal do ownCloud, selecione Users e adicione contas de usurios (gura 3). Para cada conta de usurio, voc pode especificar a quota de espao em disco para limitar a quantidade de dados que cada usurio pode carregar e armazenar. E, para manter

Figura 4 O ownCloud vem com um punhado de aplicativos, incluindo


gerenciamento de sites favoritos.

Para salvar as alteraes e reiniciar o servidor Apache, execute


# /etc/init.d/apache2 restart

como root. Por fim, instale um punhado de pacotes opcionais:


# apt-get install mp3info curl libcurl3 libcurl3-dev php5-curl zip

usando a sua ferramenta de gesto preferencial como o phpMyAdmin. Aponte seu navegador para http://127.0.0.1/owncloud (substitua 127.0.0.1 com o endereo IP real ou nome de domnio do seu servidor) e crie uma conta administrativa. O instalador do ownCloud detecta automaticamente o servidor de

Com todas as peas no lugar, voc est pronto para instalar o ownCloud. O site do projeto oferece verses estveis e de desenvolvimento. Pegue a verso que voc deseja, descompacte o arquivo baixado, renomeie o diretrio resultante para owncloud, e mova-o para a raiz de documentos do seu servidor. Conecte ao servidor via SSH e faa o diretrio owncloud acessvel ao Apache:
chown -R www-data:www-data owncloud/

Note que o usurio do Apache e do grupo pode ser diferente em sua distribuio Linux. Finalmente, se voc planeja usar o ownCloud com o MySQL, crie um banco de dados

Figura 5 A seo Pessoal contm a URL WebDAV da sua instalao do


ownCloud.

Linux Magazine #87 | Fevereiro de 2012

57

TUTORIAL | Nuvem pessoal com ownCloud

separados vrios usurios, voc pode organiz-los em grupos. O ownCloud vem com vrios aplicativos simples, que voc pode desativar e ativar na seo de Apps. Atualmente, a seleo bastante limitada, mas alguns aplicativos essenciais e, ainda que bsicos, esto disponveis, incluindo calendrio, contatos, mdia e favoritos (gura 4). Na seo de Apps, voc tambm vai encontrar ferramentas mais avanadas, tais como o gerenciador do LDAP para autenticao de usurios atravs de um servidor LDAP e OpenID, que permite aos usurios fazer login no ownCloud atravs de um provedor de OpenID. Finalmente, na pgina Personal da seo Settings, voc pode configurar um idioma e o fuso horrio preferido e alterar sua senha. A pgina tambm contm URLs para diferentes servios prestados pelo ownCloud. Quais servios estaro disponveis depende de quais aplicativos voc ativou. No mnimo, voc deve observar a URL WebDAV: voc precisar dela para acessar o armazenamento do ownCloud remotamente (gura 5). Embora voc possa usar os aplicativos fornecidos para gerenciar seus contatos e compromissos, ouvir msica, e manter abas em seus favoritos, o ownCloud voltado para armazenamento de arquivos e documentos e para torn-los acessveis a partir de clientes remotos. A seo de Files permite fazer upload de arquivos e documentos e agrup-los em pastas. Se voc tiver o pacote

Figura 6 O ownCloud possui uma marcao de sintaxe embutida.


zip instalado no seu servidor, pode

fazer upload de vrios arquivos de uma s vez. O ownCloud no suporta a funcionalidade de edio de documento, no entanto, pode exibir arquivos nos formatos mais populares, incluindo JPG e PNG e arquivos de texto puro. O ownCloud tambm inclui um marcador de sintaxe; ento, quando voc visualizar scripts e arquivos de programas, o sistema convenientemente colore o cdigo (gura 6). O cone Share ao lado de cada arquivo armazenado no ownCloud permite a voc

compartilhar um arquivo ou documento especfico rapidamente com usurios individuais ou grupos (gura 7). Voc tambm pode tornar arquivos pblicos, assim qualquer um pode baix-los usando URLs pblicas geradas pelo ownCloud. Como mencionei anteriormente, o ownCloud pode ser acessado a partir de uma mquina remota usando o protocolo WebDAV. No KDE, voc pode acessar rapidamente os arquivos armazenados no ownCloud digitando a URL WebDAV no gerenciador de arquivos Dolphin ( preciso substituir o prefixo http:// por webdav://). Em

Figura 7 Voc pode facilmente compartilhar arquivos com usurios individuais ou grupos.

58

www.linuxmagazine.com.br

Nuvem pessoal com ownCloud | TUTORIAL

Cloud. Infelizmente, o WebDAV Navigator no gratuito, mas voc pode tentar uma verso Lite do aplicativo antes de compr-lo.

Concluso
O ownCloud est longe de ser uma soluo completa e madura. Mas, mesmo na sua forma atual, o ownCloud pode ser uma soluo interessante para a implementao de um servidor pessoal na nuvem, especialmente se voc estiver interessado em hospedagem e compartilhamento de arquivos e documentos.

Mais informaes
Figura 8 Adicionar um atalho de rede no Dolphin.

vez de digitar a URL, cada vez que voc precisar acessar seus arquivos, pode-se criar um atalho de rede no Dolphin. Para fazer isso, clique na entrada Network no painel Places do Dolphin, em seguida, clique no cone de Add Network Folder. D um nome descritivo ao novo atalho no campo Name e digite seu nome de usurio do ownCloud no campo User. Em seguida, especifique o endereo IP

Figura 9 Usando o aplicativo


WebDAV Navigator, voc pode acessar o ownCloud de um dispositivo Android.

ou nome de domnio (sem o prefixo http://) do seu servidor ownCloud e o caminho WebDAV nos campos apropriados (gura 8). Para terminar, basta pressionar o boto Save & Connect e digitar sua senha. As coisas so ainda mais fceis para os usurios do gerenciador de arquivos Nautilus. Basta digitar o URL WebDAV na barra de Localizao (voc pode cham-la com o atalho de teclado [Ctrl]+[L]), substituindo o prefixo http:// com dav://. Isso abre o armazenamento do ownCloud e monta, automaticamente, a pasta de rede na rea de trabalho. Claro que voc no est limitado ao ambiente de trabalho Linux, e pode acessar seus arquivos de qualquer plataforma e aplicativo que suportar o protocolo WebDAV. Por exemplo, se voc deseja se conectar ao ownCloud de seu dispositivo Android e recuperar documentos e arquivos, pode usar um aplicativo WebDAV como o WebDAV Navigator [2], que permite navegar e baixar os arquivos armazenados no ownCloud, criar pastas e fazer upload de arquivos a partir do seu dispositivo Android (gura 9). possvel at mesmo tirar fotos com a cmera embutida e jog-las diretamente para o own-

[1] ownCloud: http:// owncloud.org/ [2] Aplicativo WebDAV Navigator para Android: https://market. android.com/details?id=com. schimera.webdavnav [3] ownCloud na caixa: http:// susegallery.com/a/TadMax/ owncloud-in-a-box [4] XAMPP: http://www. apachefriends.org/ en/index.html

O autor
Dmitri Popov formado em letras (idioma russo) e lingstica computacional; h vrios anos trabalha como tradutor tcnico e colaborador free-lancer. J publicou mais de 500 artigos sobre software de produtividade, computao mvel, aplicativos web e outros tpicos relacionados informtica. Seus artigos j apareceram em sites e revistas da Dinamarca, Inglaterra, EUA, Alemanha, Rssia e, agora, do Brasil.

Gostou do artigo? go?


Queremos ouvir sua opinio. a op o. Fale conosco em cartas@linuxmagazine.com.br com.b Este artigo no nosso site: so sit http://lnm.com.br/article/6379 artic 379

Linux Magazine #87 | Fevereiro de 2012

59

ANLISE | Ambiente com arquitetura orientada a servio

Ambiente com arquitetura orientada a servio

ANLISE

nibus corporativo
Um servio de Bus corporativo uma via expressa centralizada para dados em ambientes com arquitetura orientada a servidor. Um bom ESB lida com orquestrao, roteamento de mensagens e anlise de eventos. por Markus Feilner, Arne Rossmann e Christine Knig

e seu negcio requer o tipo de configurao no qual mltiplos sistemas se comunicam com mltiplos servios, sua rede encara o perigo de se transformar em uma arquitetura espaguete (gura 1), onde cada servio se comunica com outro por meio de uma srie de interfaces no similares. Ao chegar a esse estgio, faz sentido pensar na introduo de uma arquitetura orientada a servios (SOA) [1] e na integrao de um servio de Bus corporativo (ESB, do ingls Enterprise Service Bus) [2]. As tcnicas SOA oferecem um modelo para implementar um processo complexo de negcios por meio de um conjunto de softwares que interagem uns com os outros, trocando informaes. Aplicativos de usurios e do fornecedor trocam dados em forma de mensagens SOAP. Essa arquitetura permite que uma empresa adicione e integre novos componentes da arquitetura de software de forma fcil com mudanas mnimas nos componentes existentes. O conceito SOA tambm oferece um padro de desenvolvimento que garante a interoperabilidade com servios em conformidade com a SOA.

A tecnologia SOA muito usada para a integrao de servios diversos usados em cenrios corporativos. Um cenrio tpico pode ser uma soluo na qual informaes de clientes, produtos, pedidos e entregas esto todas integradas e acessveis por meio de um ambiente comum de aplicativos. O termo servio de bus corporativo refere-se normalmente ao componente de software que passa e traduz mensagens entre vrios servios em um ambiente SOA. O ESB forma um componente essencial que geralmente conhecido por um nome mais genrico, o middleware corporativo. Os sistemas ESB sofisticados de hoje no somente passam mensagens, mas tambm criam registros de eventos de mensagens e, em alguns casos, oferecem recursos de traduo para permitir que servios com diferentes formatos de mensagens realizem interconexes de forma transparente. Um ESB pode atuar como uma instncia central (gura 2) e remove a necessidade de interfaces independentes mltiplas entre os servios. Mais e mais companhias esto cientes da relevncia de integrar servios

distribudos em aplicativos corporativos heterogneos, o que significa que o ESB est em alta. Produtos proprietrios, como o WebSphere [3], da IBM, BizTalk [4] da Microsoft, Integration Adapters [5] da Oracle e JBoss [6] da Red Hat competem no mercado com produtos gratuitos como Mule ESB [7], Apache ServiceMix [8] e Talend ESB [9] (antigamente conhecido como Sopera [10]). O Lisog, que agora parte da Open Source Business Alliance, deu ao ESB um papel importante em sua soluo de nuvem [11]; no nvel do produto, Sopera e Mule so alternativas gratuitas e compatveis. Implementar um ESB pode ser caro e uma deciso com consequncias de amplo alcance. Mesmo implementaes pequenas requerem investimentos de, pelo menos, cinco dgitos, sendo os gastos alocados tanto na programao quanto em um servio abrangente de consultoria. Todos os fornecedores de ESB defendem que o investimento vale a pena porque torna os sistemas mais fceis de manter e expandir. No entanto, um gerente de TI ou administrador precisa estar ciente

64

www.linuxmagazine.com.br

Ambiente com arquitetura orientada a servio | ANLISE

de que a escolha do ESB significa estar comprometido com um produto a longo prazo. A deciso por um fornecedor difcil de reverter e a mudana futura seria muito cara. Consultores concordam em pelo menos uma coisa: impossvel dar uma recomendao genrica para o produto ESB ideal. Cenrios individuais, recursos dos servios e requisitos do ambiente afetam a escolha. A tabela 1 mostra alguns dos recursos associados com trs dos mais populares sistemas ESB de cdigo aberto (Mule ESB, Apache ServiceMix e Talend ESB). Neste artigo, avaliamos de perto as trs alternativas mais importantes.

Mule ESB
O ESB da MuleSoft o mais popular entre os aplicativos do gnero em cdigo aberto, com mais de 1,5 milho de downloads e 2,5 mil usurios empresariais. O software escrito em Java e componentes de sistemas existentes como JMS, servios web e HTTP podem ser integrados de forma bem simples. Ao mesmo tempo, a MuleSoft gosta de destacar o alto nvel de escalonabilidade do Mule ESB, que daria aos usurios a possibilidade de combinar um nmero maior de aplicativos. O Mule ESB, que adequado tanto para cenrios com SOA quanto com aplicativos embarcados em plataformas centralizadas, usa seu prprio dialeto XML para fins de configurao. O exemplo exibido na listagem 1 mostra a configurao para um aplicativo simples no Mule ESB. O aplicativo recebe um nome e uma URL e, ento, exibe um resultado. O cdigo primeiramente configura um namespace para os componentes requisitados. Aps um comentrio curto em description (linha 12), o aplicativo inicia o fluxo. O Mule indica uma sequncia na qual os mdulos, como os componentes, so implementados neste fluxo. O ESB

aceita a entrada que chega atravs de uma URL, como definido pela tag inbound-endpoint (linha 19). A entrada de dados fornecida por meio de um servio web JAX-WS (API do Java para servios web XML). O Mule passa essa entrada por um componente echo (org.mule.example. echo.Echo), conforme pode ser visto na listagem 2 e o componente simplesmente d como sada o nome que foi inserido. J o Mule Studio permite a visualizao do fluxo (gura 3). Os usurios de uma verso comercial podem acessar ferramentas adicionais de integrao, como as Native WebSphere MQ e Premium JBDC. Alm disso, o console Mule Management permite o controle e gerencia-

mento de desempenho. Clusterizao e implantao so compatveis na verso 3.2. Os usurios normalmente implantam seu prprio analisador do fluxo de servios (Service Flow Analyzer) para verificar conflitos. O usurio pode, ainda, requisitar suporte adicional, assim como mecanismos adicionais de segurana, como SAML e controles de acesso baseados em recursos de usurios.

Apache ServiceMix
O Apache ServiceMix uma soluo ESB j utilizada em muitos produtos e organizaes de TI. O ServiceMix baseado na especificao Java Business Integration (JBI) [12], que define um padro de ar-

Listagem 1: Congurao do Mule


01 02 03 04 05 06 07 08 09 <?xml version="1.0" encoding="UTF-8"?> <mule xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:cxf="http://www.mulesoft.org/schema/mule/cxf" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xml ns:spring="http://www.springframework.org/schema/beans" xmlns:core="http://www.mulesoft.org/schema/mule/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.mulesoft.org/schema/mule/cxf http://www.mulesoft.org/ schema/mule/cxf/3.1/mule-cxf.xsd 10 http://www.springframework.org/schema/beans http://www. springframework.org/schema/beans/spring-beans-3.0.xsd 11 http://www.mulesoft.org/schema/mule/core http://www.mulesoft. org/schema/mule/core/3.1/mule.xsd"> 12 <description> Essa configurao constri um servio JAX-WS com CXF. Ns usamos uma "serviceClass"que interface JAX-WS 13 que definimos. Isso permite que se garanta que o WDLS 14 s gerado para o mtodo "echo" (em oposio a todos os outros mtodos no EchoComponente). 15 Isso mantm nosso WSDL limpo e elegante, mas no requisitado. 16 Para acionar o servio Echo v URL - http://localhost:65082/ services/EchoUMO/echo/text/hello 17 Para visualizar o WSDL para o servio Echo v para http:// localhost:65082/services/EchoUMO?wsdl</description> 18 <flow name="EchoFlow"> 19 <core:inbound-endpoint address="http://localhost:65082/services/ EchoUMO" 20 exchange-pattern="request-response" doc:name="Generic" 21 doc:description="Generic endpoint specified by address URI"/> 22 <cxf:jaxws-service serviceClass="org.mule.example.echo. Echo" 23 doc:name="SOAP" 24 doc:description="Torne um servio web disponvel via CXF"/> 25 <component doc:name="Component" doc:description="Invoke a Java component"> 26 <singleton-object class="org.mule.example.echo.Echo"/> 27 </component> 28 </flow> 29 </mule>

Linux Magazine #87 | Fevereiro de 2012

65

ANLISE | Ambiente com arquitetura orientada a servio

quitetura to til para ferramentas Java quanto para ESB. A arquitetura abrange uma coleo de componentes para fornecer ou consumir servios, sendo que pontos de integrao so implementados como plugins. O Apache ServiceMix implementa a verso 1.0 (JSR 208) da especificao JBI e inclui uma srie de componentes, sendo que os mais importantes so: servicemix-bean: utiliza POJOs (Plain Old Java Objects) servicemix-eip: mecanismo de servio que inclui uma implantao de roteador alinhada com o EIP (Enterprise Integration Patterns) servicemix-file: acesso a sistema de arquivos servicemix-http: acesso a servios SOAP e HTTP servicemix-jms: acesso a implementaes JMS como o Apache Active MQ Um exemplo simples de um copiador automtico de arquivos mostra como administradores trabalham com o Apache ServiceMix. Se voc

quer que o copiador mantenha cpias de arquivos de um diretrio (/home/ servicemix/input) para outro diretrio (/home/servicemix/output), necessrio primeiro criar um novo diretrio para o projeto e, depois, editar o arquivo pom.xml para configurar o Maven [13], uma ferramenta de gerenciamento do projeto Apache. O seguinte comando cria a unidade de servio:
mvn archetype:createDarchetypeArtifactId=servicemixservice-unitDarchetypeGroupId=org.apache. servicemix.toolingDartifactId=tutorial-file-su

mvn archetype:createDarchetypeArtifactId=servicemixservice-assemblyDarchetypeGroupId=org.apache. servicemix.toolingDartifactId=tutorial-sa

Ento, necessrio adicionar as dependncias do Apache ServiceMix no arquivo pom.xml (listagem 3). Agora s falta a configurao para os endpoints do arquivo. Ser necessrio algo para enviar os arquivos e algo para criar um pool deles. A listagem 4 oferece um exemplo do arquivo obrigatrio xbean.xml onde tudo o que voc precisa fazer agrupar o resultado em um servio:

Em seguida, mude o nome do projeto no arquivo pom.xml e adicione as dependncias na unidade de servio (Service Unit listagem 5). Para uma implementao eficiente, mude para o diretrio com um modelo de projeto, tutorial-sa, e emita um comando mvn install para construir o projeto. Isso gera um arquivo ZIP, que pode ser copiado para o diretrio $SERVICEMIX_HOME/hotdeploy. Para mais detalhes sobre o ServiceMix do Apache, confira a documentao do ServiceMix [14]. A variante corporativa do Apache ServiceMix leva o nome de Fuse ESB e comercializada pela FuseSource [15]. A edio corporativa oferece recursos extras e tambm inclui o Fuse Message Broker (baseado no Apache Active MQ), o Fuse Medidation Router (que usa o Apache Camel [16]) e o Fuse Service Framework (com Apache CXF).

Figura 1 Se cinco servios precisam se comunicar um com o


outro, o resultado um tipo de arquitetura espaguete. No pior cenrio, o departamento de TI tem que programar e manter cada conector dentro de casa.

Figura 2 Um ESB atua como um caminho central


para que as mensagens passem entre os servios.

66

www.linuxmagazine.com.br

Ambiente com arquitetura orientada a servio | ANLISE

Os desenvolvedores tambm usam o Fuse IDE como um ambiente integrado de desenvolvimento e a interface grfica Fuse HQ para gerenciar e monitorar o ESB. Se voc estiver interessado, o Fuse Soft tambm oferece suporte e treinamento.

Talend ESB
O Sopera ASF uma plataforma de integrao orientada a servio desenvolvida para a integrao de projetos no Deutsche Post AG. O fornecedor oferece o software de cdigo aberto desde 2008. Em novembro de 2010, a Talend comprou a Sopera e, agora, continua o projeto sob o rtulo Talend ESB. A ferramenta tem uma estrutura modular: ela integra aplicativos de terceiros, processos, dados e solues SOA dentro de seu prprio SOA, suportando tanto padres bsicos como SOAP, WSDL e XML, assim como padres mais abrangentes, como UDDI, WS Policy e BPEL. Outra variante do SOA associada com o Talend ESB o Apache Camel. O framework de integrao de cdigo aberto Camel suporta EIP para negociar regras de mediao. Uma vez que o framework baseado em URLs simples, os administradores podem trabalhar com quase qualquer modelo de transporte, como HTTP, JMS (Active MQ ou outra implementao JMS) ou JBI. Os usurios podem trabalhar em rede com Talend ESB em ambientes Java e Microsoft, e combinar os dois por meio de um framework SOA padronizado. Para essa finalidade, o Talend ESB suporta os padres Java J2SE, J2EE e a API Windows Communication Foundation (WCF) no framework .NET 3.0. O Talend ESB usa uma arquitetura distribuda e pode ser implementada em ambientes distribudos e geograficamente separados. Nesse contexto, distribudo tambm significa que um Bus centralizado no essencial. Em vez disso, as funes so executadas em bibliotecas backbone de servios.

O exemplo a seguir mostra como um aplicativo SOA projetado em Talend ESB. Esse exemplo usa um servio web para simplesmente mostrar qualquer entrada de dados (echo). Um cliente alimenta o servio com dados e o provedor oferece o servio. Existe um tutorial detalhado sobre essa configurao no endereo [17].

Para criar um cliente, voc primeiro precisa de uma nova tarefa. Ento, voc pode proceder com a definio de uma entrada de dados simulados por meio do componente FixedFlowInput e transformar isso em uma mensagem XML por meio do tXMLMap. A mensagem , ento, alimentada para o tESBConsumer, que dispara a chamada de servio para

Listagem 2: Componente Echo


01 02 03 04 05 06 07 08 09 @WebService public class Echo { @WebResult(name="text") public String echo(@WebParam(name="text") String string) { return string; } }

Listagem 3: pom.xml
01 02 03 04 05 06 07 <dependencies> <dependency> <groupId>org.apache.servicemix</groupId> <artifactId>servicemix-file</artifactId> <version>${servicemix-version}</version> </dependency> </dependencies>

Listagem 4: xbean.xml
01 02 03 04 05 06 07 08 09 10 11 12 13 <beans xmlns:file="http://servicemix.apache.org/file/1.0" xmlns:tut="urn:servicemix:tutorial"> <!-- add the sender endpoint here --> <!-- add the poller endpoint here --> </beans> <file:sender service="tut:file" endpoint="sender" directory="file:/home/servicemix/output" /> <file:poller service="tut:file" endpoint="poller" file="file:/home/servicemix/input" targetService="tut:file" targetEndpoint="sender"/>

Listagem 5: pom.xml
01 02 03 04 05 06 07 08 09 10 11 <project> [...] <dependencies> <dependency> <groupId>org.apache.servicemix.tutorial</groupId> <artifactId>tutorial-file-su</artifactId> <version>1.0-SNAPSHOT</version> </dependency> </dependencies> [...] </project>

Linux Magazine #87 | Fevereiro de 2012

67

ANLISE | Ambiente com arquitetura orientada a servio

o provedor ESB. Novamente, voc pode configurar o arquivo de linguagem WSDL (Web Service Definition Language) requisitada para isso. Tudo o que voc precisa agora de um provedor com dois componentes ESB: um que aceite a requisio e outro que retorne a resposta. Novamente, voc precisa de uma tarefa para o fornecedor. Os dois componentes so combinados por um tLogRow, de forma que o fluxo de dados entre eles seja exibido na linha de comando. O tESBProviderRequest tem que ser configurado usando o mesmo arquivo WSDL que o cliente acabou de criar. Ento, possvel iniciar o provedor
Verso atual Licena Arquitetura Comunidade Suporte Sistemas operacionais suportados Servidor de aplicao suportado Suporte de linguagens para servios/dispositivos Suporte de desenvolvimento Gerenciador de processo de negcios Monitorao 3.12

para os servios requisitados. Para tanto, v aba Start na parte inferior da rea de trabalho. O cliente recebe, ento, o comando para iniciar usando o mesmo mecanismo. A edio corporativa do Talend ESB tambm suporta a integrao de plugins comerciais adicionais. Pacotes opcionais permitem aos usurios implementar o Sopera ESB .NET, Sopera BPM, Sopera Application, Data Integration e Sopera HQ (gerenciamento de sistema e servio). O fornecedor tambm suporta ambientes runtime comerciais. A verso corporativa sujeita a uma licena separada. O que faz da edio corporativa do Talend ESB interessante a coope-

rao aprimorada entre equipes administrativas por meio do repositrio Talend e o console administrativo uniforme para gerenciamento centralizado das atividades e localizao dos servios.

Comunidades, suporte e IDEs


Os trs fornecedores de ESB possuem comunidades bem ativas, embora a maior seja, sem dvidas, a do Mule, onde membros da comunidade oferecem suporte til, extenses e I-Beans que eles mesmo programaram. O repositrio Git do Mule contm muitos plugins.
Apache ServiceMix 4.30 Licena Apache 2.0 Java, centralizada Frum ativo, listas de correio Fruns de discusso, suporte 8/5 ou 24/7, service packs Windows XP e 2000, Solaris, HP-UX, Linux, Mac OS X Geronimo, Jboss, Jonas Java, Groovy, JRuby, Rhino, JavaScript Console web para desenvolvimento de componentes JBI BPEL (Apache ODE), Bpm-Script

Mule ESB

Community edition (CPAL) e Enterprise edition com suporte comercial Java, centralizada Comunidade ativa Muleforte, com extenses, I-Beans, fruns e listas de correio Pessoa de contato, atualizaes de software, suporte 8/5 ou 24/7, suporte, service packs Linux, Windows, Solares, AIX, HP-UX, Mac OS X Geronimo, Jboss, WebLogic, WebSphere, Oracle, Sun One, Tcat, Tomcat, Resin, Jetty, Framework Spring Groovy, Java, JavaScript, Jaxen, Jython (Python), JRuby, JXPath O desenvolvimento suporta Eclipse Mule IDE, Mule Studio, Proler, Japex, Data Integrator IDE, Ant, Maven JBPM, BPEL Gerenciamento e monitorao, correo do gerenciamento, ferramentas de migrao Alta disponibilidade e resistncia a falhas, polticas de repetio de tentativas para autocorreo da conectividade Filas de VM persistentes (las internas do SEDA foram a persistncia) Independente de transporte (por exemplo, JDBC, XA, JMS, reconhecimento de mensagens, transaes de mltiplos recursos)

JMX, Ant Tasks Alta disponibilidade e clusterizao de contineres JMS, JDBC JMS, JCA

Disponibilidade Persistncia de mensagem Transaes

Tabela 1 Resumo dos trs fornecedores de ESB de cdigo aberto.

68

www.linuxmagazine.com.br

Ambiente com arquitetura orientada a servio | ANLISE

Aps a aquisio da Sopera pela Talend, os usurios agora se beneficiam de uma comunidade muito forte. Uma comunidade bastante ativa cresce em torno do Talend Open Studio, com comunicao intensa por fruns e muito trabalho de desenvolvimento oferecido pelos membros. Embora uma comunidade exista para o Apache ServiceMix ou Fuse ESB, ela no possui o mesmo grau de movimentao das concorrentes. Os trs fornecedores oferecem verses corporativas. Os clientes podem escolher entre diversos modelos com diversos recursos. Corporaes tendem a optar pela verso Enterprise
TalendESB (Sopera) 4.21 Licena pblica Eclipse (Community edition); anteriormente licena Sopera (Enterprise edition) Java, sob demanda, distribuda Frum, blog, seminrios online Telefone, help desk, atualizaes gratuitas, service packs Windows XP, Vista e Server 2003, Solaris, Linux Geronimo, Jboss, WebLogic, WebSphere, SAP NetWeaver, Tomcat, Jetty Java, .NET Kit de ferramentas prprio (Eclipse) Sopera BPM (baseado em Intalio BPM), Apache ODE, SAG, webMethods BPMS Eclipse, interface de gerenciamento para o Service Registry, JMX, arquitetura distribuda Sopera HQ Arquitetura distribuda JMS JMS, JDBC

das ferramentas com suas garantias de suporte, principalmente em se tratando de aplicativos de misso crtica. Nesse caso, a organizao de TI da companhia no precisa depender da comunidade em casos de desastre. Os trs fornecedores tambm oferecem suporte de desenvolvimento. Alm do Mule IDE, que baseado em Eclipse, o MuleSoft tem agora o Mule Studio em seu portflio. O Mule Studio d aos programadores a capacidade de modelar fluxos graficamente e configurar os componentes, como uma conexo JDBC. Esse componente grfico torna possvel a definio de um fluxo genrico em um curto perodo de tempo. Apesar disso, os desenvolvedores podem se concentrar em integrar os componentes requisitados. Seguindo a aquisio da Sopera pela Talend, a verso 4.2 agora tem uma ferramenta grfica que permite aos administradores integrar seu SOA. Isso d aos usurios uma interface grfica, assim como fazem as ferramentas mais familiares Talend Open Studio e Data Profiler, que oferecem a possibilidade de arrastar componentes em um tipo de quadro onde eles podem ser combinados e configurados. Programadores podem, assim, se concentrar em desenvolvimento puro de componentes Java. O Fuse tambm oferece uma ferramenta que d aos usurios um espao de trabalho grfico onde eles podem arrastar, vincular e configurar componentes

no formato do Fuse IDE. Todas as solues so baseadas em Eclipse.

Concorrentes: IBM, Red Hat e Microsoft


Os concorrentes proprietrios servem a grupos muito diferentes. Os usurios sempre podem encontrar ajuda em fruns, grupos de usurios, blogs, webcasts e wikis. O BizTalk, da Microsoft, mais apropriado para clientes que j tem solues da empresa, pois est disponvel somente na plataforma Windows. A plataforma SOA da Red Hat, JBoss, cria uma API proprietria e vendida como uma soluo stand-alone sem Tomcat ou middleware similar. Suas foras esto no setor de mensagens. O WebSphere, da IBM, uma das solues mais caras, mas que consegue oferecer aos clientes pagantes respostas para quase qualquer problema.

ESBs de cdigo aberto: algo para todo mundo


Cada uma das trs solues ESB abordadas tem seus benefcios e uma verso corporativa com suporte do fornecedor. Os clientes podem escolher entre diversos modelos com diversos nveis de disponibilidade. Os fornecedores no oferecem suporte para as edies comunitrias, mas contam com comunidades movimentadas.

Figura 3 Um exemplo simples de um aplicativo no Mule Studio.

Linux Magazine #87 | Fevereiro de 2012

69

ANLISE | Ambiente com arquitetura orientada a servio

O Mule ESB oferece as vantagens de uma grande comunidade. Alm disso, conta com muitos conectores para servios de nuvem, como o Salesforce, Amazon Web Services ou Twitter. Isso facilita a tarefa de desenvolver solues ESB que acessam servios web algo interessante levando em considerao que a integrao dos servios baseados em nuvem com

aplicativos legados pode se tornar mais importante no futuro. Em contraste, a Talend oferece um IDE muito intuitivo para a programao de sua prpria soluo baseada em ESB. A Talend ampliou seu portflio para incluir uma soluo ESB e est gradualmente chegando perto do Mule. O Apache ServiceMix e Fuse ESB possui uma curva de aprendizado maior se comparado aos outros forne-

cedores, sendo assim, prprios para desenvolvedores experientes. As principais vantagens desses programas a excelente interoperabilidade com outros projetos Apache relevantes, como o Active MQ, Camel ou CXF. Alm disso, o OSGi (Open Services Gateway Initiative [18]) criou uma base atemporal para uma plataforma de integrao baseada em um padro reconhecido.

Quadro 1: Anlises de ESB


As empresas de pesquisas de mercado Forrester e Gartner investigaram de forma constante os ESBs em anos recentes. Os melhores produtos so destacados como lderes e os de desempenho mais forte tambm so recomendados. Os bons fornecedores de acordo com a Gartner so corporativos que tm solues ou tecnologias inovadoras no portflio e cujo uso tem alguma inuncia no usurio nal. Dito isso, os candidatos podem pontuar de 0 (muito fraco) a 5 (muito forte) para cada caracterstica na pesquisa. Uma viso geral dos resultados: Fuse ESB 4.0 baseado no Apache ServiceMix foi listado como lder no estudo de 2011 da Forrester. Sua orquestrao ganhou 5 pontos, a arquitetura cou com 4.88 e as conexes com 4.70. O BizTalk cou como lder em 2010 de acordo com a Forrester. O analista investigou o BizTalk Server 2010 e o ESB Toolkit. O BizTalk alcanou um bom valor de 5 na categoria Estratgia. A IBM tambm foi citada como lder em 2011 pelos seus produtos WebSphere Enterprise Service Bus Registry Edition (WESBRE) e WebSphere Message Broker (WMB). O IBM WebSphere Enterprise Service Bus (WESB) garantiu um lugar na categoria de forte desempenho. O levantamento da Forrester v o Mule ESB 3 como de forte desempenho. Seus principais benefcios so conexes 5.0, arquitetura (4.70) e mudana e controle (4.47). A plataforma SOA JBoss 5.0.2 foi listada como de forte desempenho pela Forrester com notas de 3.98 para mediao, 3.37 para mudanas e controle de 3.33 para conexes. O Gartner citou o Sopera como um bom fornecedor no quesito plataforma e integrao em 2010.

Mais informaes
[1] SOA: http://en.wikipedia.org/wiki/ Service-oriented_architecture [2] ESB: http://en.wikipedia.org/ wiki/Enterprise_service_bus [3] IBM WebSphere: http://www-01.ibm. com/software/decision-management/ operational-decision-management/websphereoperational-decision-management/ [4] Microsoft BizTalk: http://www.microsoft. com/biztalk/en/us/default.aspx [5] Adaptadores de integrao da Oracle: http:// www.oracle.com/technetwork/middleware/ adapters/overview/index.html [6] Plataforma SOA JBoss Enterprise: http://www.Jboss.com/ [7] MuleSoft: http://www.mulesoft.org/ [8] Apache ServiceMix: http:// servicemix.apache.org/ [9] Talend: http://de.talend.com/productsapplication-integration/index.php [10] Sopera: http://www.sopera.de/en/ [11] Levantamento da Forrester Research: http://www.oracle.com/us/corporate/ analystreports/infrastructure/forresterwave-esb-q2-2011-395900.pdf [12] JBI: http://en.wikipedia.org/wiki/ Java_Business_Integration [13] Apache Maven: http://maven.apache.org/ [14] Guia de iniciantes para Apache Service-Mix: http://servicemix.apache.org/2-beginnerusing-maven-to-de-velop-jbi-applications.html [15] FuseSource: http://fusesource.com/ [16] Apache Camel: http://camel.apache.org/

Gostou do artigo?
Queremos ouvir sua opinio. Fale conosco em co cartas@linuxmagazine.com.br Este artigo no nosso site: http://lnm.com.br/article/6435

[17] Tutorial do Talend ESB tutorial: http://www. talendforge.org/tutorials/tutorial. php?language=english&idTuto=94 [18] Iniciativa Open Services Gateway: http://www.osgi.org/

70

www.linuxmagazine.com.br

ANLISE | MySQL vs. PostgreSQL

Duelo entre PostgreSQL e MySQL

Duelo de bancos de dados


A competio entre MySQL e PostgreSQL to antiga quanto os prprios bancos de dados e sem um vencedor claro. Apesar disso, sempre emocionante e elucidante assistir batalha dos dois. por Jens-Christoph Brendel e Flvia Jobstraibizer

ANLISE

ontamos uma equipe de benchmark (anlise de desempenho baseada em diversos fatores), com o apoio de especialistas em banco de dados (quadro 1), para descobrir como o MySQL e o PostgreSQL seriam executados em casos de teste. No antecipei os resultados desde o incio, pois diferentes parmetros, tais como a carga de trabalho ou o tamanho de banco de dados provavelmente retornariam resultados diferentes. Portanto, eu no estava interessado principalmente na vitria ou na derrota, mas sim no caminho que os especialistas levaram para atingir os seus objetivos: o que preciso para medir estes dois sistemas? Que ajustes posso fazer? Qual o efeito que cada ao tem? Que tipo de aumento de desempenho posso conseguir com os bancos de dados no que tange configurao padro? Qual banco de dados utiliza hardware rpido de forma mais eficiente? Finalmente, resta dizer que a velocidade no o nico critrio quando voc precisa fazer uma escolha entre dois tipos de gerenciadores de bancos de dados (SGBDs). Em muitos casos, o fator decisivo um aplicativo que o banco de dados precisa ser capaz

de suportar, a facilidade de gesto, aproveitando sua experincia j existente em vrios campos, mecanismos com falhas de segurana (e, portanto, coisas como agrupamento e replicao de dados), suporte ou opes de migrao, ou muitas outros itens que podem facilmente ser mais importantes do que alguma percentagem a mais de desempenho. Apesar de tudo isso, no entanto, o desempenho no obviamente um fator insignificante na avaliao global. Uma nota final: o SQL nos procedimentos de benchmark inegocivel no mundo real, e assumindo a experincia para avali-los, a se encontra o maior potencial de ajuste, afinal de contas, as consultas elaboradas desajeitadamente em um projeto de banco de dados pobre, pode lhe custar mais velocidade do que uma configurao inteligente pode compensar.

O benchmark
A ferramenta de benchmark DBT-2 [1] foi utilizada para a comparao, e foi originalmente desenvolvida pelo Open Source Development Labs (que, infelizmente, j no o mantm atualmente). O benefcio deste benchmark que ele oferece no apenas formas

para a criao de um processo de carga de trabalho (OLTP) relativamente complexo e transaes online com configurao verstil, como tambm se baseia em um mtodo reconhecido de anlise, o mesmo sistema que o padro da indstria, TPC-C [2], em que modelado, utiliza. Embora os valores resultantes do TPC-C e DBT-2 no sejam diretamente comparveis, os bancos de dados, basicamente, passam a utilizar os mesmos procedimentos em ambos os casos. Ao instalar o benchmark, algumas armadilhas, na forma de pequenos bugs, tiveram que ser resolvidas. Em um caso, a sintaxe nos scripts SQL est incorreta, e em outro, o Shell Bourne ocorre na linha shebang (ou hashbang), onde voc precisa do Bash, alm disso, h alguns caminhos nos scripts que apontam para diretrios inexistentes. Estas questes no so nada que um usurio bastante experiente no pudesse resolver, mas custa tempo. Uma verso futura ir remover esses bugs pelo menos assim nos foi dito. Pouco tempo atrs, tentei convencer os ex-mantenedores a assumirem seus projetos rfos de novo, mas no obtive qualquer sucesso. Quando o benchmark executado, ele simula um aplicativo comercial

72

www.linuxmagazine.com.br

MySQL vs. PostgreSQL | ANLISE

em outras circunstncias. As melhorias de desempenho so tipicamente documentadas ao longo de trs sries de medies, nas quais as cargas foram aumentadas, sem tempo para pensar, de 1 a 20 armazns e os testes de estresse eram executados por cinco minutos aps a fase de adaptao em que as conexes de banco de dados foram estabelecidas.

O MySQL entra no ringue


A direo inicial para qualquer ajuste em ambos os sistemas de bancos de dados certamente tem que ser a preveno de acesso ao disco. O benchmark gera uma enorme quantidade de acessos ao disco, e este um nmero de pedidos mais lento do que as operaes de RAM com a qual estas poderiam ser substitudas. Dois bancos de dados oferecem um grande nmero de ajustes, por exemplo, o MySQL, atravs do comando SHOW GLOBAL VARIABLES; lhe d uma viso geral das variveis presentes no sistema. A lista longa, mas nunca tenha medo: apenas alguns parmetros so realmente relevantes para o ajuste. Em primeiro lugar, estabelea um valor de referncia; o desempenho foi medido com a configurao de banco de dados inicial depois de instalados os pacotes. Ento, utilizei algumas variantes diferentes no caso do MySQL. O ajuste de parmetros comeou com uma variante de baixo custo que envolvia alterar somente as configuraes de banco de dados sem reinstalar nada. Depois, eu queria testar uma verso mais recente do MySQL do que a oferecida pelo repositrio LTS Ubuntu 10.04. Teoricamente, eu poderia ter utilizado outra abordagem e testado os derivados principais do MySQL como o MariaDB, o servidor Percona, ou o Drizzle. No entanto, isso pode causar mais obstculos em um ambiente de produo (por exemplo, sob a forma de custos adicionais) porque voc pode perder todo

Figura 1 Efeitos obtidos com ajustes nas diversas conguraes do MySQL.

em que um nmero de empregados inicia uma srie de transaes em seus terminais cobrindo encomendas, entregas, assentamentos, acompanhamento, processamento de pedidos e acompanhamento de estoque. Estas transaes so lanadas em uma mistura predefinida no banco de dados, com o New Order ocorrendo com mais frequncia, seguido pelo Payment, Order Status, Delivery e Stock Level. A mtrica central o nmero de novos pedidos por minuto que o sistema de banco de dados pode manipular. O ambiente no qual tudo isso acontece composto por armazns, onde cada armazm serve a 10 distritos. Cada distrito tem 3.000 clientes. Cada armazm administra 100 mil artigos. Um em cada 10 pedidos deve ser repassado para um armazm diferente, porque nem todos os artigos esto em estoque. Dez processos terminais so lanados por armazm, por padro. Todas as transaes de benchmark so procedimentos armazenados no banco de dados. O benchmark contribui com dois componentes de software em tempo de execuo: o primeiro cliente abre um nmero definido de conexes de banco de dados, e os de referncia aguardam a fase de adaptao para serem concludos. Aps isso,

so iniciadas as transaes atravs do cliente. O benchmark altamente configurvel. Em particular, voc pode configurar o seguinte: O nmero de armazenamentos (o fator de escala central) (-w) O nmero de conexes de bancos de dados paralelos (-c) O tempo de execuo (-d) Se deve ou no usar um tempo de reflexo (-n) Nos resultados discutidos neste artigo, fiz os testes sem o tempo de reflexo, pois eu precisaria de um grande nmero de armazns para atingir o limite de carga, que por sua vez implicaria em ter um grande nmero de processos terminais. Isso significaria decidir a competio no mrito destes tpicos terminais, em grande extenso. Todos os valores medidos aqui so mdias e a disperso foi nivelada. Para cada configurao, o benchmark funcionou, pelo menos, trs vezes, e muito mais vezes em alguns casos. Os testadores tentaram acelerar cada banco de dados, sucessivamente, pelo aplicativo de uma srie de ajustes. Neste artigo, no vou analisar ajustes sem sucesso, em vez disso, vou nas opes de banco de dados que aumentam a velocidade alcanada significativamente, ou pelo menos que teria um efeito positivo

Linux Magazine #87 | Fevereiro de 2012

73

ANLISE | MySQL vs. PostgreSQL

o suporte comercial que porventura tenha comprado para o MySQL. Em terceiro lugar, a sobrecarga me obrigou a aplicar alguns limites. O benchmark foi executado cerca de 2.000 vezes no total para os dois bancos de dados, a um tempo de execuo mdio entre sete e oito minutos, o que totalizou 250 horas ou mais de 10 dias de benchmarking durante um nico dia. Em quarto lugar, e isso foi testado fisicamente, eu queria saber quais benefcios a substituio do disco rgido original por um SSD rpido poderia oferecer. Todas as medidas foram tomadas no mesmo hardware: um Dell PowerEdge T110 com dois processadores Intel Dual-Core i3 530 executados a 2,93 Ghz. O servidor tinha 8GB de memria RAM. Nosso dispositivo de armazenamento era um disco interno de 300GB da Western Digital, ou um Intel 320 sries SSD (160GB), para o qual os diretrios de dados do banco de dados foram movidos para fins de teste. O sistema no tinha outras tarefas para completar naquele momento, alm de executar os benchmarks.

Ajuste tangvel
A primeira ao no caso do MySQL foi a atualizao da verso antiga, 5.1.41 (gura 1, linha A) a partir do repositrio do Ubuntu para a verso 5.5.15 atual (gura 1, linha B). O banco de dados mais recente era duas vezes mais rpido em suas configuraes iniciais, sem qualquer ajuste, o que explicado em parte por alguns valores configurados de forma mais generosa nos parmetros padro, do que os definidos nas verses mais antigas do MySQL. O ajuste ir acelerar consideravelmente a verso legada, mas a verso mais recente ainda se mantm na frente, razo pela qual todos os benchmarks seguintes foram realizados com o banco de dados mais recente. Com base nestes dados, as atualizaes so definitivamente recomendadas para o MySQL.

O segundo passo foi aumentar o tamanho do buffer para bancos de dados no formato InnoDB. Voc precisa modificar o parmetro correspondente innodb_buffer_ pool_size para alcanar um valor de referncia de 80% do tamanho da memria RAM disponvel ou, se voc tiver uma grande quantidade de memria e um pequeno banco de dados, tanto a memria quanto o banco de dados podem possuir mais 10% desta memria disponvel. O banco de dados mais antigo somente aloca escassos 8MB, enquanto a verso mais recente aloca pelo menos 128MB. Seja qual for o caso, importante ter memria RAM suficientemente poupada para manter o sistema operacional (tabelas de pginas, buffers de conexo etc.) e os outros consumidores MySQL felizes (cache de consultas, tabelas temporrias, tpicos, buffers de chaves etc.) e em funcionamento. O servidor de teste tinha 8GB de RAM e o banco de dados de benchmark comeou em 4GB. Sendo assim, 5GB foi uma boa escolha para o valor de pool do buffer InnoDB. Este valor proporcionou um aumento de desempenho de 88%, de imediato (gura 1, linha C), em comparao com a configurao desafinada da verso dos MySQLs mais novos.

A terceira ao relacionada com o arquivo de logs do InnoDB. Se voc quiser alterar o seu tamanho, importante apagar os registros antigos com o banco de dados desabilitado; caso contrrio, o arquivo de log no ir corresponder ao tamanho do novo arquivo recm-configurado e o MySQL ir se recusar a iniciar. Depois de remover o arquivo de log, o banco de dados cria um novo arquivo do tamanho necessrio quando iniciar. Alm disso, preciso considerar que um arquivo de log muito grande pode atrasar consideravelmente o reincio do MySQL depois de algum acidente porque em primeiro lugar, o banco de dados procura todos os logs de transaes que s foram realizados na memria RAM, mas no esto escritos no disco. Esta tarefa de refazer os logs proporcional ao seu tamanho, mas tambm depende de tantos outros fatores que talvez seja melhor realizar um teste para estabelecer os valores para o banco de dados que voc estiver investigando. Finalmente, o tamanho de todos os arquivos de log em conjunto deve ser inferior a 4GB. Todas estas consideraes me levaram a escolher por apontar o tamanho do arquivo de log

Figura 2 Ambas as bases de dados ajustadas para desempenho mximo


com e sem discos SSD para armazenamento em massa para os arquivos de dados. Os valores com o disco SSD so pelo menos o dobro.

74

www.linuxmagazine.com.br

MySQL vs. PostgreSQL | ANLISE

Figura 3 Comparao entre vrias conguraes do PostgreSQL.

do InnoDB em 1GB. Isso levou a um aumento de desempenho de 52% (gura 1, linha D) em comparao com a verso anterior da configurao. A quarta ao de ajuste um caso limite porque se relaciona com a segurana do banco de dados. Por padro, o parmetro flush_log_at_ trx_commit definido como 1, o que significa que o MySQL escreve o log de transaes para o disco, sempre que uma transao for confirmada. Isto significa que voc nunca perder uma transao, mesmo que o MySQL ou o sistema operacional travem. Para cargas de trabalho OLTP (Online Transaction Processing ou Processamento de Transaes em Tempo Real) com muitas operaes de escrita para armazenar, este prmetro pode agir como um freio de mo que liberado quando voc mudar o parmetro. Se for definido o valor como 0, voc estar desativando o log depois de um gerenciamento de dados; se for definido o valor para 2, os dados de registro no so escritos fora do disco imediatamente, mas sim, no cache do sistema operacional. Isto significa que a transao vai sobreviver a uma potencial falha do banco de dados, mas seria perdida no caso de uma falha do sistema operacional. Optei por um alterar este padro e neste

caso, o resultado foi um aumento de desempenho de mais de duas vezes a velocidade anterior (gura 1, linha E). A quinta ao refere-se ao parmetro innodb_buffer_pool_instances, que permite dividir a rea de buffer em regies separadas, o que, por sua vez, acelera o processamento de leitura e escrita de operaes competitivas.

Voc vai ver muitas recomendaes de alterao para o valor innodb_buffer_pool_instances nos manuais do MySQL. Nosso especialista recomenda defin-lo com o mesmo valor que o nmero de ncleos da mquina. Outra recomendao para o parmetro innodb_buffer_pool_size a mudana do valor em GB mais o nmero de CPUs/2 que teria alcanado aproximadamente os mesmos resultados, e uma boa dica usar um mnimo de 1GB para cada parte do pool de buffer, o que lhe d a mesma configurao que o nmero de ncleos. Isto novamente levou a um aumento de desempenho considervel (gura 1, linha F). Este grfico comea a decair conforme o nmero de bancos de dados aumenta porque, na extremidade superior do espectro de carga, mais aes paralelas so realizadas em at 200 threads que podem ser manipuladas para obteno de desempenho mximo. No coincidncia que a maioria dos grficos de desempenho alcanam seus picos quando de 30 a 60 threads

Quadro 1: Regras de conduta


Para assegurar que o grande duelo de bases de dados, PostgreSQL versus MySQL, seja uma luta justa e para garantir que os combatentes no se restrinjam e estejam em perfeita forma, chamei alguns testadores experientes. Cada equipe contribuiu com as melhores dicas de ajuste no para suas bases de dados. No lado do MySQL, sou grato pelo apoio de Oli Sennhauser, um antigo Senior Database Consultant para o MySQL junto Sun, e que hoje um consultor autnomo e neutro de MySQL que gerencia sua prpria empresa, a From-Dual. Do lado do PostgreSQL, a equipe editorial recebeu o apoio de Susanne Ebrecht, desenvolvedora do PostgreSQL e co-fundadora do European PostgreSQL User Group, entre outras coisas. Hoje ela est empregada pelos especialistas em PostegreSQL, 2ndQuadrant.

Quadro 2: WAL
O registro prvio da escrita (WAL, que quer dizer Write Ahead Logging) uma abordagem padro para registrar transaes. Seu conceito central que as alteraes nos arquivos de dados (onde as tabelas e os ndices residem) devem ser escritas somente aps terem sido registradas, ou seja, quando os registros que descrevem as alteraes tiverem sido descarregados em um meio de armazenamento permanente. Um dos benefcios da utilizao do WAL a reduo signicativa do nmero de escritas em disco, uma vez que, no momento em que a transao efetivada somente precisa ser descarregado no disco o arquivo de registro, ao invs de todos os arquivos de dados modicados pela transao. Outro benefcio seguinte a consistncia das pginas de dados. A verdade que antes do WAL o PostgreSQL nunca foi capaz de garantir a consistncia dos dados no caso de uma pane.

Linux Magazine #87 | Fevereiro de 2012

75

ANLISE | MySQL vs. PostgreSQL

terminais esto sendo executados ao mesmo tempo. Os resultados encontrados ao mover o diretrio de dados para um dispositivo SSD esto em uma categoria completamente diferente (gura 2). Eles atingiram um pico de quase 20 mil novas solicitaes por minuto mais uma vez, duas vezes mais rpido que o efeito total de todas as aes de ajuste anteriores. A razo porque o disco rgido no mais o componente mais lento. A linha inferior uma configurao MySQL criada para funcionar a uma velocidade 10 vezes mais rpida do que a verso legada no ajustada, e usando um disco SSD alterado a um fator de 20.

dos para o benchmark so programas C compilados, enquanto o MySQL utiliza scripts SQL que so interpretados pelo servidor para o mesmo fim. Dito isto, a diferena no to grande.

Acelere o PostgreSQL
A prxima ao de ajuste do PostgreSQL realmente no se relaciona com o banco de dados, mas sim com o sistema operacional. Como o PostgreSQL depende da leitura de buffer do sistema operacional, pode valer a pena aumentar seu tamanho o Ubuntu s o define a um baixo valor de 256. Isto costumava ser feito com o comando hdparm, mas o kernel 2.6 introduziu um comando separado para isso:
blockdev --setra 4096 /dev/sda

PostgreSQL entra no ringue


Mais uma vez, em primeiro lugar foi testada a verso do PostgreSQL fornecida pelo repositrio do Ubuntu, que a verso 8.4.8 (gura 3, linha A). Mas, para manter as coisas justas, instale o PostgreSQL 9.1.0 atual (gura 3, linha B). Esta verso no era muito mais rpida do que sua antecessora; no entanto, ganhou o concurso da configurao padro. A configurao padro do PostgreSQL mais antiga quase to rpida quanto os MySQL atuais no ajustados, mas o ltimo PostgreSQL um pouco mais rpido em sua configurao padro e decidiu esta competio a seu favor (gura 4). A razo para a vantagem do PostgreSQL padro que ele verifica ativamente os valores de alguns parmetros, sem interferir no sistema operacional, quando o banco de dados inicializado na fase de instalao. O MySQL no se incomoda com essa verificao e, portanto, utiliza padres conservadores para evitar conflitos com o sistema operacional. Claro, isso significa que o MySQL muito mais lento sem ajuste, porque no tira proveito de suas prprias opes. Alm disso, o PostgreSQL tem um trunfo na manga: seus procedimentos armazena-

outro script de inicializao para evitar perder o ajuste com a prxima inicializao da mquina. A ao seguinte tambm muito intimamente relacionada com o Linux. Se voc deseja alocar mais memria compartilhada para o banco de dados (principalmente na forma de buffers compartilhados), esta quantidade no deve exceder o limite definido pelo sistema operacional caso contrrio, o banco de dados falharia ao tentar alocar mais memria do que o possvel. Uma regra de ouro aqui reservar cerca de um quarto de sua memria RAM para buffers compartilhados em outras palavras, 2GB, neste caso com os seguintes passos: comece editando o arquivo /etc/sysctl.conf e adicione as linhas:
kernel.shmmax = 4190150656 kernel.shmmall = 10229896

onde o dispositivo e o nmero de blocos so apenas alguns exemplos. No entanto, a carga de trabalho para este benchmark constituda, principalmente, por operaes de gravao, e a alterao no teve qualquer efeito positivo perceptvel. Se este no o caso em seu aplicativo, voc deve adicionar o comando rc.local ou algum

Em seguida, recarregue as configuraes atravs do comando sysctl -p (voc precisaria fazer isso aps a reinicializao da mquina tambm). O parmetro SHMMAX do sistema operacional definido em 4GB. Agora voc pode configurar o tamanho do buffer

Figura 4 Competio entre as conguraes padro de vrias verses dos


bancos de dados.

76

www.linuxmagazine.com.br

MySQL vs. PostgreSQL | ANLISE

pelo cache no arquivo postgresql.conf: max_connection = 25 e shared_ buffers = 2 GB (anteriormente, 32MB). Para dizer ao PostgreSQL quanto de cache ele pode esperar do sistema operacional, voc finalmente precisa definir o valor do tamanho do cache eficaz de RAM menos os buffers compartilhados, neste caso:
effective_cache_size = 6GB

Ajuste de log
O equipe de benchmark tambm definiu alguns pontos de controle (checkpoints), onde o PostgreSQL garantiu que os dados de todos os arquivos heap e index data so atualizados e todas as pginas de memria alteradas so escritas no disco. Aps um travamento, o procedimento de recuperao iria procurar um outro ponto de controle e identificar as operaes que ocorreram anteriormente e foram portanto, escritas no disco. Voc pode configurar quantas vezes o processo de escrita em segundo plano desencadeia esses pontos de controle. Uma boa abordagem estipular o nmero de logs dos segmentos em 16MB (checkpoint_segments) depois que um ponto de controle foi escrito. O padro 3. Este valor muito pequeno, especialmente se voc tiver um grande nmero de operaes de gravao, ento o aumentei para 32, o que pode aumentar o tempo de recuperao de falhas, mas tambm elimina a necessidade de muitos pontos de controle de entrada e sada de dados. Esta ao foi muito bem sucedida visivelmente: o aumento de desempenho foi de at 100% (gura 3, linha D). Mais tarde, experimentos mostraram que os valores mais elevados de checkpoint_segments no levam a quaisquer melhorias significativas. Voc pode dar mais um passo nessa direo, e desativar a opo padro synchronous_commit, o servidor do banco de dados no ir aguardar a escrita dos logs (WALs ou registro prvio da escrita quadro 2) para fazer o seu caminho at o disco antes de passar uma mensagem de sucesso para o cliente. Embora seja mais rpido, isto pode lhe custar transaes individuais no caso de um travamento. Em alguns casos, poder aceit-lo para obter maior desempenho (por exemplo, em uma aplicativo de mensagens em um frum), mas certamente no aceitvel para transaes financeiras, por exemplo. Obviamente voc

precisa saber o que est fazendo. Para manter as coisas justas, tambm testei esta variante de ajuste. Com um gerenciamento de dados assncrono, o nmero de transaes subiu para um nvel mximo similar ao alcanado pelo MySQL, em mais de 15 mil transaes por minuto (gura 3, linha E).

Concluso
O PostgreSQL teve um excelente comeo, mas foi difcil melhorar depois disso. O MySQL comeou a com uma configurao padro inferior, mas conseguiu melhorar de forma gradual. Em termos de caching, em particular, ele tocou em reservas que o PostgreSQL provavelmente nunca teve, porque foi melhor otimizado personalizadamente. Depois de substituir o acesso ao disco tanto quanto possvel, atravs de operaes de memria RAM, os dois bancos de dados foram beneficiados consideravelmente, reduzindo a sobrecarga causada pelo inevitvel log de transaes. No melhor cenrio, o que implicou em um compromisso de segurana, os dois concorrentes foram bastante equilibrados. O que deu s duas bases de dados um impulso ainda maior foi a mudana de gravao para discos SSD. Na melhor configurao e com um disco SSD como meio de armazenamento, o nmero de transaes dobrou. Empate tcnico? Os dois bancos de dados, no final das contas, no deixam nada a desejar!

Surpreendentemente, essa ao no teve nenhum efeito perceptvel no desempenho do PostgreSQL. Embora o banco de dados utilize o cache, como evidenciado pela boa taxa de acerto (94%), este provavelmente no um fator decisivo por conta da preponderncia das operaes de gravao. Por outro lado, o PostgreSQL parece responder mais ao tamanho cada vez maior do banco de dados durante o benchmark. Perto do final do teste, tambm notei uma queda no desempenho com o MySQL. Por esta razo, reiniciei o MySQL uma vez depois de cerca de 700 cargas de teste e o PostgreSQL mltiplas vezes aps 350 cargas de testes aps reinstalado o banco de dados padro. Teria sido impossvel chegar a estes valores de cada srie de testes por conta da sobrecarga, e de qualquer maneira, essa no uma abordagem muito prtica em um ambiente de produo. A prxima tentativa de ajustes relacionada ao gerenciamento de memria. A varivel work_mem permite configurar a quantidade de memria disponvel para operaes de classificao interna e tabelas hash. O padro 1MB, e eu aumentei este valor para 24MB. A varivel maintanance_work_mem permite que voc veja a quantidade mxima de memria disponvel para operaes como VACUUM, CREATE INDEX ou ALTER TABLE ADD FOREIGN KEY. O valor padro de 16MB, mas a aumentei para 512MB para a realizao dos benchmarks. Novamente, o efeito dessas aes foi perdido na estatstica de rudo branco (gura 3, linha C).

Mais informaes:
[1] DBT-2: http://is.gd/7BJTVs [2] TPC-C: http://www. tpc.org/tpcc/

Gostou do artigo? o?
Queremos ouvir sua opinio. nio. Fale conosco em cartas@linuxmagazine.com.br .com.b Este artigo no nosso site: o site http://lnm.com.br/article/6432 ticle 32

Linux Magazine #87 | Fevereiro de 2012

77

Inclua em seu currculo a principal certificao Linux no mundo LPI.

Em tempos de crise, solues de cdigo aberto como o Linux se destacam na adoo por empresas de todos os tamanhos, como soluo ideal para aumentar eficincia nos negcios e reduzir custos. Atualmente h no mercado uma carncia por profissionais certificados para atender a essa demanda crescente. Aproveite essa oportunidade e inclua em seu currculo a principal certificao Linux no mundo.

www.lpi-brasil.org treinamentos@vectory.com.br Tel (11) 3675-2600

Inscries e mais informaes:

Linux Professional Institute

PREVIEW

Linux Magazine #88


Vai dar Samba
A interoperabilidade uma constante na vida de grande parte dos usurios corporativos e at mesmo domsticos da atulidade. comum encontrar redes heterogneas onde necessrio que haja convivncia harmoniosa entre computadores e servidores que possuem Linux, Windows, Mac OS X e alguns outros. E para ter tranquilidade, garantindo a harmonia em sua rede, na prxima edio da Linux Magazine, vamos falar sobre as vrias formas de interoperar com os diversos sistemas, utilizando Samba e outras ferramentas que iro garantir a paz em sua rede.

Admin Magazine #05


Monitoramento
Na Admin Magazine #05, voc ir conhecer as melhores opoes em softwares para monitoramento de sistemas. Seja em redes Linux, Windows ou mesmo em redes mistas, o monitoramento de redes e sistemas est presente no dia a dia de nove entre dez administradores de sistemas. Se voc um deles, no perca nossa prxima edio!

82

www.linuxmagazine.com.br

Das könnte Ihnen auch gefallen