Thursday, June 30, 2011

11.70.xC3 is available / 11.70.xC3 está disponível

This article is written in English and Portuguese
Este artigo está escrito em Inglês e Português


English version:

My articles backlog keeps increasing, but there are things I can't miss. One of them is the availability of another fixpack of Informix.
The latest one is 11.70.xC3. I spot it on FixCentral a couple of days ago and PDF documentation is already available. InfoCenter is also updated.

As usual there are big news and smaller ones. It really depends on your needs and cares. The follwoing is a straight copy/paste from its release notes:

  • Administration
    • Automatic read-ahead operations
    • Configuring the server response to low memory
    • Reserving memory for critical activities
    • Connection Manager enhancements
    • Enhancements to the OpenAdmin Tool
  • Embeddability
    • Managing message logs in embedded and enterprise environments
  • Developing
    • Built-in SQL compatibility functions for string manipulation and trigonometric support
  • High availability clusters and Enterprise Replication
    • Automatically connecting to a grid
    • Code set conversion for Enterprise Replication
    • Enhancements to the Informix Replication plug-in for OAT
  • Security
    • Non-root installations support shared-memory and stream-pipe connections
    • Retaining numbers for audit log files
    • Restrict operating system properties for mapped users
  • Time Series data
    • Simplified handling of time series data
    • Informix TimeSeries plug-in for OAT
A few remarks:

The possibility of configuring read ahead automatically is great. Let's be honest: How many of us ever really mastered the traditional configuration? Personally I can tell you that a few years ago I tried it in a very controlled environment and I gave up. I could not spot any difference in my tests and over the years I've seen contradictory statements on how it should be setup. So it's a great pleasure to see it can be automatic now.

Server response in a low memory situation is also a great new feature. In cases where I have more than one instance on the same server I insist on setting up SHMTOTAL so that I can isolate any issue caused by excessive memory consumption. This prevents the situation from affecting other instances.
But even so it was usual to see undesirable behaviors on the instance consuming too much memory. And this is easy to understand, because to fix something (rollback, monitor etc.) you still need memory. If you've run out of it, your ability to solve it is constrained.
What IBM did now is give you the ability to reserve some memory, to deal with lack of memory. Seems pretty obvious right? But IBM did more. When you hit the pre-configured thresholds the engine can automatically run some tasks that will allow it to free some memory. So, again, more automation, easier to use in embedded scenarios and more robustness

Connection manager suffered some big changes. Sincerely I need more time to figure them out, but the idea is that a unique connection manager can be used to deal with different needs (high availability, grid, server sets and ER. The configuration file has changed.
As usual, OAT has been changed to accommodate the server side improvements. Several new options are available to deal with log file rotation, low memory conditions setup, lock monitoring (inspired on a plugin initially created by me which is available on the IIUG software repository) and a new plugin to handle TimeSeries.

Several new SQL functions were introduced. This is something that could be solved (most of them could be easily created), but that hurt the new users experience and portability efforts. I would like to see much more in this area...
One interesting new feature is the possibility to configure ER between servers with different codesets. This opens some interesting possibilities for example if you need to convert the codeset of a large database.

Timeseries was also improved, revealing it's one very important aspect of the latests releases.
Finally several security related changes, like improvements for servers in "non-root" installations and for instances configured with mapped users.

I usually concentrate only on the server side improvements, but this time I want to mention a trivial, but long desired change in Client SDK: It now includes dbaccess, the simple but very handy tool. Of course people would like to see a fancy GUI tool on Windows (or even other environments using Java), but that would be much harder, and would certainly increase the footprint.
This is a quick solution for a long lasting problem: the client did not include any query tool. I would vote for the inclusion of other traditional "server side" tools like dbschema and dbload.


Versão Portuguesa

O meu atraso na escrita de artigos continua a aumentar, mas há algumas coisas que não posso deixar passar. Uma delas é a disponibilidade de outro fixpack Informix.
O último é o 11.70.xC3. Encontrei-o há dois dias no site FixCentral e a documentação em PDF já está disponível. O InfoCenter também já está actualizado

Como de costume há grandes novidades e pequenas novidades. Tudo depende das necessidades e preocupações de cada um. O seguinte é a tradução tão fiel quanto possível das novidades especificadas nas notas deste fixpack:

  • Administração
    • Operações automáticas de read-ahead
    • Configuração da reacção do servidor a situações de escassez de memória
    • Reservar memória para actividades criticas
    • Melhorias no Connection Manager
    • Melhorias no OpenAdmin Tool
  • Funcionalidades de inclusão da base de dados em ambientes fechados
    • Gestão de logs de mensagens em ambientes embebidos e empresariais
  • Desenvolvimento
    • Funções SQL de compatibilidade e manipulação de strings e suporte trigonométrico
  • Clusters de alta disponibilidade e Enterprise Replication
    • Conexão automática a uma grid
    • Conversão de mapas de caracteres para Enterprise Replication
    • Melhorias no plugin de replicação Informix para o OAT
  • Segurança
    • Instalações Non-root suportam conexões shared-memory e stream-pipe
    • Retenção de números para os logs de audit
    • Restrição de propriedades de sistema operativo para utilzadores mapeados
  • Dados Time Series
    • Gestão simplificada de dados Time Series
    • Plugin do OAT para Informix TimeSeries


Alguns comentários:

A possibilidade de configurar o read ahead automaticamente parece-me óptima! Sejamos honestos: Quantos de nós conseguiram realmente dominar a configuração tradicional? Pessoalmente posso dizer que há alguns anos atrás tentei num ambiente bastante controlado e desisti. Não consegui identificar diferenças sensíveis nos meus testes, e ao longo dos anos vi indicações contraditórias sobre como isto deveria ser configurado. Por isso é com muita satisfação que vejo que agora pode ser automatizado.

Poder configurar a reacção do servidor em situações de escassez de memória é outra excelente melhoria. Em ambientes onde tenha mais que uma instância por servidor, eu insisto em definir o SHMTOTAL, para que possa isolar qualquer problema causado por excesso de consumo de memória. Isto previne que a situação afecte as outras instâncias (ou no limite a própria máquina). Mas mesmo assim era habitual vermos comportamentos não desejados numa instância que consumisse muita memória. E isto é fácil de entender, porque para corrigir alguma coisa (efectuar um rollback, monitorizar etc.) é necessária memória. Se já a esgotámos, a capacidade de resolver o problema é afectada.
O que a IBM fez agora foi dar-nos a capacidade de reservar alguma memória para lidar com a falta de memória. Parece bastante óbvio, certo? Mas a IBM fez mais. Quando atingimos os limites pré-configurados, o motor pode automaticamente executar algumas tarefas que lhe permitirão libertar memória. Portanto, mais uma vez, mais automatização o que torna mais fácil usar o Informix em ambientes embebidos e aumenta a robustez.

O Connection Manager sofreu grandes alterações. Sinceramente necessito de mais tempo para as analisar, mas a ideia é que um único connection manager pode ser usado para lidar com diferentes necessidades (alta disponibilidade, grid, server sets, e Enterprise Replication). O formato do ficheiro de configuração foi alterado.

Como vem sendo habitual, o Open Admin Tool (OAT) foi alterado para acomodar as melhorias introduzidas no servidor. Novas opções estão disponíveis para lidar com rotação de ficheiros de log, configuração de condições de escassez de memória, monitorização de locks (inspirado num plugin inicialmente criado por mim e disponível no repositório do IIUG) e um novo plugin para lidar com TimeSeries.

Várias novas funções SQL foram introduzidas. Isto é algo que poderia ser resolvido pelo utilizador (a maioria destas podia ser facilmente criada), mas isso dificultava a vida a novos utilizadores e tinha impacto na portabilidade de aplicações. Gostaria de ver muito mais evolução neste aspecto...

Uma funcionalidade interessante é a possibilidade de configurar Enterprise Replication (ER) entre bases de dados que utilizem diferentes mapas de caracteres.
Isto abre possibilidades interessanes se por exemplo necessitar-mos de converter um mapa de caracteres de uma base de dados grande.

O TimeSeries também foi melhorado, revelando que é um dos aspectos mais importantes das últimas versões.
Finalmente, algumas mudanças na área de segurança, como melhorias em servidores instalados como "non-root" e para instâncias configuradas com utilizadores mapeados.

Habitualmente concentro-me apenas nas melhorias do lado do servidor, mas desta vez tenho de mencionar um mudança trivial, mas há muito desejada no Client SDK: Passou a incluir o dbaccess, a ferramenta simples, mas muito útil de interrogação da base de dados. Claro que todos gostaríamos de ver uma ferramenta gráfica nos ambientes Windows (ou mesmo em todos os ambientes, baseado em Java por exemplo), mas a verdade é que isso necessitaria de um esforço muito maior e iria aumentar significativamente a dimensão do cliente.
Isto é uma solução rápida para um problema que existia há muito tempo: o cliente não incluía nenhuma ferramenta de interrogação da base de dados. Eu votaria a favor da inclusão de outras ferramentas "tradicionais" do servidor como o dbschema e dbload.

Saturday, June 04, 2011

HP-UX: What now? / E agora?

This article is written in English and Portuguese
Este artigo está escrito em Inglês e Português

English version:

You know I usually stick to Informix related topics, but a few weeks ago something was announced that has to make us think... As we all know by now, Oracle announced that future versions of their software products will not support HP-UX running on Intel Itanium chips.
Why do we have to think about it? Well, from my personal perspective because it raises a lot of serious doubts/questions. Let's see:

  1. First you read in the announcement that Intel is not truly committed to Itanium. The exact words are "Intel management made it clear that their strategic focus is on their x86 microprocessor and that Itanium was nearing the end of its life". Intel denied this in the following days. Who do we believe? The company that owns the chip in question or another (now also) hardware supplier? Is it normal that a company discontinues it's products on a platform that has not announced it's end of life plans?

  2. The announcement was made just before an important HP shareholders meeting... We could of course believe this was just a coincidence

  3. In the last months a lot of news came up referring to personal wars between Oracle's and HP's executives (ex HP CEO is now a very important Oracle executive). Meanwhile ex SAP CEO has been appointed as HP CEO, and Oracle and SAP had an ongoing court trial started at the time he was SAP's CEO. All these an point 2) may lead us to the feeling that while personalities clash, customers suffer. There's nothing wrong with having strong personalities as leaders of large companies, on the contrary. But we would expect their egos not to cause harm to their customers (of course "harm" translates into costs, uncertainty, fear and doubts - typically FUD that competitors like to spread, but in this case competitors don't have to bother...)

  4. Oracle mentions that others (Microsoft and Red Hat) have previously discontinued support for Itanium. This is true, but there is a big difference: The market share that these two companies had in the Itanium market was considered irrelevant. Now, for Oracle, the situation is completely different. They have a large share of Itanium customers (accordingly to this blog, there are around 140.000 Oracle/Itanium customers)

  5. Some people argue that supporting a platform has it's costs. Of course this is true, but the costs are certainly well covered if the above number holds true. That's part of the business. In order to provide a product, you incur in certain costs. And also note that Oracle always said, wrote an publicized that their code base was the same independently of the platform. So using this as an argument is hardly acceptable...

  6. Many people think this is just a commercial move from Oracle. They're trying to weak a competitor position while at the same time they hope to raise their own hardware sales. We can accept that this is normal, but we should keep in mind a few things. First, just a while ago Oracle choose HP as an hardware partner (remember Exadata?). Secondly Oracle CEO has said that it would like to see Oracle becoming the IBM of the sixties (integrated stack where the margins would be bigger), but that it would keep its software running on competitor platforms. Well something has changed :)

  7. Will this be the only case, or will Oracle do the same in the future with other OS? The fact is that the number of OS and Hardware vendors for enterprise computing is shrinking. You currently have Microsof Windows on Intel x86, IBM AIX on System p, HP-UX on Itanium, Solaris Sparc, Linux on Intel x86, and Solaris on Intel (I'm explicitley forgeting other platforms like IBM System Z and HP NonStop). Oracle is doing it's best to eliminate HP-UX/Itanium. Will it stop there? Or will it proceed it's path to become "the IBM of the 1960s" (meaning the closed system that locked customers in)? Note that IBM still suffers with the image it created at the time.

The above are just a list of some important points. I may be missing a few. The announcement must had a significant impact on HP Itanium customers running Oracle software. Imagine that you wake up one morning and find out that the software vendor you choose gave up supporting your platform. Of course you'll have support for your existing products, but you'd really appreciate a roadmap... By the way, wasn't that the same company that 10 years ago accused IBM of not having a roadmap for Informix? It's funny when we put things into perspective...
So, assuming you're one of those customers what will you do? You have a few options:
  1. You jump on the Oracle train and buy a one way ticket... I mean you choose Sparc for your upcoming hardware renovation... You don't know where the train will take you... You don't even know how much it will cost you... Specially because you just bought a one way ticket... Once you're "there" you'll figure what what price the next ride will cost... One thing you know: You'll be traveling with the same company since no other operates in the same region...

  2. You choose another hardware platform, and you really hope the same trick will not be played again

  3. You change your software supplier
I'd say none of the options above looks particularly attractive. But in case you need another database (and you're able to get your application running against it), you should really consider Informix. Here's why:
  1. It's robust, easy to use, reliable, works well in virtualized environments etc., but you should already know that

  2. It has a roadmap and has just completed a decade of improvements after the IBM acquisition

  3. It belongs to a company that will try to sell you it's hardware, because it believes it's good, and not because it tends to be the only option to run it's software

  4. It's already very well integrated with many of the other IBM software portfolio, and this is assumed to be a continuous effort

  5. It has a long history of working well with HP-UX (traditionally on PA-RISC and now with Itanium). A search for "informix" in the HP site will show you several HP documents about integration between Informix and HP-UX
To wrap up this article, I'd like to put here a few links that relate to this topic. I hope they'll allow you to see what's being written about this Oracle announcement, and to form your own opinion about it.




Versão Portuguesa:

Normalmente restrinjo-me a assuntos exclusivamente relacionados com Informix, mas há algumas semanas atrás foi anunciado algo que nos tem de fazer pensar.... Como já todos deveremos saber nesta altura, a Oracle anunciou que futuras versões do seu software não irão suportar HP-UX a correr em chips Itanium.
Porque é que devemos reflectir sobre isto? Bom, na minha opinião pessoal porque isto levanta uma série de dúvidas e questões importantes. Vejamos:

  1. Começamos por ler no anúncio que a Intel não está verdadeiramente empenhada no Itanium. As palavras exactas (tradução pessoal) foram: "... a gestão da Intel deixou claro que o foco da sua estratégia é a linha de processadores x86 e que o Itanium se está a aproximar do fim de vida..." . A Intel negou isto nos dias seguintes. Em quem acreditamos? Na empresa que detém o processador em questão ou noutra empresa (agora também) fornecedora de hardware? Será normal que uma empresa anuncie o fim de desenvolvimento dos seus produtos numa plataforma cujo fim de vida não foi sequer anunciado?

  2. O anúncio foi feito imediatamente antes de um encontro de accionistas da HP.... Podemos claro acreditar que isto foi apenas uma coincidência

  3. Nos últimos meses vieram a público uma série de notícias referentes a guerras pessoais entre executivos da HP e Oracle (o ex CEO da HP é agora um quadro importante na Oracle - o número dois na verdade, logo abaixo do Larry Ellison). Entretanto o ex CEO da SAP foi nomeado CEO da HP, e a Oracle e HP tinham um processo em tribunal que remonta ao tempo em que o mesmo era CEO da SAP. Tudo isto e o ponto 2) podem levar-nos a pensar que enquanto as personalidades se chocam os clientes sofrem. Não há nada de errado em que grandes empresas tenham personalidades fortes na sua liderança, bem pelo contrário. Mas seria de esperar que os egos não prejudiquem os respectivos clientes. O "prejuízo" traduz-se em custos, incerteza, medos e dúvidas - o que em Inglês se chama "FUD - fear, uncertainty and doubt -", que normalmente é espalhado pela concorrência, mas que neste caso nem requer esforço da concorrência pois é feiro pelos próprios.

  4. A Oracle referiu que outros (Microsoft e Red Hat) já tinham previamente descontinuado o suporte para Itanium. Isto é verdade, mas há uma enorme diferença: A quota de mercado que estas duas empresas tinham em Itanium não é comparável à da Oracle. Esta tem uma grande percentagem dos clientes Itanium a usarem os seus produtos (de acordo com este blog, existem cerca de 140.000 clientes Oracle/Itanium)

  5. Algumas pessoas defendem que suportar uma plataforma tem os seus custos. Isto é uma verdade óbvia., mas esses custos são largamente cobertos se os números acima forem correctos. Isso faz parte do negócio. Para fornecer um produto as empresas (de qualquer tipo) incorrem em custos. Note-se ainda que a Oracle sempre disse, escreveu e publicitou que o seu código era o mesmo independente da plataforma. Por tudo isto, o argumento do custo de suportar uma plataforma não me parece aceiável...

  6. Muitas pessoas acreditam que isto é apenas uma manobra comercial da Oracle. Estão a tentar enfraquecer um concorrente ao mesmo tempo que tentam aumentar as suas p´roprias vendas de hardware. Podemos encarar isto como algo relativamente normal, mas devemos manter em mente uma série de factos. Primeiro, apenas há algum tempo atrás, a Oracle escolheu a HP como o seu parceiro de hardware (lembram-se do Exadata?). Segundo, o CEO da oracle disse que gostava de ver (tradução pessoal) A Oracle tornar-se a IBM dos anos sessenta (soluções integradas onde as margens são maiores), mas que manteria o seu software a correr nas plataformas da concorrência. Parece que algo mudou entretanto... :)

  7. Será este um caso único, ou irá a Oracle fazer os mesmo com outras plataformas? A verdade é que as plataformas (SO e hardware) para computação empresarial estão a diminuir. Actualmente temos Microsof Windows em Intel x86, IBM AIX em System p, HP-UX em Itanium, Solaris Sparc, Linux em Intel x86, e Solaris em Intel (estou a omitir outras plataformas como IBM System Z e HP NonStop) . A Oracle está a fazer o seu melhor para eliminar HP-UX em Itanium. Irá parar por aí? Ou irá prosseguir os seu caminho para se tornar a "IBM dos anos sessenta" (neste caso um sistema fechado que prende os clientes)? Note-se que a IBM ainda sofre com a imagem criada nessa altura.

Acima está uma lista de alguns pontos importantes. Posso ter esquecido alguns. O anúncio deve ter tido um impacto significativo nos clientes HP Itanium que utilizam software Oracle. Imagine que acorda uma manhã e descobre que o fornecedor de software que seleccionou, deixou de suportar a sua plataforma. Claro que terá suporte para os produtos que já existem, mas certamente apreciaria a existência de um roadmap... Aliás, não foi esta a mesma empresa que há 10 anos atrás acusou a IBM de não ter um roadmap para Informix? É engraçado quando se colocam as coisas em perspectiva...
Assim, assumindo que é um desses clientes, o que irá fazer? A meu ver tem algumas opções:
  1. Apanha o compboio da Oracle e compra um bilhete de ida... Ou seja, escolhe SPARC para a sua próxima renovação de hardware... Não sabe para onde o comboio o leva... Nem sequer sabe quanto lhe vai custar... Especialmente porque comprará apenas um bilhete de ida... Depois de "lá" chegar logo verá qual o preço da próxima "viagem"... Uma coisa será certa: Irá viajar com a mesma empresa, pois mais ninguém opera na mesma "região"...

  2. Escolhe outra plataforma de hardware e espera ardentemente que o mesmo truque não seja empregue novamente

  3. Muda de fornecedore de softtware
Diria que nenhuma das opções acima parece particularmente atractiva. Mas caso necessite de uma nova base de dados (e possa colocar a sua aplicação a correr nela), deveria considerar o Informix. Eis porquê:
  1. É robusto, confiável, corre bem em ambientes virtualizadoes etc.., mas isto já deverá saber

  2. Tem um roadmap e acabou de completar 10 anos de inovação após a aquisição pela IBMI

  3. Pertence a uma empresa que tentará vender-lhe o seu hardware porque acredita que é bom, e não apenas porque tende a ser a única plataforma onde pode correr o seu hardware

  4. Já está bastante bem integrado com muito do software IBM, e isto é assumidamente um esforço contínuo

  5. Tem uma longa história de bom desempenho em HP-UX (tradicionalmente em PA-RISC e actualmente em Itanium). Uma pesquisa por "informix" no site da HP irá mostrar-lhe vários documentos da HP sobre a integração entre Informix e HP-UX
Para fechar este artigo, gostaria de deixar alguns links relacionados com este assunto. Espero que lhe permitam ver o que tem sido escrito sobre este anúncio da Oracle, e que possa formar a sua p´ropria opinião sobre o tema.