Informix 11.70.xC5: It's available / Já está disponível
This article is written in English and Portuguese
Este artigo está disponível em Inglês e Portguês
English version:
The new fixpack of Informix 11.70 (xC5) is available and the Infocenter documentation was just updated as well as the PDF sets of manuals.
Taken directly from the release notes the new features and functionalities are (comments added after the bullet items):
- Administration
- Plan responses to medium-severity and low-severity event alarms
Mainly a documentation improvement. By describing each possible event ID and the recommended action, IBM is continuing the improvement of the alarm handler allowing the end user to costumize the ALARMPROGRAM scripts - IFX_BATCHEDREAD_INDEX environment option
The batched index read feature can now be controled using SQL through the SET ENVIRONMENT statement - Application development
- Improvement to the keyword analyzer for basic text searching
An improvement on the way the Basic Text Seach datablade (BTS) handles the keyword analysis to create it's indexes - Increased SQL statement length
It may look a small feature if you never hit the 64KB limit, but it can be a must have if you ever faced that limit. Currently the limit was increased to an absurd 4GB with the exception of the CREATE VIEW which is 2MB - Enhanced query performance
This can be misleading. What it is in fact is that the size of the client/server communication buffer can now be changed to 2GB by using the FET_BUF_SIZE variable. The driver for this was a competitive situation where it was identified that this could be a bottleneck. Note that this can be important for UNLOADs, exports etc. - The Change Data Capture API sample program
Not really a feature. One program that was only found on the docs is now available in $INFORMIXDIR/demo/cdc for convenience - Enterprise replication
- Replication errors on leaf nodes
Since the leaf nodes in an ER topology can't have much information about errors on other servers, that errors are removed from the syscdrerror tables on leaf nodes - Global language support
- Scan strings with the ifx_gl_complen() functions
Performance improvement for GLS code - Time Series data
- Count the time-series elements that match expression criteria
COUNTIF function - Remove old time-series data from containers
Allows the re-use of space after old data removal - New operators for aggregating across time-series values
Improvement to the TSRollup function - Data warehousing
- Refresh data quickly without reloading the whole data mart
A single partition (fragment) of a fragmented table can be sent to the IWA in-memory database - Use high-availability secondary servers to accelerate queries
HDR, RSS and SDS servers can now be used to create and load datamarts. Previously they could only be used to accelerate queries. This is a big improvement if you want to mix OLTP and BI workloads since you could offload a large part of the BI to the secondary node(s) leaving the primary to the main OLTP work - New options added for the use_dwa environment variable
Several new options for this variable allow you to gain more control about how a session uses the Informix Warehouse Accelerator and to collect more data to understand it's behavior - Support for new functions is implemented
Several new functions are supported in the accelerator, which allows more queries to benefit from it. This time the functions added were: LEN, LENGTH, SUBSTR, SUBSTRING, TODAY, TRIM and YEAR - Support for the Solaris Intel x64 operating system added
This increases the number of platforms where the connection to Informix Warehouse Accelerator is supported. Currently they are: AIX, HP-UX, Solaris Sparc, Solaris Intel and Linux. I'd say the only one missing that matters is Windows!
- Performance improvements that can cause issues on some customers or that break undocumented behaviors that applications rely upon. These features have hidden variables that can change the engine behavior if customers hit any issues. Personally I don't like this kind of things, but after seeing some explanations about some of these I tend to understand why this approach was adopted. I have sporadically faced some of these situations over the years and I noticed that one behavior may be desirable in some cases and not in others
- New functionality that may be provided to some selected customers or partners while still being developed and improved. This will surely be part of the next major release and the benefit is that they'll be much more stable when they're officially released
Versão Portuguesa:
O novo fixpack do Informix 11.70 (xC5) está disponível e a documentação no Infocenter e nos PDFs foi actualizada
Tirado diretamente das release notes as novas funcionalidades são (comentários adicionados após cada ponto):
- Administração
- Planeamento de respostas para alarmes de baixa e média severidade
Essencialmente é uma melhoria na documentação. Ao descrever cada possível evento (ID) e as ações recomendadas, a IBM continua a melhorar o gestor de alarmes permitindo ao utilizador final costumizar o seu script para o ALARMPROGRAM - Opção de ambiente IFX_BATCHEDREAD_INDEX
A funcionalidade batched read index pode agora ser controlada por SQL através da instrução SET ENVIRONMENT - Desenvolvimento aplicacional
- Melhoria na análise de palavras chave para a pesquisa básica de texto
Uma melhoria na forma como o Basic Text Search (BTS) datablade lida com a análise de palavras-chave para criação dos seus índices - Aumento do tamanho das instruções SQL
Pode parecer uma pequena melhoria, se nunca atingiu o limite de 64KB, mas pode ser crítico se alguma vez se deparou com este limite. Desta feita o limite foi aumentado para uns absurdos 4GB, com exceção de um CREATE VIEW que está limitado a 2MB - Performance de queries melhorada
Esta descrição pode ser enganadora. Não se trata de uma alteração ao optimizador, mas sim da capacidade de aumentar o buffer de comunicação entre o servidor e o cliente para 2GB. Isto pode ser controlado com a variável de ambiente FET_BUF_SIZE que até aqui só podia ir até 32KB. A razão para esta alteração foi uma situação de competição com outra base de dados onde isto foi identificado como um factor limitativo da performance. Note-se que isto pode ser importante para UNLOADs, dbexports etc. - Programa de exemplo de Change Data Capture API
Não é propriamente uma funcionalidade. Um programa que apenas podia ser encontrado no manual pode agora ser mais facilmente utilizado pois existe em $INFORMIXDIR/demo/cdc
- Enterprise replication
- Erros de replicação nos leaf node
Dado que os nós "folha" numa topologia ER não podem ter muita informação sobre erros de outros servidores (acima na cadeia), esses erros foram removidos da syscdrerror nos servidores "folha"
- Suporte global language
- Varrer strings com as funções the ifx_gl_complen()
Melhoria de performance no código GLS
- Dados Timeseries
- Contar os elementos time-series que verificam uma expressão de critério
Função COUNTIF - Remoção de dados antigos de containers de time-series
Permite a re-utilização de espaço após a eliminação de dados antigos
- Novos operadores para agregação de valores time-series
Melhoria na função TSRollup - Data warehousing
- Refrescamento rápido de dados sem re-carregar todo o data mart
Podemos refrescar apenas uma partição (fragmento) de uma tabela na base de dados in-memory do IWA
- Utilizar os servidores secundários para acelerar as queries
Os servidores HDR, RSS e SDS podem ser usados para criar e carregar data marts. Anteriormente apenas podiam ser usados para acelerar queries. Isto é uma grande melhoria se quer misturar utilizações OLTP e BI dado que se pode direcionar toda a carga de BI para os nós secundários, deixando o primário liberto para o trabalho OLTP
- Novas opções adicionadas à variável use_dwa
Várias opções foram adicionadas a esta variável para providenciar maior controlo sobre como uma sessão utiliza o Informix Warehouse Accelerator e para recolher mais dados para entender o seu comportamento - Suporte para novas funções
Várias novas funções são suportadas pelo acelerador, o que permitirá que ainda mais queries sejam aceleradas. Desta feita as funções adicionadas foram: LEN, LENGTH, SUBSTR, SUBSTRING, TODAY, TRIM e YEAR
- Suporte para o sistema operativo Solaris Intel x64
Aumentou a lista de plataformas que suportam a conexão ao Informix Warehouse Accelerator. Atualmente são: AIX, HP-UX, Solaris Sparc, Solaris Intel e Linux. Diria que a única ausência relevante será o Windows!
Estou a pensar em particular nas funcionalidades do Informix Warehouse Accelerator, nas de TimeSeries e muito especificamente no alargamento do limite dos comandos SQL. Sei que alguns clientes têm sofrido com este limite há anos. E o aumento do tamanho máximo do buffer de comunicação pode ter um efeito dramático em situações específicas. Mas isto não é tudo. Esta versão incorpora muito trabalho que infelizmente não está documentado (ainda). Isto divide-se em duas grandes áreas:
- Melhorias de performance que podem causar problemas em alguns clientes ou que alteram comportamentos não documentados dos quais algumas aplicações podem depender. Estas funcionalidades tem associadas variáveis não documentadas que podem mudar o comportamento do motor caso os clientes encontrem algum problema. Pessoalmente não gosto deste tipo de configurações, mas após ter visto algumas explicações sobre algumas destas funcionalidades acabo por compreender o porquê de se ter seguido esta abordagem. Já encontrei algumas destas situações esporadicamente e verifiquei que um comportamento pode ser bom para uns casos e mau para outros
- Novas funcionalidades que podem ser disponibilizados a clientes e/ou parceiros selecionados enquanto ainda estão a ser desenvolvidas ou melhoradas. Estas serão certamente disponibilizadas numa próxima versão, sendo que o benefício desta abordagem é que quando for feita a introdução formal, estarão muito mais estáveis
No comments:
Post a Comment