Thursday, May 27, 2010

Novas edições de Informix: Saldos? [Verifique o novo artigo e nota final]

Hi. In the last IIUG conference I had the chance of talking to some Brazilian members of the Informix community and they gave me the idea that there is an high demand for Portuguese content. When I started the blog I decided to do it in English (and that was not an easy decision because I'm not that confident about my English) for two main reasons:

  • I wanted to reach a wider audience
  • I believe most Portuguese IT workers are used to read English, so it would not be hard for them to follow this (ignoring my English mistakes of course)
The last reason probably encloses two mistakes. The main one is that the Portuguese speaking audience is much bigger that Portugal (for those who don't know Portugal has around 10M people. Brazil is probably 20+ times this and then there are the African countries like Angola, Mozambique, Cabo Verde etc.). The other mistake may be that too many people in Portugal may care about this and may not want to read stuff in English. All this intro serves to say that I'll probably be doing some articles in Portuguese. I really haven't decided yet on how to do it (same article with two languages, or repeat the article. or create another blog...? For now and because I think this is a very important subject, I'll continue this article in Portguese to talk about the new Informix Editions.

----- Portuguese from here on.... -----------------------

Introdução:

Bom, para quem teve o trabalho de ler a introdução acima em Inglês por favor ignore este paràgrafo. Para os restantes basicamente a introdução serve para explicar que apesar de a lingua do blog ser o Inglês é provável que comece a publicar alguma informação em Português. A razão porque escolhi o Inglês para escrever o blog foi porque tenho a ideia que em Portugal a maioria das pessoas que trabalham em informática não se importam de ler Inglês e assim consegui uma audiência maior. Na conferência de utilizadores deste ano tive oportunidade de trocar impressões com membros Brasileiros da comunidade Informix e eles deram-me a ideia que há muita gente para quem este assunto não é indiferente e portanto existe muita gente que por um motivo ou outro preferem ou restringem-se aos conteúdos em Português. Assim, e porque o tema do último artigo é realmente muito importante, tomo-o como o ponto de partida para algumas entradas em Português no blog.

Novas edições do Informix

Como já terão tido oportunidade de ler ou ouvido comentar, a partir do dia 25 de maio de 2010 a IBM reformulou a oferta das várias edições do Informix.
Portanto algumas das edições a que estávamos habituados deixaram de estar disponíveis. Nomeadamente a Enterprise Edition e a Workgroup Edition foram descontinuadas. Como susbtituição foram introduzidas respectivamente a Ultimate Edition e a Growth Edition (ah... os nomes...). De forma muito resumida, a Ultimate Edition inclui tudo o que o Informix tem para oferecer com excepção da Storage Optimization Feature (compressão), e a Growth Edition exclui particionamento, funcionalidades de paralelismo, e compressão (inclui Enterprise Replication e clustering - até dois nós secundários em modo leitura/escrita - ) e está limitada a 4 sockets ou 16 cores e 16GB de RAM (soma do total de memória atribuída ao Informix em cada instalação).

Mas as grandes novidades são a introdução de duas novas edições: Innovator-C (disponível para todas as plataformas) e a Ultimate-C para Windows e MacOS. Mas o que têm de não diferente estas edições "-C"?:
  • Pode fazer o download, desenvolver e colocar em produção sem custos de licenciamento
  • Pode adquirir suporte
  • Apesar de terem limites nos recursos que podem utilizar, mas esses limites são razoáveis (certamente haverá opiniões contrárias)
Vamos examiná-las com mais detalhe. "-C" significa "Community". Comecemos pela Innovator-C:
  • Download livre e sem custos
  • Pode ser usada para desenvolvimento sem custos
  • Pode ser utilizada em produção
  • Está disponível para todas as plataformas suportadas pelo Informix
  • Limitada a 2GB de RAM (soma de toda a memória atribuída ao Informix por cada instalação), 1 socket ou 4 cores, sem limites de espaço usado em disco
  • Dois nós de Enterprise Replication
  • HDR (1 nó secundário em modo de leitura/escrita)
  • Funcionalidades não disponíveis: Compressão, Continuous Availability Feature ( CAF - shared disk secondaries - nós secundários com discos partilhados), particionamento, funcionalidades de paralelismo, Advanced Access Control (LBAC), Informix Warehouse e múltiplos nós secundários, encriptação de colunas, queries distríbuídas (I-Star) e outras funcionalidades (detalhes na licença)
  • Suporte opcional
E agora a Ultimate-C Edition para Windows e MacOS:
  • Download livre e sem custos
  • Pode ser usada para desenvolvimento sem custos
  • Pode ser utilizada em produção
  • Está disponível apenas para Windows e MacOS
  • Limitada a 16GB de RAM (soma de toda a memória atribuída ao Informix por cada instalação), 4 sockets ou 16 cores, sem limites de espaço usado em disco
  • Enterprise Replication totalmente funcional
  • HDR (1 nó secundário em modo de leitura/escrita)
  • Particionamento
  • Paralelismo
  • Nós secundários em modo leitura/escrita
  • Warehouse Feature (ETL)
  • Advanced Access Control (LBAC)
  • Informix Warehouse Tool (SQW)
  • Funcionalidades não disponíveis: Compressão, Continuous Availability Feature ( CAF - shared disk secondaries - nós secundários com discos partilhados)
  • Suporte opcional
NOTA: Estas edições não podem ser redistribuidas sem um acordo prévio com a IBM.

Outras edições permanecem como existiam: Developer Edition e Express Edition.
Portanto agora temos uma base de dados gratuita com algumas limitações, mas que se aplica a muitos cenários. Significará isto que a IBM perderá vendas? Não necessariamente. É claro que pode comprar-se suporte. Quem implementar soluções criticas sobre estas edições de gratuito irá provavelmente desejar ter suporte. Por outro lado isto deverá aumentar a penetração e reconhecimento do Informix no mercado. Estas edições poderão ser o par perfeito para a iniciativa de open source. Poderia falar de várias situações que levaram algumas empresas e usar mySQL ou Postgres simplesmente por causa do custo. Muitos destes cenários poderiam enquadrar-se nas possíveis utilizações destas versões. Isto torna a iniciativa de Open Source ainda mais relevante agora. As melhorias no Hibernate são um excelente sinal e depois de uma troca de impressões com um parceiro local penso que outros projectos Open Source deveriam receber atenção da iniciativa. Felizmente muitos deles já se encontram listados no website da iniciativa.

Outra boa melhoria (deveria chamar-lhe uma correcção) efectuada foi ao nível da usabilidade no website do Informix. Se aceder a http://ibm.com/software/data/informix, ou simplesmente http://ibm.com/informix ou até http://www.informix.com, irá ser redireccionado para uma página com uma ligação para "downloads". A partir daí pode navegar facilmente numa lista de downloads disponíveis.

Onde pode obter mais informação sobre este tema?:
Estas mudanças passa a ser efectivas na versão 11.50.xC7 fixpack.


NOTA [ 22 Julho de 2010]: Este artigo está desactualizado! As edições Ultimate-C para Windows e Mac foram retiradas. A versão Innovator-C ficará disponível para todas as plataformas e surge uma nova edição (Choice), com custos de licenciamento menores que a Growth Edition e com limites que se situam entre a Innovator-C e a Growth Edition.
Artigo com as últimas alterações:

http://informix-technology.blogspot.com/2010/07/informix-editions-revisited-versoes.html


Cumprimentos

Tuesday, May 25, 2010

New Informix editions: Bargain time? [ Please check end note and new article]

Again a non technical post. I'm really sorry about that... I still don't have enough free time and things are hapening that can't be ignored in this blog....
Before I start, a disclaimer: This post is by no means IBM official information. Please check the URLs given as reference and in case of doubt contact your local IBM sales representative.

So, you may have read it elsewhere, because it's all over the Informix related sites and forums: IBM did a total repackaging of the Informix product. That means that the different versions that we were used to have are gone (not all). Starting today there will be no more "enterprise edition" nor "workgroup edition". In their place there will be respectively the Ultimate Edition and the Growth Edition (oh... the names....). In very simple words, Ultimate Edition packs everything Informix has to offer except the Storage Optimization Feature (compression), and the Growth Edition excludes the partitioning, parallel features and compression (includes ER and clustering - up to two secondary nodes read/write - ) and is limited to 4 sockets or 16 cores and 16GB of RAM (sum of total memory allocated to Informix in a single install).

But the really great news are the introduction of two more editions: Innovator-C edition (available for all platforms) and Ultimate-C Edition for Windows and MacOS platforms. Now, what is so great about these "*-C" versions?:

  • You can download, develop and deploy without licensing costs
  • You can choose to buy support
  • Although there are resource limits these are reasonable (there will be other opinions....)
Let's see them in greater detail. "-C" stands for "Community" editions. Let's start by the Innovator-C edition:

  • Free to download
  • Free to develop
  • Free to deploy
  • Available generally for all platforms
  • Limited to 2GB of RAM (sum of total memory allocated to Informix in a single install), 1 socket or 4 cores, no storage limits
  • Enterprise replication (2 nodes)
  • HDR (1 secondary read/write)
  • Features not available: Compression, Continuous Availability Feature (CAF - Shared disks secondaries), partitioning, parallel features, Advanced Access Control (LBAC), Informix Warehouse, multiple secondaries, column encryption, distributed queries (I-Star) and some other functionality (check the details in the license)
  • Optional support
And now the Ultimate-C Edition for Windows and MacOS:
  • Free to download
  • Free to develop
  • Free to deploy
  • Available only on Windows and Mac OS
  • Limited to 16GB of RAM (sum of total memory allocated to Informix in a single install), 4 sockets or 16 cores
  • Full Enterprise Replication
  • HDR (1 secondary read/write)
  • Partitioning
  • Parallelism
  • Read/Write secondary nodes
  • Includes Informix Warehouse Feature
  • Advanced Access Control (LBAC)
  • Informix Warehouse Tool (SQW)
  • Features not available: Compression, Continuos Availability Feature (CAF - Shared disks secondaries)
  • Optional Support
NOTA: These editions cannot be re-distributed without an agreement with IBM

Other editions stay as they were: Developer Edition and Express Edition.
So now we have a free (as in beer, not free as in speech) database with some limitations, but probably usefull for a lot of scenarios. Will this mean that IBM will loose revenue? Not necessarily. It's clear that you can buy support. If you implement some critical applications on these "freely downloadable" editions it's probable that you'll want support. On the other hand, this should increase Informix presence and awareness in the market. These versions may be a perfect match for the Open Source initiative. I could name a lot of situations where I saw companies use mySQL or Postgres simply for cost reasons. Many of those scenarios would fit the usage cases for these new editions. So the initiative gains a lot more relevance now. The improvements in Hibernate are a very good sign and after some talks with a local partner I think other open source projects should receive attention. Thankfully many of them are already listed in the Open Source Initiative website.

Another good improvement (I'd better call it a fix of course) was the usability of the Informix web home. If you access http://ibm.com/software/data/informix or simply http://www.informix.com, you're end up on a page with a link for "downloads". From there you can easily navigate to a new list of Informix available downloads.

Where can you gather more information?:
These changes will be available with 11.50.xC7 fixpack.

NOTE: [ July 22, 2010 ]: This article is outdated! The Ultimate-C editions for Windows and Mac OS were withdrawn. The Innovator-C will be available for all platforms and a new edition (Choice) will appear. This will have lower license costs than Growth Edition, and limits between the Innovator-C and the Growth Edition.
Article with the last changes:

http://informix-technology.blogspot.com/2010/07/informix-editions-revisited-versoes.html


Regards

Tuesday, May 11, 2010

Electrifying news?!

In the latest post of Guy Bowerman's blog I noticed a new case study about Informix. You can choose to read about it in the IBM website, or on the consulting company who did it website.
Hildebrand worked together with IBM labs (Hursley) in order to achieve real-time collection and analysis of detailed energy usage using commodity hardware.
This involves loading around 50000 events per second into the database. This is the estimate needed to support three million homes.
An innovative component of Informix was used: Timeseries Datablade
Timeseries is a datablade designed to load and handle massive amount of data which is time related. Any kind of repetitive measure along a timeline is what we're talking about, and apparently that was essential to this project. Datablades are pieces of software that work like plugins which extend the basic Informix functionality.

Tuesday, May 04, 2010

OAT: One Admirable Tool

One first warning: I'm still lacking time to write the kind of articles I like, which are focused, technical and relatively deep.
Having said that I feel better proceeding with yet another "chat like" article. And in this I would like to write about Open Admin Tool, or simply OAT.

I had two great sessions in IIUG 2010 conference, which although not specifically about OAT, were somehow related to it. I'm talking about John Miller session about Auto Update Stats, and Hyun-Ju Vega session covering SQLTRACE. Unfortunately I had to miss the session about OAT itself from Erika Von Bargen (i was presenting at the same time). Now, why did I like this sessions so much? The speakers were great but they were not the reason. The reason is fairly simple: They changed the way I thought about some things and they made me look into OAT again. I don't recall having written many things about OAT, but to be honest I though it was nice, but maybe more directed to the new people starting with Informix. Long time Informix DBAs obviously have a pack of scripts for the trivial stuff: running update statistics (I wrote my own scripts based on previous work from Informix staff and obviously we all know dostats from Art Kagel), check some performance issues (sessions with more CPU usage, tables with full scans, tables with more read/writes etc.), historical data from the instance (profile counters, table access stats etc.).

So, a nice tool, much better than previous attempts like Informix Server Administrator (ISA), nice looking but maybe for "newbies". Honestly this was more or less in my mind, even though I did not have full conscience about it.

Then I assisted this two sessions. And during the sessions we were guided through lots of "accessories". John showed several tasks, the task scheduler, the intelligence behind the auto update stats, and eventually even without noticing it, he effectively showed the audience how easy it is to work with OAT. Then Hyun-Ju, guided us through a real case scenario where SQLTRACE was key to solve a customer issue. Again, OAT was not the main focus, but the ease of usage and how we can take advantage of SQLTRACE in OAT SQL Explorer again surprised me.

Then a real life scenario came... Today, while working on a customer, I was asked to help the DBA team to understand a big memory consumption from some sessions in a development instance. The developer team really didn't noticed anything strange, since the engine was doing what was expected. But the DBAs noticed some sessions occasionally grabbed around 8-10 times the maximum memory usually consumed by most of their sessions. The more or less strange thing was that the session allocated the memory but when we got to see that, the memory was mostly free (although still allocated to the session). So, no strange pool usage was evident. Since my job their is also to try to pass some knowledge, I showed them how to setup SQLTRACE for one specific user and we asked that user to run the job(s). After lunch we had everything explained in the SQLTRACE buffers. The onstat -g his could be used to get evidences, but I decided to give OAT a try. And there it was, in a graphical manner all the session steps. We noticed that they had a terrible amount of recursive procedures (actually proc_a calls proc_b and proc_b calls proc_a) inside a foreach loop. So a lot of stack was necessary to hold the context during execution and so the memory was allocated and then became free.

Could I have made this with other tools? Probably. Lots of onstats, scripts etc. Would it be so easy? Not even in my best dreams!

The true magic about OAT is not OAT itself. It's how OAT glues several new features and makes them usable. Think about some things we can do in OAT:

  1. Manage and use SQL history
  2. Manage all the engine programmable tasks
  3. Generate performance and usage reports
  4. Change the engine configuration
  5. Optimize storage
  6. Manage your cluster and replication
All these have something behind that you frequently see in the "new features" section of the release notes (using the same order as the previous list):

  1. SQLTRACE
  2. Database scheduler
  3. Automatic tasks and internal engine profiling
  4. SQL API
  5. Compression
  6. MACH 11
I could have made the list bigger. The point is that probably for the first time in Informix history we have a tool that matches the "features". This has always been one of the most criticized (what was probably fair) aspects of Informix. But since v11.10 and the beginning of OAT we see that OAT has been upgraded fixpack after fixpack to match the engine new functionalities. This shows it's not another tool that tries to keep critics away, but is in fact a fundamental piece of the engine. And it follows the engine "DNA": Simple to install, simple to use, reliable and light.

Is it perfect? Probably nothing is... I think one area or aspect could be improved. And here I'm just echoing a customer thoughts. OAT should be able to provide a view and working mode for enterprise wide environments. Meaning some of it's features should be aware of all the instances configured in a customer environment. Some simple examples:

  • A single alarm viewer page for all the instances (maybe "all belonging to one group")
  • The monitors could collect/centralize into a common repository
  • The monitors should have self conscience of the instances in a MACH-11 cluster
Some of these points and others I don't mention here could be provided by:
  • Replicate each instance captured data to a common repository (either by ER or simple tasks)
  • Create a plugin for showing data in that centralized repository
  • Change some of the monitors to INSERT also the server name and direct the data to the primary server (for read only secondaries) using for example the connection manager
So, this limitations can be solved by customers. But it would be nice to see some improvements in the future.
I'd like to end the article sending my compliments and appreciation to the OAT development team and leave here a few links to help you understand what's behind OAT: