Panther: The beginning / Panther: O in�cio

This article is written in English and Portuguese
Este artigo est� escrito em Ing�s e Portugu�s

English version:

Around 2007, after IBM launched the version 11.10 (Cheetah), I wrote a series of articles focusing on several new features. I called it "Chetah spot by spot: ...". I wanted to do the same for Panther, but I have a big problem: What is a Panther? Does it have spots?! Kate Tomchik (IIUG board member), asked about this in Jerry Keesee's (Informix development director) Facebook profile... For me a Panther is a black variant of several animals (leopard, jaguar and possibly a mountain lion or cougar). So, although it may have spots, they're not very visible... So, in short, I don't have a nice title for these articles... it's a shame, but I think we can all live with that :)
So, I took a look at the Panther release notes and looked at the new features... Too many! Too good. Since this is the first article, I'll try to group them (giving some highlights) following my personal view:

  • Embeddability
    This version is the best Informix version ever in terms of ability to embed it into some controlled environment. Some features that contribute to this are: better install, several capabilities for cloning and deploying instances, more autonomic features, improved ability to control it in a programmable way (alarm codes, oninit return codes), storage provisioning etc.
  • Grid
    Imagine you have a large number of instances. And you need to run something in all of them (or a subset). How do you do it? With scripts.... Yes... I've done it... But now you can do it with "grid functionality". You just define the grid nodes (add/delete) and then you connect to the grid, run you SQL, and voil�.... This requires a lot more explanation, but it's that simple.
  • Performance
    As always, a new version is expected to run faster than it's predecessors. This can be done with code improvements and new features. Panther has both. To list a few, it has several Informix XPS features that were ported into Dynamic Server like XPS api (faster tables and indexes access times), Index Skip Scan, Multi Index Scan, improved light scans, push down hash joins (or Star joins), and a few others like Forest of Trees Indexes (FOT), DLL preload, improved name service connection time (NS_CACHE) etc.
  • Warehousing
    Well... I named a few in the performance group. But there are others, like fragment level statistics, more fragmentation schemes (interval, list), online fragment attach/detach for interval fragmentation scheme
  • Security
    This is one of my favorites... Users don't need to be recognized by the OS anymore, trusted context was ported from DB2 (change the authentication inside an already established session - perfect for application servers, and hopefully in the future for 4GL web services), and finally the ability to audit only specific tables (when using the RDRW, INRW, DLRW and UPRW mnemonics). This last one was the Achilles' heel of the Informix auditing facility
  • Others
    It's weird to group such nice features into an "others" category, but I'll do it anyway for simplification: End of extent limit, online table reorg, WebSphere MQ datablade enhancements, OAT enhancements (too match all the relevant new features), DDL support for "CREATE/DROP ... IF [NOT] EXISTS", DDL on secondary nodes, Enterprise Replication without primary key, connection manager improvements, SPL debugging, Optim Development Studio and IBM Mashup Center 2.0 included, etc.
The next article will focus on the installation process. After that I'll proceed with several other features. Don't expect a specific order. I thought about going for the more important features first, but then I realized that there are excellent features in totally different areas. What can be fundamental to some people may as well be nearly useless to others... So, the order will not reflect the feature importance.


Vers�o Portuguesa:

Em 2007, ap�s a IBM ter lan�ado a vers�o 11.10 (Cheetah), eu escrevi uma s�rie de artigos que focavam v�rias funcionalidades novas. Na altura, s� em Ingl�s, chamei-lhes "Chetah spot by spot: ..." que se poderiam traduzir por "Cheetah, mancha por mancha". Queria fazer algo semelhante para a nova vers�o com o nome de c�digo "Panther" ou pantera mas deparei-me com um problema: O que � uma pantera? Tem manchas? A Kate Tomchik, perguntou sobre isto no profile do Jerry Keesee (director de desenvolvimento do Informix) no Facebook... Para mim, uma pantera � uma variante negra de v�rios animais (leopardo, jaguar e possivelmente le�o da montanha ou puma). Portanto, embora possa ter manchas ser�o pouco vis�veis.... Em resumo, n�o tenho um t�tulo sonante para estes artigos... � uma pena, mas penso que conseguimos viver sem isso :)

Continuando, dei uma vista de olhos nas release notes do Panther � procura das novas funcionalidades... Muitas e muito boas. Sendo este o primeiro artigo, vou tentar agrup�-las (salientando algumas) seguindo a minha vis�o pessoal:

  • Embeddability
    Esta � a melhor vers�o Informix de sempre em termos de capacidade de embeber a base de dados num ambiente controlado. Algumas funcionalidades contribuem para isto: Melhor instala��o, v�rias formas de clonar e "implantar" inst�ncias, mais funcionalidades autonomicas, melhoria nas possibilidades de controlar as inst�ncias de forma program�tica (c�digos de alarme, c�digos de retorno do oninit), aprovisionamento de espa�o etc.
  • Grid
    Imagine que tem um grande n�mero de inst�ncias. E que necessita executar algo em todas elas (ou numa parte). Como � que o faz? Com scripts... sim... j� o fiz... Mas agora pode faz�-lo com a funcionalidade "grid". S� tem de definir os n�s do grid (adicionar/remover) e depois conectar-se � grid correr o SQL e voil�.... Isto requer muito mais explica��es, mas � assim t�o simples...
  • Desempenho
    Como sempre, espera-se que uma nova vers�o seja mais r�pida que as anteriores. Isto pode ser feito com melhorias no c�digo ou novas funcionalidades. O Panther tem ambas. S� para listar algumas, tem v�rias funcionalidades que foram portadas do Informix XPS para o Dynamic Server como a XPS api (melhores tempos de acesso a tabelas e ind�ces), Index Skip Scan, Multi Index Scan, melhoria nos light scans, push down hash joins (ou Star Joins) e mais algumas como ind�ces Forest Of Trees (FOT), pr�-carregamento de DLLs, melhores tempos do servi�o de nomes (NS_CACHE) etc.
  • Warehousing
    Bom.... J� mencionei algumas no grupo de desempenho. Mas existem outras, como estatisticas ao n�vel dos fragmentos (ou parti��es), mais formas de framenta��o/particionamento (intervalo, lista), attach/detach de fragmentos online para tabelas particionadas por intervalo
  • Seguran�a
    Este � um dos meus favoritos.... Os utilizadores j� n�o necessitam de ser reconhecidos pelo sistema operativo (note-se que a autentica��o j� podia ser feita externamente, mas os utilizadores tinham de ter a sua identidade - uid, home dir, group etc. - conhecido pelo SO), trusted context foi portado do DB2 (mudar a autentica��o dentro de uma conex�o j� estabelecida - perfeito para servidores aplicacionais, e esperemos no futuro para os web services em 4GL), e finalmente a possibilidade de auditar tabelas espec�ficas (quando se quer usar as menem�nicas RDRW, INRW, DLRW e UPRW). Esta �ltima era o calcanhar de Aquiles do sistema de auditing do Informix
  • Outros
    � estranho agrupar estas funcionalidades t�o interessantes numa categoria "Outros" mas fa�o-o para simplificar: Fim do limite de extents, reorganiza��o (jun��o de extents) de tabelas online, melhorias no datablade WebSphere MQ, melhorias no Open Admin Tool (para acompanhar as novas funcionalidades do motor), suporte para a sintaxe "CREATE/DROP ... IF [NOT] EXISTS", DDL nos n�s secund�rios, Enterprise Replication sem chave prim�ria, melhorias no connection manager, depuramento de stored procedures SPL, Optim Development Studio e IBM Mashup Center 2.0 inclu�do etc.

O pr�ximo artigo focar� o processo de instala��o. Depois prosseguirei com v�rias outras funcionalidades. N�o espere uma ordem espec�fica. Pensei em abordar primeiro as funcionalidades mais importantes, mas depois tomei consci�ncia que h� excelentes novidades em �reas completamente distintas. O que pode ser fundamental para um cliente pode ser praticamente in�til para outro. Assim a ordem n�o reflectir� a import�ncia das funcionalidades