Mostrando postagens com marcador banco de dados. Mostrar todas as postagens
Mostrando postagens com marcador banco de dados. Mostrar todas as postagens

24 de mar. de 2014

Rápido, Antes que Acabe!

Recentemente a Editora Packt lançou o seu título número 2000 e para comemorar lançaram uma promoção que começou dia 18 de março e vai até dia 26 de março (agora são 23H00min do dia 24/3!): Compre Um e Ganhe Outro.

A Packt tem sido a maior editora de Pentaho nestes últimos anos. Já lançaram livros sobre o PDI, o Report Designer, BigData Analytics. Além disso, eles lançaram um livro sobre praticamente qualquer outro aspecto de BI (Postgres, Hadoop, R etc.) e Informática em geral - de sistemas operacionais (Ubuntu, CentOS, Debian etc.) a servidores de aplicação (TomCat, jBoss e GlassFish), passando por linguagens de programação (de C e Java a Haskell - HASKELL!!!), TYPO3 (CMS), Sugar (CRM), Zabbix (infra-estrutura), Zimbra (groupware), Asterisk (VoIP), Funamboll (?), SilverStripe (??), phpBB (fórum), Angular, Ajax, HTML5, Spark, Android, OpenCV, Zen, Bonita, SOA, Drupal, WordPress, Samba, Octave, Kafka, Gimp, Unity, OpenCL, VirtualDub...

Cloud? OpenStack, virtualização, clusters...

E não fica só nos softwares livres, não! Você tem de IBM (WebSphere, Lotus etc.) e Microsoft (SQL Server, Windows Server, Dynamics) a QlikView e Oracle, passando por quase tudo que você puder imaginar. Que tal SAP ABAP? Ou talvez JD Edwards, VMWarem, Hyperion, Citrix, PowerShell...
Hardware? Também! Raspberry Pi (superclusters!!), BeagleBone (??)...

Mas, de longe, o livro mais exótico é "Instant Minecraft: Pi Edition Coding How-to". Da descrição do livro: "faça o mundo Minecraft interagir com o mundo real". Fala sério...

Eu tenho cinco livros da Packt:
Minha biblioteca Packt praticamente só tem Pentaho e Bonita!
Minha biblioteca Packt praticamente só tem Pentaho e Bonita!
Enfim, resumindo: você precisa ganhar conhecimento de qualidade, útil, prático, e em pouco tempo? Invista num livro da Packt.

Até dia 26/3/2014, dois pelo preço de um, direto no site deles.

Compre sem medo, vale muito a pena.

1 de nov. de 2012

Bug do Oracle: paralelismo falha com objeto compartilhado

Ou pelo menos foi isso que me disseram.

Um novo DW que vai receber carga com um processo do Pentaho (Data Integration, ou PDI) gravará seus dados num banco Oracle. Em busca de performance, eu brinquei com alguns parâmetros do processo PDI e, ao final, deixei o objeto que grava no banco (Table Output) com dez instâncias. Cada uma abre uma conexão com o banco, que gerencia a gravação em paralelo na tabela.

Daqui para frente eu estou revendendo o peixe como eu comprei. Eu mal entendo Oracle, quanto mais dizer que eu sei como ele funciona. Eu vou apenas relatar o que eu ouvi, e tirar minhas conclusões lá embaixo.

Bom, estávamos com um problema sério de performance. Tabelas do MS SQL Server estavam dando vazão de mais de 100.000 linhas/segundo, mas as tabelas do Oracle não davam nem quinhentas - estava mais na casa das 300 l/s de leitura.

Conversamos e discutimos esse problema e os gestores do banco vão lá fazer suas mágicas para melhorar isso.

Agora vem a parte importante.

A certa altura, eu expliquei que estávamos gravando através de várias conexões, paralelizando a saída para o banco. Dai o gestor disse "cuidado!" Porquê? "Porque se você abrir várias conexões de gravação para um objeto definido como paralelizado, ele pode perder linhas na gravação."

Isso mesmo: se o objeto (como uma tabela) estiver sob cuidados do paralelizador do Oracle, e abrirmos mais de uma conexão para gravar, registros podem ser perdidos!

Ou isso é um bug, ou uma característica da operação. Em si não é nenhum problema, como pode parecer. Basta montar o projeto da forma que esse problema não seja disparado. Talvez esse seja o preço da paralelização - vai saber!

O ponto que eu quero cutucar é essse: se fosse o PostgreSQL a ter essa limitação, a obrigar a esse cuidado, todo mundo cairia matando, reclamando que é SL e tal. Bom, eu aproveitei a deixa: "mas isso é um bug?" "nossa, isso é perigoso! A Oracle vai resolver?" e outros comentários na mesma linha dos que são feitos quando o software defeituoso é livre.

Afinal, pombas, é o ORACLE!!! Eu não tenho certeza se é um bug - acho que não é - mas da forma que o gestor falou, com aquele tom meio "desculpe-me", tentando contornar... Sabe, não acredito que seja um bug, mas eu não me espantaria! Eu já ouvi relatos de grandes bancos de dados Oracle perdendo registros para o vácuo - somem de tal maneira que não restam traços em lugar nenhum, em log, em memória, nada!

Moral da história: não bata no Software Livre ao primeiro sinal de problema. Problemas ocorrem em todos os softwares, e na média SL tem menos defeitos!