tag:blogger.com,1999:blog-68385062024-03-16T11:38:04.960-03:00Soli Deo GloriaUm brasileiro peregrinolhttp://www.blogger.com/profile/11370554253474735917noreply@blogger.comBlogger27125tag:blogger.com,1999:blog-6838506.post-5673995676892907622011-11-03T17:11:00.001-02:002011-11-03T17:14:39.228-02:00<span class = "post-body-first-line"><span class = "post-body-first-letter">M</span>inha programação de <a href = "http://pgbr.postgresql.org.br/2011/programacao.php">palestras do PgBr2011</a></span>:<br />
<br />
<h3>2011-11-3</h3>9h30 <a href = "http://pgbr.postgresql.org.br/2011/palestras.php?id=63">Bruce Momjian, MVCC Unmasked</a><br />
11h <a href = "http://pgbr.postgresql.org.br/2011/palestras.php?id=66">vmWare vPostgres</a><br />
14h <a href = "http://pgbr.postgresql.org.br/2011/palestras.php?id=46">Eu!</a><br />
15h <a href = "http://pgbr.postgresql.org.br/2011/palestras.php?id=39">Leonardo César, \dfS pg_*: Um passeio pelas funções administrativas do postgres</a><br />
16h20 <a href = "http://pgbr.postgresql.org.br/2011/palestras.php?id=60">Greg(ory) Smiþ, Bottom-up Database Benchmarking</a><br />
<br />
<h3>2011-11-4</h3>9h <a href = "http://pgbr.postgresql.org.br/2011/palestras.php?id=61">Koichi Suzuki, PostgreSQL and Postgres-XC in NTT Group</a><br />
10h30 <a href = "http://pgbr.postgresql.org.br/2011/palestras.php?id=55">Fernando Ike de Oliveira, Escalabilidade, As Modas e (No)SQL</a><br />
10h30–12h30 <a href = "http://pgbr.postgresql.org.br/2011/palestras.php?id=19">Dickson S. Guedes, Estripando o Elefante - dividindo seus problemas em problemas menores</a><br />
14h30 <a href = "http://pgbr.postgresql.org.br/2011/palestras.php?id=42">Euler Taveira de Oliveira, Tudo o que você queria saber sobre PostgreSQL mas tinha vergonha de perguntar</a><br />
16h50 <a href = "http://pgbr.postgresql.org.br/2011/palestras.php?id=53">Flavio Henrique Araque Gurgel, Meu ambiente cresceu e eu não planejei. E agora?</a>lhttp://www.blogger.com/profile/11370554253474735917noreply@blogger.com0tag:blogger.com,1999:blog-6838506.post-17704661360723378282011-09-13T21:50:00.000-03:002011-09-14T17:23:39.465-03:00PgBr MMXI<p><span class = "post-body-first-line"><span class = "post-body-first-letter">M</span>ais um ano, e volta a <a href = "http://pgbr.postgresql.org/">Conferência Braſileira de PoſtgreSQL</a></span>, agora chamada PgBr, e não mais PgConBr. Além de economizar três caracteres (¡dã!), o novo nome evita coliſão com a <a href = "http://pgcon.org/">Conferência global de PoſtgreSQL</a>, realizada todo ano em <a href = "http://pt.wikipedia.org/wiki/Ottawa">Otava</a>, <a href = "http://pt.wikipedia.org/wiki/Ontário">Ontário</a>, <a href = "http://pt.wikipedia.org/wiki/Canadá">Canadá</a>, no primeiro ſemeſtre.</p><br />
<p>Ainda não ſei ſe poderei ir. Eſte ano, apeſar de ſer realizada na capital de <a href = "http://pt.wikipedia.org/wiki/São Paulo (cidade)">São Paulo dos Campos de Piratininga</a>, <a href = "http://pt.wikipedia.org/wiki/São Paulo">SP</a>, a conferência realizar‐ſe‐á durante a ſemana de trabalho, como ſe fôra planejada para uma cidade de funcionários públicos, como <a href = "http://pt.wikipedia.org/wiki/Brasília">Braſília</a>, <a href = "http://pt.wikipedia.org/wiki/Distrito Federal (Brasil)">DF</a>. Eu meſmo, funcionário público, ſaio do eſperado e me acho aßoberbado de trabalho, o que me dificulta a ida. Ißo ainda poderia ſer negociado; o que realmente me atrapalha é juſtificar ir ſem paleſtrar, e tenho já mais de um ano afaſtado da área de dados, o que me gera falta de aßunto.</p><br />
<p>Não que não haja aßuntos intereßantes. Mas após duas experiências ſofridas de paleſtrar ſem preparação adequada (<a href = "http://pgbr.postgresql.org.br/2009/">PgBr MMIX</a>, ſobre <a href = "http://pgbr.postgresql.org.br/2009/programacao.php">expreßões comuns de tabelas</a> e <a href = "http://www.pgcon.org/2010/">PgCon MMX</a>, ſobre <a href = "http://www.pgcon.org/2010/schedule/events/228.en.html">modelagem literária</a>), além de meu preſtígio ter baixado baſtante n<a href = "http://postgresql.org.br/">a comunidade</a>, reluto em achar que conſeguirei preparar e apreſentar algo que valha a pena, ainda mais que ainda eſtou ſem meu <a href = "http://debian.org./">Debian</a> <a href = "http://gnu.org./">GNU</a>/<a href = "http://linux.org./">Linux</a> em caſa, ainda com os problemas do <a href = "http://pt.wikipedia.org/wiki/EFI">EFI</a> da <a href = "http://apple.com/br/">Apple</a> — no trabalho, onde ainda é <a href = "http://pt.wikipedia.org/wiki/BIOS">Bios</a>, eſtou no conforto do Debian com GNU <a href = "http://gnu.org./software/emacs/">Emacs</a> — ſaudades do <a href = "http://es.wikipedia.org/wiki/Open_Firmware">Open Firmware</a>…</ref></p><br />
<p>Idéias até tenho — por exemplo, ‘O Paquiderme univerſal’, ſobre como o PoſtgreSQL, ao rodar em todo tipo de plataforma, eſcalando do portátil ao grande porte, com todo tipo de linguagem e extenſão, atende a praticamente todas as demandas poßíveis e imagináveis de computação e geſtão de dados deſte lado do <a href = "http://thethirdmanifesto.com/">paraíſo relacional</a>; ou ‘A Evolução paquidérmica: para o alto, e ¡avante!’, repaßando a liſta de <a href = "http://wiki.postgresql.org/wiki/Todo">afazeres do PoſtgreSQL</a>, moſtrando como vamos melhorar, talvez colocando em perſpectiva tanto das noßas verſões mais recentes quanto do eſtado e melhorias mais recentes dos principais concorrentes; ou ‘O Elefante: ſua verdadeira forma, e diſfarces’, moſtrando as facilidades de migração de código, com ênfaſe dividida entre facilidades de compatibilidade com concorrentes e aplicação de padrões que facilitam a migração de e para o PoſtgreSQL. A queſtão é que, no momento, creio que há muito mais gente que poßa fazê-lo muito melhor do que eu.</p><br />
<p>Vejamos. No momento, não eſtou paßando bem. Talvez amanhã reſolva apreſentar algo, o prazo já ſe encerrará. Mas eu bem preferia que outros apreſentaßem eßes temas, e outros melhores ainda.</p><br />
<p>Se eu não puder ir, peço que alguém levante a diſcußão: regiſtremos os domínios <a href = "http://poſtgres.org.br/">Poſtgres</a>, <a href = "http://poſtgresql.org.br/">PoſtgreSQL</a> e <a href = "http://postgres.org.br/">Postgres.org.br</a>?</p>lhttp://www.blogger.com/profile/11370554253474735917noreply@blogger.com0Sqs 308 Bloco I - Brasília, DF, 70355-090, Brasil-15.8140134 -47.9065847-15.8159229 -47.909052200000005 -15.8121039 -47.9041172tag:blogger.com,1999:blog-6838506.post-29342899075672861202009-10-31T21:01:00.005-02:002009-10-31T21:50:09.970-02:00Convite Google Wave<p><span class = "post-body-first-line"><span class = "post-body-first-letter">T</span>enho doze convites</span> do <a href = "https://wave.google.com/">Google Wave</a> para diſtribuir — o que é engraçado, porque até hoje não o uſei de fato.</p>
<p>Prioridade para comunidades de que participo, como <a href = "http://postgresql.org.br./">PoſtgreSQL</a>, <a href = "http://debian.org./">Debian</a>, <a href = "http://gnu.org./">Projeto GNU</a>, <a href = "http://gutenberg.org./">Gutenberg</a>, <a href = "http://crosswire.org./">Sociedade Bíblica Croßwire</a>, <a href = "http://four-thirds.org./en/">fotografia Quatro Terços</a> e <a href = "http://biofos.com./">Olympus Zuiko</a>, <a href = "http://openraw.org./">OpenRAW</a> &c.</p>Anonymousnoreply@blogger.com8tag:blogger.com,1999:blog-6838506.post-4064409248488124892009-06-13T22:21:00.006-03:002009-06-14T20:06:14.991-03:00A loja mágica de brinquedos do ſenhor Saito<p><span class = "post-body-first-line"><span class = "post-body-first-letter">H</span>oje fomos conhecer a <a title = "Grupo de usuários Lego Brasil" href = "http://lugbrasil.com/">famoſa</a> <a href = ̈"http://maps.google.ch./maps/ms?ie=UTF8&hl=fr&msa=0&msid=108358879282875590800.000001131073cb193df81&ll=-23.608371,-46.622007&spn=0.011915,0.019376&t=h&z=16">loja mágica de brinquedos</a> do ſenhor Morio</span> ‘Mário’ <span class = "last-surname">Saito</span>. Não ſaímos incólumes: o Felipe ‘quebrou o cofrinho’ (metaforicamente) e levou dois conjuntos <a href = "http://www.lego.com/en-GB/default.aspẍ">Lego</a> <a title = "Guerre des étoiles" href = "http://starwars.lego.com/fr-FR/default.aspx">Guerra nas Eſtrelas</a>, levamos uma maletinha <a href = "http://www.playmobil.de/on/demandware.store/Sites-CH-Site/fr_CḦ">Playmobil</a> e mais quatro caixas de Lego Creative Building para <a href = "http://igrejasuica.com.br/">noßa igreja</a>.</p>
<p>Embora haja <a href = "http://legomania.com.br/">lugares que dizem ter maior variedade de conjuntos Lego</a>, os preços de <span class = "last-surname">Saito</span>-ſan ſão incrivelmente mais baixos — diferenças de um terço ſão comuns, e, nas promoções, metade do preço das lojas brasileiras, loucura total! E lá tem catálogos de Lego deſde a década de 1.990, ſabem os brinquedos que já paßaram por lá antes, tem muito Playmobil, muita coiſa da Haſbro como os Mighty Mugs, & outros como Cocoricó & por aí vai.</p>
<p>O dono tem oitenta anos de idade, ſua eſpoſa ſetenta & ſete, & cuidam ſozinhos da loja há quarenta & ſete anos, aparentemente com o meſmo mobiliário de madeira dos anos ſeßenta, e com aquela concepção de comércio antiquada, mas tão prazeroſa: prateleiras abarrotadas, caixas empilhadas ſobre caixas, e <span class = "last-surname">Saito</span>-ſan vai eſcavando as caixas para achar o que queremos…</p>
<p>O dia que tivermos dinheiro, e tendo em viſta a alta quantidade de informatas amantes de Lego, o povo do <a href = "http://postgresql.org.br/">PoſtgreSQL</a> podia fazer um elefante azul (noßo maſcote) de Lego… ſeria um ſuceßo nos eventos de ſiſtemas livres mundo afora!</p>Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-6838506.post-26730251488737512932009-06-12T21:02:00.006-03:002009-06-13T22:34:22.777-03:00Palestra no FISL marcada para sábado, dia vinte & sete<p><span class = "post-body-first-line"><span class = "post-body-first-letter">F</span>oi marcada para das dezenove às vinte horas de sábado, dia vinte e sete</span> deste mês de junho de <acronym title = "Anno Domini Nostri Iesu Christi">AD</acronym> 2009, <a href = "http://fisl.softwarelivre.org/10/papers/pub/programacao/582">minha palestra sobre ‘ferramentas de modelagem literária e documentação automática em PostgreSQL e outros SGBDs livres’</a>.</p>
<p>Na tradição da comunidade, o título da palestra é uma brincadeira com nosso mascote: <em>O elefante ilustrado</em>, procurando trazer a idéia de diagramação, e, portanto, modelagem de dados através do conceito de ‘ilustração’ — o que, de certa maneira, é um pouco enganoso porque meu foco é a modelagem, não a diagramação, uma vez que creio que os diagramas devem ser gerados automaticamente.</p>
<p>Agora é preparar-me…</p>Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-6838506.post-30742970540363429022009-06-12T19:00:00.007-03:002009-06-12T19:29:02.356-03:00Chamada de trabalhos para a III Conferência PostgreSQL Brasil (2009)<p><span class = "post-body-first-line"><span class = "post-body-first-letter">E</span>stá aberta a chamada de trabalhos</spam> para a <a href = "http://pgcon.postgresql.org.br/">III Conferência PostgreSQL Braſil (2009)</a>, a PgConBR 2009.</p>
<p>Se tens algum trabalho a apreſentar sobre <a href = "http://postgresql.org.br./">PostgreSQL</a> — pesquisa acadêmica, estudo de caso, novo desenvolvimento &c — faça-o o quanto antes! As PgConBRs são muito interessantes, mas principalmente para quem palestra: quem palestra é procurado pelas pessoas para conversar, e muita coisa interessante vem daí.</p>Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-6838506.post-55992315088339198172009-05-10T01:40:00.006-03:002009-05-10T02:20:59.563-03:00Fotos do I Dia PostgreSQL São Paulo (2009)<p><span class = "post-body-first-line"><span class = "post-body-first-letter">D</span>epois de vários dias, doenças &c</span>, <a href = "http://freesoftware.shutterfly.com./389/">começo a publicar as fotos tiradas por mim e por outros</a> com <a title = "Olympus E-510" href = "http://www.olympusamericalatina.com/showproduct.asp?prod=190&cat=4§ion=®ion=3">câmera</a>, <a title = "Olympus FL-36" href = "http://www.olympus.pt/consumer/208_fl-36.htm">luz estroboscópica</a> e <a title = "Zuiko Digital ED 14–42mm 1:3,5–5,6" href = "http://www.olympus.pt/consumer/dslr_ED_14-42mm_1_3_5-5_6.htm">lentes curta</a> <a title = "Zuiko Digital ED 7–30cm 1:4–5,6" href = "http://www.olympus.pt/consumer/dslr_ED_70-300mm_1_4_0-5_6.htm">e longa</a> <a title = "Débora Megumi Sakama DUTRA" href = "http://br.geocities.com./lgcdutra/Megumi.pt.html">de minha</a> <a title = "Trabalhos de uma abelha" href = "http://trabalhosde1abelha.blogspot.com/">esposa</a>.
<p>A maior parte foi obviamente tirada por mim, enquanto tentava desesperadamente não perder a atenção nas <a title = "palestras" href = "https://wiki.postgresql.org.br/pgday/sampa/">palestras em si</a>. Juntando esse fato a minha conhecida inépcia, a falta de qualidade é responsabilidade do fotógrafo, não da câmera — como sempre.</p>
<p>Todas as fotos estão em formato <acronym lang = "en" title = "Joint Picture Experts Group">JPEG</acronym>, sendo que as primeiras tantas estão em qualidade média, por falha minha em reconfigurar a câmera após uma atualização de <a lang = "en̈" title = "firmware" href = "http://pt.wikipedia.org./wiki/Firmware">código embutido</a>. Gostaria de fornecer à comunidade os arquivos originais <acronym lang = "en" title = "Olympus Raw File">ORF</acronym>, mas não tenho um servidor onde os colocar.</p>
<p>A carga deve demorar ainda várias horas, portanto, pacientai-vos.</p>Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-6838506.post-40188221697675907582009-04-17T22:40:00.004-03:002009-04-17T23:19:56.762-03:00I Dia PostgreSQL São Paulo (2009)<p><span class = "post-body-first-line"><span class = "post-body-first-letter">D</span>ia vinte e quatro de abril, sexta-feira próxima</span>, será o <a href = "http://postgresql.org.br/eventos/pgday/sp/">I Dia PostgreSQL de São Paulo (2009)</a>, SP, Brasil. Vou apresentar <a href = "http://postgresql.org.br/node/32#leandro">as ferramentas de documentação automática</a> de modelos e bases de dados <a href = "http://postgresql.org.br/">PostgreSQL</a>, espero que de maneira mais objetiva que o que consegui fazer na <a href = "http://pgcon.postgresql.org.br/programacaod.html#dutra">II Conferência Brasileira de PostgreSQL (2008)</a>, em Campinas.</p>
<p>Como sempre nos eventos dessa comunidade, haverá alguns ótimos palestrantes, como <a href = "http://postgresql.org.br/node/32#euler">o Euler</a> e <a href = "http://postgresql.org.br/node/32#guedes">o Guedes</a>; desta vez teremos também o próprio organizador do evento, <a href = "http://postgresql.org.br/node/32#marins">o Rodrigo Marins</a>, possivelmente o Leonardo César, e <a href = "http://postgresql.org.br/node/32#flavio">um DBA da Caixa Econômica Federal</a>. Parece que será bem interessante.</p>
<p>Pretendo abordar <a href = "http://pt.wikipedia.org./wiki/Programação_literária">programação literária</a> em <a href = "http://www.cs.tufts.edu/~nr/noweb/">NoWeb</a> (<i>en passant</i>), mas principalmente <a href = "http://rbt.ca/autodoc/">Auto Doc</a>, assim como um pouco do <a href = "http://sqlfairy.sf.net./">SQL Fairy</a> e do <a href = "http://schemaspy.sf.net./">Schema Spy</a>.</p>
<p>O evento é gratuito, portanto a única desculpa para não ir é ser uma sexta-feira de trabalho. É uma semana curta por causa do feriado do Descobrimento do Brasil na terça-feira, dia vinte e um, o que pode ajudar — deve ser uma semana lenta de trabalho — ou atrapalhar — algumas pessoas podem ser atropeladas justamente pela falta de tempo na semana para liqüidar alguma tarefa urgente e inadiável. O lugar é um pouco remoto, a Lapa de Baixo, perto da Marginal do rio Tietê; mas, numa semana curta, esperamos que o trânsito não esteja ruim.</p>Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-6838506.post-83604011887813864212009-02-11T19:25:00.000-02:002009-02-11T19:31:09.405-02:00Balanço geral da II Conferência PostgreSQL Brasil (2008)<p><span class = "post-body-first-line"><span class = "post-body-first-letter">D</span>epois de vários meses, consigo um pouco de tranqüilidade</span> para fazer um balanço geral da II <a title = "Conferência Brasileira de PostgreSQL" href = "http://pgcon.postgresql.org.br/">PgConBR</a> (2.008).</p>
<p>Em primeiro lugar, devo dizer que fiquei impressionado. A <a href = "http://pgcon.postgresql.org.br/2007/">I PgConBR</a> (2.007) deixara altas expectativas: segundo o <a href = "http://fetter.org./">David <span class = "last-surname">Fetter</span></a>, fora uma primeira conferência melhor do que muitas segundas ou terceiras conferências ao redor do mundo; ele viera com altas expectativas, que foram superadas. E, aparentemente, essa sua avaliação não foi isolada. Dado que imaginava que podia ter sido sorte de iniciante, talvez fruto de um grande entusiasmo, mas passageiro; e que a comunidade tomou a temerária iniciativa de organizar tudo sem o apoio duma empresa especializada, eu temia que pudesse haver problemas graves.</p>
<p>Certo, houve problemas. Mas os ingentes esforços da comunidade — e creio que aqui não cometo injustiça alguma em singularizar os esforços do <a href = "http://midstorm.org./~telles/">Fábio Telles <span class = "last-surname">Rodrigues</span></a>, que literalmente machucado e assoberbado de preocupações peitou a organização e supriu vários buracos, além de palestrar — fizeram que esta II PgConBr (2008) fosse ainda melhor que a I, de 2007.</p>
<p>Infelizmente não aproveitei tanto. Ao contrário da última vez, assumi de vez o papel de fotógrafo do evento, e descobri como é que fotografia pode ser, além de diversão e arte, artesanato e profissão: dá muito trabalho. Talvez porque não saiba fotografar direito… mas, enfim, o caso é que fotografar me tomou muito tempo de conversas, contatos e palestras. Em 2.007, fiquei quieto sentado vendo as palestras e fotografando de lado, até por não ter uma lente longa nem um tripé; até passei vergonha não sabendo operar o tripé que o Telles me emprestou enquanto seu filme não chegava… já desta vez, estava com tripé, lente longa, disparador remoto por cabo, <span title = "luz estroboscópica">flash</span>, enfim, todo o aparato… e nenhuma folga. Espero que <a href = "http://freesoftware.shutterfly.com/84">o resultado</a> tenha sido dalguma valia. Aliás, quando palestrei, o Telles ainda fotografou, e mesmo machucado o fez muito mais dinamicamente que eu — realmente ¡é uma força da natureza!</p>
<p>Enfim, ¿como foi a conferência? Do que peguei, e do que conversei com outros que aproveitaram mais, foi bem melhor ainda que a primeira. Desta vez não houve nenhuma palestra fora de lugar, nenhum constrangimento fosse técnico ou da comunidade. A impressão foi de que houve menos pessoas, provavelmente porque Campinas é mais fora de mão que São Paulo, embora seja muito mais confortável e barata para quem vem de fora; mas o nível técnico, me parece, melhorou. Os temas das palestras me deixaram de água na boca: <a href = "http://postgresql.org.br/Palestras_do_PGCon_Brasil_2008?action=AttachFile&do=get&target=pgcon2008-guedes.pdf">replicação</a>, <a href = "http://postgresql.org.br/Palestras_do_PGCon_Brasil_2008?action=AttachFile&do=get&target=pgcon2008-bueno.pdf">georeferenciamento</a>, <a href = "http://postgresql.org.br/Palestras_do_PGCon_Brasil_2008?action=AttachFile&do=get&target=pgcon2008-fike.pdf">escalabilidade</a>, <a href = "http://postgresql.org.br/Palestras_do_PGCon_Brasil_2008?action=AttachFile&do=get&target=Trees_and_More_PgCon_BR_2008.pdf">recursividade</a>, <a href = "http://postgresql.org.br/Palestras_do_PGCon_Brasil_2008?action=AttachFile&do=get&target=pgcon2008-euler-02.pdf">monitoramento</a>… sem contar as minhas próprias sobre <a href = "http://postgresql.org.br/Palestras_do_PGCon_Brasil_2008?action=AttachFile&do=get&target=falandoelefantes.pdf">comunidade</a> (com o <a href = "http://timbira.com./">Euler</a>) e <a href = "http://postgresql.org.br/Palestras_do_PGCon_Brasil_2008?action=AttachFile&do=get&target=apar.art.pdf">modelagem</a>. E nenhuma decepcionou. Houve vários segmentos da comunidade representados: ativistas, usuários empresariais & governamentais, acadêmicos; houve palestras conceituais, sobre tecnologia & aplicações; gente de várias partes do país, e mesmo do Exterior.</p>
<p>Quanto às minhas palestras — ou minha meia-palestra e meu tutorial —, devo dizer que fiquei lisonjeado, em primeiro lugar por dividir uma palestra com o Euler, em segundo por ter sido recomendado para isso pelo Fetter, e finalmente por me terem confiado o único tutorial, de duas horas. Espero não ter decepcionado; no Brasil, é bem mais fácil saber dos elogios que das críticas. Fiquei um pouco preocupado porque praticamente metade do tutorial foi consumido por dúvidas básicas, conceituais, da audiência; mas, por outro lado, essa interação com os participantes é, na minha opinião, o melhor que há. Fica uma preocupação, que talvez possa ser sanada em conferências futuras dividindo certos temas em um nível básico e, outro, avançado; não sei se seria adequado, mas talvez seja uma maneira de evitar que alguns ‘bóiem’ e outros fiquem aborrecidos. Outro problema é que essas perguntas da platéia puxaram a primeira hora do tutorial para quase um ‘repeteco’ da <a href = "http://postgresql.org.br/Palestras_do_PGCon_Brasil_2007?action=AttachFile&do=get&target=adpg.art.pdf">palestra de 2.007</a>; creio que, querendo palestrar em 2.009, devo conseguir outro tema. O que não é fácil para quem não pode se dedicar completamente ao <a href = "http://postgresql.org./">PostgreSQL</a>.</p>
<p>Em termos mais gerais <a href = "http://www.midstorm.org/~telles/2008/11/19/pgcon-brasil-2009-ja-tem-data-e-local-definidos/">para 2.009</a>, fica a necessidade de obtermos mais voluntários para a organização do evento, ou uma empresa que nos sirva bem na organização; de obtermos cooperação mais efetiva do <a href = "http://www.postgresql.org/community/contributors/">grupo global de desenvolvedores</a>; e de mais propostas de palestras, para variarmos mais tanto temas quanto palestrantes.</p>
<p>Ah, e ano que vem, ¡quero levar a família!</p>Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-6838506.post-3495298579528354092008-10-30T11:00:00.003-02:002008-10-30T11:22:31.269-02:00Mapear e Reduzir em PostgreSQL<p><span class = "post-body-first-line"><span class = "post-body-first-letter">O</span> ‘<a href = "http://en.wikipedia.org/wiki/Map_(higher-order_function)">Mapear</a> e <a href = "http://en.wikipedia.org/wiki/Fold_(higher-order_function)">reduzir</a>’</span>, o conceito da <a href = "http://google.com.br./">Google</a> para processamento de grandes quantidades de dados implementado como <a href = "http://labs.google.com/papers/mapreduce.html">MapReduce</a>, foi incoporado em dois derivativos do PostgreSQL, o <a href = "http://asterdata.com./product/mapreduce.php">Aster</a> e o <a href = "http://www.greenplum.com/resources/mapreduce/">Greenplum</a>.</p>
<p>Não fui atrás ainda dos detalhes de implementação e uso. Devido à <a href = "http://postgresql.org./about/licence">licença do PostgreSQL</a>, <a href = "http://gnu.org./copyleft/copyleft.pt-br.html">não neceßariamente temos o código-fonte desses derivativos</a>; e conheço peßoas da comunidade, com muito mais conhecimento do que eu, que acham que na verdade ißo não é útil, mas apenas uma jogada de publicidade para aproveitar o nome Google. Vejamos!</p>Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-6838506.post-5539607052780429192008-10-01T17:40:00.006-03:002008-11-02T22:15:45.191-02:00Palestras da II Conferência Brasileira de PostgreSQL (2008)<p><span class = "post-body-first-line"><span class = "post-body-first-letter">F</span>inalmente estão disponíveis</span> <a href = "http://postgresql.org.br/Palestras_do_PGCon_Brasil_2008">os materiais referentes às palestras</a> da <a href = "http://pgcon.postgresql.org.br/">II Conferência Brasileira de PostgreSQL (2008)</a>, vulgo PgConBR2008. Inclusive <a href = "http://postgresql.org.br/Palestras_do_PGCon_Brasil_2008?action=AttachFile&do=get&target=falandoelefantes.pdf">minha meia-palestra</a> com o <a href = "http://www.timbira.com/">Euler Taveira de <span class = "last-surname">Oliveira</span></a> e <a href = "http://postgresql.org.br/Palestras_do_PGCon_Brasil_2008?action=AttachFile&do=get&target=apar.art.pdf">meu tutorial</a> (também disponível <a href = "http://postgresql.org.br/Palestras_do_PGCon_Brasil_2008?action=AttachFile&do=get&target=pgcon2008-dutra.pdf">em lâminas</a>), assim como <a href = "http://postgresql.org.br/Palestras_do_PGCon_Brasil_2008?action=AttachFile&do=get&target=Trees_and_More_PgCon_BR_2008.pdf">a palestra que traduzi</a> do <a href = "http://fetter.org./">David <span class = "last-surname">Fetter</span></a>.
<p>Há alguns erros ortográficos e coisa e tal; se conseguir, um dia corrijo.</p>
<p>Aliás: os fontes estão disponíveis tanto para a <a href = "http://postgresql.org.br/Palestras_do_PGCon_Brasil_2008?action=AttachFile&do=get&target=falandoelefantes.ltx">Falando elefantês</a> quanto para a <a href = "http://postgresql.org.br/Palestras_do_PGCon_Brasil_2008?action=AttachFile&do=get&target=apar.ltx">O Elefante aparelhado</a>; no caso desta última, para compilar o <a href = "http://tug.org./">LaTeX</a> são necessários os cabeçalhos <a href = "http://postgresql.org.br/Palestras_do_PGCon_Brasil_2008?action=AttachFile&do=get&target=apar.art.ltx">de artigo</a> ou <a href = "http://postgresql.org.br/Palestras_do_PGCon_Brasil_2008?action=AttachFile&do=get&target=apar.bmr.ltx">de lâminas</a>.</p>Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-6838506.post-37490776005400759712008-09-30T08:02:00.004-03:002008-11-02T22:17:53.431-02:00Primeiras fotos do PgConBR 2008<p><span class = "post-body-first-line"><span class = "post-body-first-letter">E</span>stão no</span> <a href = "http://freesoftware.shutterfly.com./">Shutterfly</a> as primeiras fotos da <a href = "http://pgcon.postgresql.org.br./">II Conferência PostgreSQL Brasil (2008)</a>. São apenas três agora, duzentas e onze devem seguir-se nos próximos dias (ou semanas...) Paciência!</p>
<p>Aproveitando, aceito sugestões de onde carregar fotos em resolução mais alta ou até nos originais <a href = "http://www.adobe.com/br/products/dng/">DNG</a> ou <a href = "http://pt.wikipedia.org/wiki/RAW_(formato)">ORF</a> — mas tem de ser sem limite de espaço de armazenamento.</p>Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-6838506.post-40692261517860045792008-06-27T11:20:00.007-03:002008-06-27T15:13:38.905-03:00Minhas propostas ingênuas palestras para o PgCon BR 2008<p><span class="post-body-first-line"><span class="post-body-first-letter">E</span>stou completamente sem originalidade</span> — e sem tempo. Há outras coisas sobre o que escrever, mas, assim como duas vezes já nos últimos meses (e a segunda desde ontem) vou seguir o Fernando <span class="last-surname">Ike</span> com minha <a href="http://www.midstorm.org/%7Efike/weblog/index.php/2008/06/25/minhas-propostas-toscas-para-pgcon-brasil-2008/">exposição de propostas ingênuas de palestras</a> para a <a href="http://pgcon.postgresql.org.br/">Conferência Brasileira de PostgreSQL 2008</a>.</p>
<p>Lembrando que hoje (dia vinte e sete de junho do ano da Graça de dois mil e oito &c &c) é o último dia para apresentar as propostas.</p>
<h2>Um elefante previdente: preparando-se para o futuro de seu sistema com uma boa
arquitetura e modelagem de dados em PostgreSQL.</h2>
<p>Palestra</p>
<h3>Público Alvo: intermediário</h3>
<h3>Resumo</h3>
<p>Freqüentemente vemos, em listas de discussões e outros fora de comunicações,
pessoas pedindo ajuda com problemas decorrentes de abordagens ingênuas de
arquitetura de sistemas, e dois dos aspectos mais problemáticos têm sido a
arquitetura e a modelagem de dados. Muitas vezes os problemas só aparecem
quando sua correção é praticamente impossível. Veremos quais conceitos
básicos de administração e modelagem de dados são mais críticos para um
sistema à prova de futuro, e como aplicá-los em sistemas PostgreSQL com alguns
exemplos básicos em SQL e D.</p>
<h3>Descrição</h3>
<p>Problemas de arquitetura: a tragédia do cliente servidor e a crise de
software.</p>
<p>Manipulando os dados onde estão: evitar turismo de bits.</p>
<p>Problemas de organização: saiba do que fala antes de abrir a boca.</p>
<p>Tipos (abstratos) de dados e domínios SQL: evitando a confusão.</p>
<p>Entidades e relacionamentos: cada coisa no seu porta-coisa.</p>
<p>Restrições de integridade: deixe a base de dados cuidar de si.</p>
<p>Problemas de modelagem: a otimização precoce é a raiz de toda sorte de males.</p>
<p>Normalização: otimizando o gargalo mais comum. Ou você quer mesmo fazer o disco se exercitar?</p>
<p>Desnormalização: ¿¡tem certeza!? Fazendo o disco trabalhar dobrado.</p>
<h2>O elefante aparelhado: ferramental e processo de administração de dados em
PostgreSQL.</h2>
<p>Tutorial (pode também ser resumido numa palestra).</p>
<h3>Público Alvo: intermediário</h3>
<h3>Resumo</h3>
<p>Freqüentemente confunde-se modelagem e diagramação de dados, e aí vemos
pessoas tentando ‘tirar leite de pedra’: criar um modelo apenas com
ferramentas de diagramação, ou de mapeamento objeto-relacional.</p>
<p>Pior ainda, o trabalho de administração de dados não se resume à modelagem. A
documentação, a manutenção do ciclo de vida de uma base de dados, o apoio ao
desenvolvedor e ao usuário são também responsabilidades do administrador de
dados.</p>
<p>Há toda uma variedade de ferramentas para auxiliar na administração de dados,
e pretendemos mostrar algumas ao longo do ciclo de vida da base.</p>
<h3>Descrição</h3>
<p>Documentação: requisitos, interfaces e regras de negócio.</p>
<p>Rascunhos: cérebro, caneta e papel.</p>
<p>O modelo de dados: seu editor de textos preferidos, e DDL. Ou que tal algo
melhor?: a possibilidade próxima futura de DDL relacional no Alphora Dataphor
como uma interface relacional para PostgreSQL.</p>
<p>O diagrama de dados: AutoDoc e SQL::Fairy, deixe o programa trabalhar por
você!</p>
<p>Documentos: AutoDoc, SQL::Fairy, LaTεχ e DocBook. Concentre-se no conteúdo,
não na formatação.</p>
<p>Controle do ciclo de vida da base: versionamento, colaboração, e geração
automática dos produtos.</p>Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-6838506.post-13409308823533128552008-06-26T18:03:00.004-03:002008-11-02T22:13:59.845-02:00Ajude a sustentar a Wikipédia e outros projetos, sem colocar a mão no bolso, e concorra a um Eee PC!<p><span class = "post-body-first-line"><span class = "post-body-first-letter">…e</span> também a pen drives, card drives, camisetas geeks, livros e mais!</span> O <a href = "http://br-linux.org/">BR-Linux</a> e o <a href = "http://efetividade.net/">Efetividade</a> lançaram uma <a href = "http://br-linux.org/2008/campanha-wikipedia/">campanha</a> para ajudar a <a href = "http://wikimedia.org./">Wikimedia</a> Foundation e outros mantenedores de projetos que usamos no dia-a-dia on-line. Se você puder doar diretamente, ou contribuir de outra forma, são sempre melhores opções. Mas se não puder, veja as regras da promoção e <a href = "http://br-linux.org/2008/campanha-wikipedia/">participe</a> — quanto mais divulgação, maior será a doação do BR-Linux e do Efetividade, e você ainda concorre a diversos brindes!</p>
<p>É uma idéia do <a href = "http://augustocampos.net/">Augusto <span class = "last-surname">Campos</span></a>, da qual fiquei sabendo pelo <a href = "http://www.midstorm.org/~fike/weblog">Fernando <span class = "last-surname">Ike</span></a> através do <a href = "http://planeta.postgresql.org.br">Planeta</a> <a href = "http://postgresql.org/">PostgreSQL</a> <a href = "http://postgresql.org.br/">Brasil</a>.</p>
<p>Escolhi, além da Wikipædia, o OpenSSH, que é fundamental para a operação segura da Internet (além dos meus sistemas!). E viva a liberdade!</p>Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-6838506.post-21218648989649265262008-05-24T02:08:00.003-03:002008-05-24T03:33:16.232-03:00Yahoo! e PostgreSQL escalável<p><span class = "post-body-first-line"><span class = "post-body-first-letter">E</span>sta é de se fazer pensar.</span> Apesar da esperança que <a href = "http://postgresql.fastware.com/">japoneses</a> estejam fazendo algo sobre escalabilidade horizontal com o PostgreSQL, quem chega lá primeiro? <a href = "http://www.informationweek.com/news/showArticle.jhtml?articleID=207801579&cid=feed-yahoo-news">O Yahoo!</a>. O Yahoo! não publicou código, mas o simples fato de ter divulgado já ajuda outras iniciativas, e dá a esperança de que o código seja publicado.</p>
<p>Mesmo que o PostgreSQL estivesse sob <a href = "http://gnu.org./copyleft/copyleft.pt-br.html">esquerdo de cópia</a>, essa situação de ter algo tão perto, tão longe, seria inevitável: nem o Yahoo! publica sua versão de PostgreSQL, nem o Google publica seu BigTables. A GNU GPL não obriga publicar código de uso interno, e nem pode: restringir uso interno, que não implique em redistribuição, seria transformar um programa de livre em proprietário.</p>
<p>Mas o mais interessante aqui não é o aspecto de licenciamento, é a perspectiva de bases de dados livres muito mais escaláveis que as atuais. O custo <a href = "http://www.computerworld.com/action/article.do?command=viewArticleBasic&taxonomyId=18&articleId=9087918&intsrc=hm_topic">aparentemente é baixo, com menos de mil servidores</a> para <abbrev title = "dois petabytes">2 PB</abbrev>. Um <a href = "http://mvdirona.com/jrh/Resume/">funcionário da Microsoft</a> diz que é um sistema semelhante ao <a href = "http://ibm.com./software/data/db2/9/edition-enterprise.html">IBM DB2</a> <a href = "http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com.ibm.db2.udb.admin.doc/doc/c0021803.htm">Database Partitioning Feature</a>, no qual trabalhou ainda sob o nome de Parallel Edition, antes de ir para o lado negro da Força, mas o fato de haver uma <a href = "http://google.com./patents?id=PbebAAAAEBAJ">patente na jogada</a> sugere que pode ser que a Yahoo! tenha de fato comprado uma jóia — este é um desenvolvimento duma tecnologia comprada com uma empresa chamada Mahat Technologies, da qual não há traços na Teia fora os relacionados a este anúncio, ao menos segundo o Google; e o que o Google não sabe, não existe!</p>
<p>Já há rumores de que a Yahoo! vai colaborar com a comunidade PostgreSQL, o que é reforçado por seu <a href = "http://pgcon.org./2008/sponsors.php">patrocínio</a> à <a href = "http://pgcon.org./">Conferência Mundial de PostgreSQL</a>. A <a href = "http://blogs.ittoolbox.com/database/soup/archives/pgcon-day-1-highlights-24869">Hitachi</a> e a <a href = "http://sf.net./projects/gridsql/">EnterpriseDB</a> também têm idéias semelhantes, então mesmo que a Yahoo! esteja com a melhor tecnologia e sua patente não permita que ninguém mais faça algo tão bom, ainda assim certamente deve haver grandes melhorias nessa área. O GridSQL já é um projeto livre, e dizem que a <a href = "http://www.pgcon.org/2008/schedule/events/57.en.html">Hitachi</a> vai liberar código também, veremos. A <a href = "http://www.nttdata.co.jp./en/">NTT Data</a>, outra empresa japonesa, já está devendo o sistema de envio de registros; talvez as coisas no Japão venham devagar, enquanto eles limpam todo o código de quaisquer problemas que os pudessem envergonhar…</p>Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-6838506.post-5949478151028195372008-05-23T16:44:00.008-03:002008-05-23T19:39:14.139-03:00Ingres Relacional<p><span class = "post-body-first-line"><span class = "post-body-first-letter">M</span>ais uma notícia interessante</span> de tentativas de implementar plenamente o modelo relacional em sistemas de produção. <a href = "http://www.dcs.warwick.ac.uk/~hugh/">Hugh <span class = "last-surname">Darwen</span></a> nos diz que</p>
<blockquote>
<p>O Projeto D do <a href = "http://ingres.com/">Ingres</a> busca adicionar ao servidor de bases de dados Ingres suporte à linguagem <a href = "http://thethirdmanifesto.com/CHAP05.pdf">Tutorial D</a>. […]</p>
<p>O Projeto D possibilitará desenvolvimento de bases de dados usando um ambiente de desenvolvimento completamente conforme à especificação D, consistindo do servidor de bases de dados Ingres e um superconjunto da linguagem <a href = "http://thethirdmanifesto.com/APPXA.pdf">Tutorial D</a>, incluindo ferramentas de suporte. […] Vai fornecer um SGBD robusto que, no final das contas, implementará tudo do <a href = "http://thethirdmanifesto.com/CHAP04.pdf">Terceiro Manifesto</a>, dados temporais e do Modelo Relacional</p>
<ul>
<li>Imposição de restrições complexas de integridade de dados afetando muito pouco o desempenho da maior parte das restrições.</li>
<li>Variáveis de relação virtuais, visões materializadas.</li>
<li>Otimização semântica de expressões relacionais.</li>
<li>Atribuição múltipla simultânea eficiente.</li>
<li>Otimização de bases de dados temporais.</li>
<li>Especialização por restrição.</li>
<li>Atualizações irrestritas a variáveis de relação virtuais, quando possível.</li>
<li>Estruturas físicas de armazenamento auto-organizadas (SGBD autônomo).</li>
</ul>
</blockquote>
<p>Como vêem, são objetivos ambiciosos, e que certamente demorarão para amadurecer. Atualmente, o <a href = "http://alphora.com/">Alphora</a> <a href = "http://dataphor.org/">Dataphor</a> é uma aposta muito mais segura, embora ainda careça de portes para plataformas livres, especificamente <a href = "http://mono-project.com/">Mono</a> e <a href = "http://postgresql.org.br/">PostgreSQL</a>. Entretanto, o Dataphor ainda é um sistema virtual, enquanto o Projeto D do Ingres, se for bem-sucedido, será um sistema integrado e já nascerá portável, aparentemente.</p>
<p>Resta ver se conseguirão evitar duas decisões que a Alphora viu-se constrangida a tomar: adotar os NULLs do <a href = "http://savage.net.au/SQL/sql-2003-2.bnf.html">SQL</a> e abandonar a especialização por restrição. E, principalmente, quando chegarão os primeiros frutos.</p>Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-6838506.post-63006020124070741432008-05-20T21:41:00.004-03:002008-05-21T13:47:22.818-03:00Leonardo César e os softicidas<p><span class = "post-body-first-line"><span class = "post-body-first-letter">C</span>onversa esses dias</span> com o Leonardo <span class = "last-surname">César</span>:</p>
<p><dialog>
<dt>Eu: O que é isso?</dd>
<dd>LC: Isso o quê?</dd>
<dt>Softcida…</dt>
<dd>cida = assassinos (?)</dd>
<dt>E quem são os tais? Maus programadores, gestores, o quê?</dt>
<dd>Sim, estes mesmos…</dd>
<dt>Estes últimos, os gestores… certo!</dt>
<dd>Veja bem, estamos desenvolvendo uma arquitetura bem complexa e distribuída através de webservices (SOAP). Isso envolve alguns bancos e seguradoras e estes normalmente estão utilizando Java ou .Net. O problema é que as ferramentas geram os clientes automaticamente, baseado no WSDL.</dt>
<dt>Uau! Mas e aí?</dt>
<dd>E estas ferramentas não são compatíveis com a especificação padrão WSDL e os "programadores" não fazem a mínima questão de ler a especificação e ver que a ferramenta deles não gera o cliente porque fogem do padrão… e daí eu que preciso adequar o WSDL às ferramentas de todos os clientes…
por isso odeio softcidas…</dd>
</dialog></p>
<p>Isso me fez lembrar adivinhem o quê? Hybernate!</p>
<p>Pode parecer à primeira vista não ter nada a ver. Mas tem: alguém faz ferramentas de qualquer jeito, sem levar em conta os conceitos e padrões fundamentais, tornando-se um softcida, que vai gerar muito mais problemas do que aparentemente resolve.</p>
<p>Usar Hybernate é cometer softcídio, porque os resultados são terríveis assim que se precisa escalar, e geralmente muito antes, por causa da inconsistência de dados. Evite Hybernate, previna o softcídio. Aprenda dados e SQL.</p>Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-6838506.post-83616185666949306672008-04-13T22:22:00.010-03:002008-05-21T13:49:16.070-03:00Entrevista concedida ao Fernando Ike<dialog>
<dt><span class = "post-body-first-line"><span class =
"post-body-first-letter">O</span> que é um Arquiteto de Dados</span>?</dd>
<dd>A pessoa responsável pela arquitetura e administração dos dados de uma organização. No caso, a arquitetura envolve desde a arquitetura de sistemas de bases de dados até a modelagem dos dados e sua manutenção; e a administração seria mais especificamente a manutenção dos modelos e
dicionários de dados.</dd>
<dt>Qual a interação de um Arquiteto de Dados e um <abbrev lang = "en" title = "Data Baſe Adminiſtrator">DBA</abbrev>? Ou é a mesma coisa?</dd>
<dd>Muitas vezes, em organizações menores ou menos estruturadas, a administração de dados é efetuada pelo Administrador de Bases de Dados. Mas normalmente, o DBA deve se ocupar da administração diária dos bancos de dados físicos e seu conteúdo, efetivamente uma administração dos Sistemas Gestores de Bases de Dados. Enquanto o AD deve se ocupar do projeto das bases de dados e sua estrutura lógica, não se envolvendo diretamente nos aspectos físicos.</dd>
<dt>Ok. corrigindo, Administrador de Base de Dados.</dt>
<dd>Tanto faz. Databank era o uso até os anos 70, que ficou fixado no Brasil. No resto do mundo se usa base.</dd>
<dt>Com essa afirmação, é possível supor que o AD seria o chefe de DBA (vou manter a sigla por enquanto…)?</dt>
<dd>Não, eles colaboram em níveis hierárquicos similares. Imagine um novo sistema. O arquiteto de dados será responsável pelos aspectos lógicos, principalmente a modelagem da estrutura da base; o DBA participará do projeto físico, como questões de distribuição, processamento e
armazenamento. Um não trabalha sem o outro, e enquanto o projeto lógico deveria teoricamente determinar o físico, restrições tecnológicas podem (embora indesejável) determinar aspectos do lógico.</dd>
<dt>Como você afirmou acima, as vezes o DBA acaba executando algumas funções que estariam com AD, no Brasil tem mercado para um Arquiteto de Dados?</dt>
<dd>Ainda restrito e subvalorizado, mas tem. Empresas que têm na informação seu principal meio de trabalho costumam contratar ou formar um quando amadurecem. Bancos, empresas de informação de crédito, seguradoras e até corretoras de seguros, mesmo fornecedores de programas (é o caso de
meu empregador atual).</dd>
<dd>É verdade que há retrocessos, como o advento da terceirização; assim, há o caso de uma multinacional fabril que terceirizou a mão de obra, de modo que a mesma vaga, que antes percebia determinada quantia CLT, hoje percebe a mesma quantia mas em regime PJ, sem correção significativa.</dd>
<dd>Outro fator detrimental é o foco em produtos, não em conceitos e processos. Assim, a mesma multinacional já deixou de contratar ótimos candidatos por falta de experiência em determinada marca de ferramenta de administração e diagramação, sendo que o candidato em questão tinha
experiência suficiente em mais de uma ferramenta completamente equivalente.</dd>
<dd>Resumindo, ainda é um mercado bastante imaturo, o que leva a situações como as recomendações do AD serem vencidas por meras impressões e preconceitos de pessoas sem experiência com dados, opinando simplesmente do ponto de vista de vícios de programação por exemplo.</dd>
<dt>Então é possível afirmar que para um Arquiteto de Dados não é necessário ter conhecimento em vários banco de dados?</dt>
<dd>Em princípio não. Entretanto, devido à imaturidade de vários SGBDs — citem-se por exemplo, mas não exaustivamente, suporte deficiente a tipos de dados em Oracle, MS SQL Server, Sybase e MySQL, e problemas graves de desempenho e consistência neste último —, muitas vezes é conveniente que o AD possa compreender essas especificidades e trabalhar com o DBA e os
desenvolvedores para adaptar a arquitetura e o modelo de dados às circunstâncias tecnológicas.</dd>
<dt>Não citou o PostgreSQL, ele é um boa referência para quem quer iniciar uma carreira como AD?</dt>
<dd>Uma das melhores, no mesmo nível do IBM DB2. São os SGBDs que têm o melhor suporte tanto ao padrão ISO SQL:2003 (o 2006 ainda não se fez sentir no dia-a-dia) quanto ao modelo relacional — ambos com restrições, mas ainda assim superiores a todos os concorrentes mais óbvios.</dd>
<dd>Entretanto, sendo uma área de atuação eminentemente lógica, recomenda-se, mais que determinados SGBDs, o futuro AD tenha um bom domínio tanto do modelo relacional, quanto de outros aspectos da teoria da gestão de bases de dados, e inclusive do padrão ISO SQL:2003 em si. As referências padrão, pela atenção que dão aos aspectos lógicos, são as obras de
<abbr title = "Christopher">Chris</abbr> J <span class="last-surname">Date</span>, embora polêmicas em vários aspectos que chegam a suscitar reações apaixonadas contra e a favor de vários praticantes de prestígio.</dd>
<dt>Esse é um ponto interessante, pois reflete alguns aspectos teóricos que envolvem o DBA. Um AD necessariamente deve ser um DBA também?</dt>
<dd>Não necessariamente. Entretanto, justamente devido a todas as restrições tecnológicas atuais, é interessante que o AD tenha a capacidade de adaptar-se a circunstâncias, o que pode ser facilitado se ele tiver tido alguma experiência com aspectos físicos, seja como DBA, programador, analista de sistemas, SysAdmin… isso lhe dará mais empatia com posições
eventualmente divergentes na negociação de projetos de arquitetura de dados e modelagem, e possibilidade de dialogar com os problemas físicos reais ou imaginários freqüentemente trazidos por outros profissionais.</dd>
<dt>Pensando que uma empresa irá contratar uma consultoria para área de banco de dados, o que a mesma economizará contratando um Arquiteto de Dados ao invés de ter somente DBAs?</dt>
<dd>Nem tudo na vida são economias. Embora o principal foco do AD não seja monetário, porque o resultado do seu trabalho dificilmente é mensurável nesses termos, há muitos erros de projeto caros que podem ser minorados pela presença de um AD, ou pelo menos de um DBA com preocupação pelos aspectos lógicos.</dd>
<dd>Um dos aspectos do trabalho do AD é a normalização, que evita duplicação de dados que normalmente torna o desenvolvimento do sistema como um todo, mesmo na fase de programação, mais complexo, frágil, lento e arriscado, podendo também gerar custos de manutenção e operação como freqüentes anomalias de atualização, consumo exagerado de recursos de sistema, problemas de escalabilidade &c.</dd>
<dd>Um exemplo foi uma operadora de telecomunicações brasileira que tinha um consultor ao custo de ao menos nove mil dólares por mês (valor mínimo cobrado pela consultoria, possivelmente muito mais naquele caso específico) para resolver casos de inconsistência de dados. Além desse gasto muito simples e mensurável, essas inconsistências geravam grandes problemas de insatisfação de clientes. Não é difícil imaginar alguns desses problemas tornando-se questões mesmo de relações públicas, no caso de uma operadora de serviços públicos.</dd>
<dd>Há que se considerar também a questão da eficiência: embora alguns DBAs possam desempenhar funções de AD com razoável competência, será um uso ineficiente do recurso humano, que perderá foco em sua função tradicional sem realmente se concentrar na de AD.</dd>
<dd>O outro lado da moeda é que, devido ao baixo nível intelectual de muitas equipes de desenvolvimento impedi-las de compreender questões lógicas de conseqüências não inteiramente óbvias e imediatas, o peso da opinião de um DBA praticante pode ser maior que a de um AD. Entretanto, uma equipe com esse problema certamente terá muitos outros problemas igualmente óbvios e imediatos.</dd>
<dt>É um problema de maturação do mercado de TI no geral.</dt>
<dd>Aliás, ou de maturação ou, às vezes dá impressão, decadência…</dd>
<dt>Dê duas ou três dicas rápidas para quem quiser trabalhar como AD.</dt>
<dd>
<ol>
<li>Concentrar-se num sólido conhecimento conceitual;</li>
<li>Abstrair problemas específicos de SGBDs, mesmo que depois sejam necessárias adaptações;</li>
<li>Desenvolver uma visão ampla, que contemple desde as regras de negócio (== restrições de integridade) até questões de desempenho e manutenção da aplicação.</li>
</ol>
</dd>
</dialog>Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-6838506.post-33436088231349534092008-03-22T12:44:00.002-03:002008-03-22T21:15:41.948-03:00Administração de dados: codificação de caracteres<p><span class = "post-body-first-line"><span class = "post-body-first-letter">C</span>odificação de caracteres</span>. Não deve haver assunto mais insistente na <a href = "http://listas.postgresql.org.br/pipermail/pgbr-geral/2008-March/thread.html">lista brasileira de discussões</a>. <a href = "http://www.postgresql.org/docs/current/static/multibyte.html">ASCII, Latin1 e UTF-8</a> estão sempre em discussão. Mas alguém pode dizer: ‘Isso não é um problema de administração de dados, mas físico! É uma questão do que é mais eficiente!’ Mas não — a codificação de caracteres limita o que pode ser codificado, e portanto um administrador de dados, sempre que possível, vai
querer usar o que for mais flexível, que não estabeleça limites arbitrários.</p>
<p>Ainda tem gente brigando com bases de dados em ASCII. Tipicamente, porque instalou um sistema operacional sem configurar a língua, ficando com as configurações por omissão, ou seja, o local ‘C’. O problema é que o ASCII é 7 bits, portanto codifica apenas 128 caracteres — o que, devido a caracteres de controle, não imprimíveis, pontuação e acentuação para línguas mais votadas, não cobre todos os caracteres da língua portuguesa. Ou seja, é verboten!</p>
<p>A opinião mais corrente parece ser a de que ‘não se precisa mais que Latin1 no Brasil’. <em>Errado!</em> Latin1, cujo nome correto é ISO 8859-1, está obsoleto: por exemplo, não consegue codificar €, o símbolo do Euro. Ou seja, proibido também.</p>
<p>Então, dirão, vamos de Latin9, ISO 8859-15. Sim, é uma escolha razoável. Mas imagine que chegue um chinês maluco, goste de seu programa, e decida levá-lo para a China. Pena, você acabou de perder o negócio de sua vida. E se teu chefe decidir expandir negócios para a Índia, e descobrir que você criou um sistema que só serve para o Ocidente? Pena, você vai ter de
procurar outro emprego.</p>
<p>Isso nos deixa com Unicode, do qual a escolha mais razoável no Ocidente é o UTF-8. Sim, UTF-16 é mais consistente, mas além de ser o único suportado pelo PostgreSQL, ocupa apenas um byte para os caracteres ocidentais, que costumam ser a grande maioria, exceto para aplicações estritamente locais do Oriente. E, se você tem algum problema em usar UTF-8… bom, ele suporta
qualquer codificação, então certamente é um problema estritamente de aplicação, configuração, até um possível defeito no PostgreSQL ou alguma biblioteca relacionada, mas certamente não é um problema do UTF-8 em si.</p>
<p>Resumindo, a menos que você precise de algo muito, muito específico mesmo, faça-se um favor — Unicode na cabeça.</p>Anonymousnoreply@blogger.com4tag:blogger.com,1999:blog-6838506.post-53004765350929315272008-03-21T15:26:00.005-03:002008-03-22T10:08:22.296-03:00Administração de Dados: um sistema livre e relacional<p><span class = "post-body-first-line"><span class =
"post-body-first-letter">F</span>inalmente, habemus um sistema (quase) relacional e
livre!</span> Não, o (outramente ótimo) <a href = "http://postgresql.org.br/">PostgreSQL</a> não
é relacional — ele é <a href = "http://savage.net.au/SQL/">SQL</a> e, portanto, <a href =
"http://houseabsolute.com/presentations/sql-is-not-relational/">não relacional</a>. Mas o
<a href = "http://alphora.org/">Alphora</a> é <a href = "http://dataphor.org/index.php?title=About:License">tão livre</a> quanto o
PostgreSQL, e é quase completamente relacional, exceto por implementar os NULLs do SQL.</p>
<p>Perde-se algo? Desempenho, por enquanto. O Alphora é implementado por cima de bases SQL,
portanto não consegue ter o mesmo desempenho, por acrescentar uma camada com seu próprio
interpretador, alguma latência, consumo de recursos &c. Mas creio que vale a pena.</p>
<p>Buracos? Vários. Por enquanto roda somente em MS .Net, e nos SGBDs proprietários mais o
MySQL. Mas tendo sido liberado o código-fonte (espero que seja bonito, ainda não vi), a
esperança é que logo seja portado para <a href = "http://mono-project.com/">Mono</a> e
PostgreSQL. E precisa de mais e melhor documentação.</p>Anonymousnoreply@blogger.com4tag:blogger.com,1999:blog-6838506.post-91264900902443762008-03-11T23:11:00.002-03:002008-03-11T23:33:41.048-03:00Administração de Dados: tipos & domínios<p><span class = "post-body-first-line"><span class = "post-body-first-letter">S</span>eguindo a série sobre</span> os <a href = "http://dutras.blogspot.com/2008/03/administrao-de-dados-os-fundamentos.html">fundamentos da gestão de dados</a>, falemos sobre os tipos de dados.</p>
<p>Fico impressionado com a quantidade de ‘ferramentas de modelagem de dados’ que não passam de diagramadores — porque não suportam o conceito mais básico depois da própria teoria de dados, que é o de tipagem.</p>
<p>Há muita confusão neste campo por erros terminológicos de ferramentas, métodos e mesmo padrões. Por exemplo, quase todos os sistemas de informática suportam alguns tipos de dados — mas geralmente são apenas alguns poucos tipos básicos, não extensíveis pelo usuário. E quando há essa extensibilidade, chamam-nos tipos abstratos de dados, como se houvesse outros tipos não abstratos. Confundem-se tipos com sua representação, de modo que duas representações são tratadas como tipos diferentes. E, por fim, chamam-se domínios a simples nomes dados a determinados tipos básicos, talvez com algumas restrições de integridade associadas.</p>
<p>Ora, tipos nada mais são que domínios e seus operadores associados; enquanto domínios são listas de valores (não necessariamente discretos) nos quais se pode definir um atributo. Assim, os domínios ISO SQL não são domínios de verdade, e o conceito realmente útil seria o de tipos, mas que também não é realmente suportado, e o que é suportado é de difícil implementação.</p>
<p>Sem uma definição de domínios centralizada no SGBD ou ao menos na ferramenta de modelagem, cada relação do modelo vai tender a ganhar diferentes definições para os mesmos tipos de dados, e o caos é o limite. Sem contar as comparações e cálculos absurdos que se fazem entre tipos de dados incompatíveis.</p>
<p>Em PostgreSQL temos uma sorte: os tipos são um pouco melhor implementados que noutros SGBD ou mesmo no padrão ISO SQL, e em combinação com os domínios SQL realmente se aproximam do conceito matemático. Duro é trabalhar num projeto que realmente implemente os tipos e aloque um programador (C ou D, por exemplo) para criar os tipos assim que possível, antes do resto da programação e implementação da base de dados.</p>
<p>O suporte, embora imperfeito, está aí. Mesmo que tipos SQL muitas vezes não sejam práticos, pelo menos seus ‘domínios’ ajudam. Agora não me venham com diagramas bonitos chamando-os de modelos, se pelo menos os domínios não estão definidos! Quase cem por cento de probabilidade de que, se já não houver grandes inconsistências, elas logo ocorram ao longo da vida da aplicação.</p>Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-6838506.post-8867075822586708392007-12-10T10:19:00.001-02:002008-03-09T17:55:42.737-03:00Conferência PostgreSQL Brasil 2007<p><span class = "post-body-first-line"><span class = "post-body-first-letter">D</span>ois dias de conferência</span>. Meſmo ſem ter participado da organização, fotografei (166 poses), ajudei a atender peßoas, fiquei até às 21h, traduzi… além de <a href = "http://leandro.gfc.dutra.googlepages.com/adpg.art.pdf">minha paleſtra</a>.</p>
<p>Fazia tempo que não via tanta gente inteligente junta, e parece que minha paleſtra não foi um fiaſco completo. Eſpero que tenha ajudado.</p>
<p>Mais tarde publico algumas fotos — a maior parte ſe perdeu porque não sabia regular a ſenſibilidade do sensor, e lidei com um palco sombrio e a projeção das tranſparências ao fundo. Só no final deſcobri como ajuſtar o <a href = "http://gl.wikipedia.org/wiki/Sensibilidade_da_película_fotográfica">ASA</a> para [48]00 e ſer feliz.</p>Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-6838506.post-4743002264533358772007-11-12T11:07:00.001-02:002008-03-09T17:48:43.045-03:00PostgreSQL Conference Brasil 2007<p><span class = "post-body-first-line"><span class = "post-body-first-letter">V</span>ou falar no <a href = "http://pgcon.postgresql.org.br./">PGCon 2007</a></span>, patrocinado e organizado pela <a href = "http://postgresql.org.br/">comunidade PoſtgreSQL</a> brasileira e pela <a href = "http://www.temporealeventos.com.br/?area=80">Tempo Real</a>, sobre Adminiſtração e Modelagem de Dados em PoſtgreSQL.</p>
<p>Inſcrevam-ſe e acompanhem aqui, pretendo publicar o conteúdo da palestra <em>antes</em> do evento para que todos a aproveitem melhor e quem ſabe naſça algum debate intereßante.</p>Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-6838506.post-12978158961642284412007-07-02T07:29:00.001-03:002008-03-09T23:47:39.521-03:00Administração de dados à la Unix<p><span class = "post-body-first-line"><a href = "http://www.mail-archive.com/pgbr-geral@listas.postgresql.org.br/msg01688.html"><span class = "post-body-first-letter">O</span>riginalmente publicada</a> em <a href = "http://dir.gmane.org./gmane.comp.db.postgresql.brasil.user">pgbr-geral@postgresql.org.</a></span>, tranſcrita com adaptações.</p>
<p>Eſta é uma idéia bem incipiente, goſtaria de diſcuti-la aqui. Alguns podem achar que é fora do tópico; neße caſo, aceito ſugeſtões de onde debatê-la.</p>
<p>Andei inveſtigando ferramentas de modelagem, e acabei ficando fruſtrado. Pelo que olhei e até teſtei, as ferramentas ‘profißionais’ eſtão por volta de US$4K, chegando facilmente a US$8K ſe a gente quiſer ‘luxos’ (¡não!) como verſionamento. As ferramentas livres são inexiſtentes, incompletas e (ou) imaturas; eſcolha pelo menos dois deßes adjetivos. Além de falta de ſuporte a <a href = "http://gnu.org./">ſiſtemas livres</a> e vai por aí afora.</p>
<p>Mas agora o que tem me irritado é o próprio fluxo de trabalho deßas ferramentas. Não são nada práticas, forçando tudo a paßar por diagramas. Eu preferiria fazer tudo em texto, e ter diagramas como ſaídas do proceßo, não entradas. E tive a idéia maluca de eſcrever uma propoſta a reſpeito, mas queria ſaber ſe alguém já viu algo aßim, ou ſe é abſurdo.</p>
<p>Hoje, numa ferramenta de modelagem de dados, o proceßo começa com a definição de um dicionário de dados. Uſando eße dicionário de dados, cria-ſe um <acronym title = "Diagrama de Entidades e Relacionamentos">DER</acronym>. Eße diagrama é então traduzido para o ſabor <acronym lang = "en" title = "Structured Query Language">SQL</acronym> do <abbrev title = "Siſtema Geſtor de Baſes de Dados">SGBD</abbrev> relevante.</p>
<p>O problema óbvio é que diagramas são menos expreßivos e mais chatos de fazer que um programa SQL ou (idealmente) relacional. Então por que não eſcrever <acronym title = "Organização Internacional para Padronização">ISO</acronym> SQL, <a href = "http://thethirdmanifesto.com/">Tutorial D</a> ou meſmo <a href = "http://alphora.com./tiern.asp?ID=DATAPHOR">D4</a> (deſculpem os <a href = "http://fsf.org./">idealiſtas</a>, também ſou idealiſta mas…)?</p>
<p>Não ſeria fácil, mas creio que ſeria poßível, com planejamento e paciência, criar um ſiſtema muito mais produtivo e flexível uſando a filoſofia <a href = "http://unix.org./">Unix</a>: cada tarefa deve ſer bem feita por um componente. As interfaces são bem definidas, e cada ferramenta pode ſer ſubſtituída ou melhorada independentemente.</p>
<p>No caſo, começar‐ſe‐ia com uma gramática (por exemplo) Tutorial D ou D4. Talvez uſar um derivado de <a href = "http://schemers.org./">Scheme</a> ou <a href = "http://successor-ml.org./">ML</a> para obter mais concisão e poder programático, creio que já fizeram um <a href = "http://schemecookbook.org/Cookbook/SchemeQL">SchemeQL</a> ou coiſa aßim.
Mas talvez um ſubconjunto do <a href = "http://savage.net.au/SQL/sql-2003-2.bnf.html">ISO SQL:2003</a>, deixando de lado tudo o que for físico como ponteiros, índices &c; embora eu não creia que o SQL
seja ſuficientemente expreßivo de todas as ſituações com que um SGBD deva lidar — eſpecificamente, todos os tipos de reſtrições de integridade.</p>
<p>Neßa linguagem, definiríamos domínios, entidades, regras de negócio &c, tudo o que tem a ver com o modelo lógico (conceitual). O básico é ter a linguagem definida; a partir daí criam-ſe validadores e compiladores. O reſultado dos compiladores ſeria um programeta de definição de dados para o(s) SGBD(s) alvo de eſcolha, por exemplo noßo caro <a href = "http://postgresql.org./">Dumbo</a>.</p>
<p>Deßa meſma definição, uſaríamos um <a href = "http://www.rbt.ca/autodoc/">AutoDoc</a> ou <a href = "http://sqlfairy.sf.net./">SQL Fairy</a> (cuidado, a página inicial dele cega!) para gerarmos todos os diagramas que
quiséßemos: DER, IDEF1X &c para benefício dos uſuários. Até aí é trabalho do Adminiſtrador (ou Arquiteto) de Dados. A partir da linguagem, podemos criar todo tipo de auxílios, como <acronym lang = "en" title = "Integrated Development Environment">IDE</acronym>s (um modo <a href = "http://gnu.org./software/emacs/">Emacs</a>, por exemplo).</p>
<p>Até aí foi conceitualmente tranqüilo. O que me preocupa, além da poßibilidade deßa idéia ſer muito pior do que me parece, é o ſegundo paßo: findo o trabalho do <abbrev title = "Adminiſtrador de Dados">AD</abbrev>, começa o do Adminiſtrador de Baſes de Dados, o ſempre popular ABD (ou <abbrev lang = "en" title = "DataBaſe Adminiſtrator">DBA</abbrev>, para os anglófilos). Ele teria de pegar eßa definição da Baſe de Dados (BD) e acreſcentar tudo o que é físico: índices, parâmetros de armazenamento &c. Não me parece eſpecialmente difícil; ele poderia fazê-lo ſeja numa extensão da noßa linguagem conceitual, ſeja na linguagem do ſiſtema alvo. Ou meſmo através de <a href = "http://gnu.org./software/patch/">remendo</a>s a aplicar ao modelo conceitual, como ſe faz em programação tradicional meſmo.</p>
<p>Tenho certeza de que há muitos percalços nos quais não penſei, mas queria ſaber de vocês o que acham.</p>
<p>Para concluir, creio que um ſiſtema aßim poderia ſer o começo de coiſas muito melhores. Por exemplo, o único quaſe‐<abbrev title = "Siſtema Geſtor de Baſes de Dados Relacionais">SGBDR</abbrev> hoje em produção é o <a href = "http://alphora.com./">Alphora</a> Dataphor, que tem algo ſemelhante não para modelagem de dados mas para o ſiſtema como um todo: a gente eſcreve D4 (que é uma D válida) e os comandos são executados num SGBD SQL (infelizmente ainda não ſuporta o <a href = "http://postgresql.org./">Jumbo</a>). É um ſiſtema proprietário e complexo, e ainda por cima em <abbrev lang = "en" title = "MicroSoft" href = "http://pt.wikipedia.org./wiki/Microsoft">MS</abbrev> <a href = "http://pt.wikipedia.org./wiki/Microsoft_.NET">.Net</a>, mas é uma boa idéia. Não conſigo imaginar hoje um projeto dum <a href = "http://pt.wikipedia.org./wiki/Clone">clone</a> ou equivalente livre dele, mas eße noßo ſiſtema eventualmente poderia ſer um primeiro paßo.</p>
<p>Deu para entender?</p>Anonymousnoreply@blogger.com2tag:blogger.com,1999:blog-6838506.post-1716652895748295722007-04-20T16:08:00.000-03:002007-08-15T11:26:36.229-03:00Procurando um DBA<p><span class = "post-body-first-line"><span class = "post-body-first-letter">P</span>rocuro um DBA</span> para <a href = "http://orolix.com.br./">meu atual empregador</a>. Tem de saber ou MySQL ou PostgreSQL, de preferência ao menos um pouco dos dois. Ficamos na Av Engº Luís Carlos Berrini, zona sul de São Paulo, SP, perto da Av Águas Espraiadas.</p>
<p>Alguém se candidata?</p>Anonymousnoreply@blogger.com0