Showing posts with label TimeSeries. Show all posts
Showing posts with label TimeSeries. Show all posts

Saturday, May 26, 2012

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!
To be honest, at first glance I didn't find this fixpack had the number of new features that we've become used to in the latest ones. My fellow colleague from tech support immediately found this good (sometimes new features bring new issues and tech support likes "quiet" releases that allow easy rollback to previous versions). But on the other hand if we look into some of these features, we really see that our R&D has been busy. I'm thinking about the Warehouse Accelerator features, the Timeseries and in particular the size of the SQL statements. I believe some people have been struggling with this for many years. And the increase of the maximum client/server communication buffer, can have a dramatic effect on some specific situations. But this is not all. This release has a lot of work that unfortunately is not documented yet. This is divided into two areas:
  1. 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
  2. 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
So, in short, another fixpack, some significant improvements in Warehouse Accelerator, Timeseries and other very specific points, and a lot of "undercover" work that follows a well established roadmap. Of course I could be accused of "whispering" simply to promote the work of R&D, but if you follow my posts you must agree I don't usually do this. Some stuff that I'm thinking about have recently come up on IIUG mailing list discussion, following up on some other blog's post, so I'm not even the first one to "leak" some of this. Hopefully in the future I'll be able to post something like "do you remember when I whispered about some undercover work? That was this and this and that..." and then you can pick up the "old" 11.70.xC5 fixpack and try a couple of tricks :)

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!
Para ser  honesto, à primeira vista, não me pareceu que este fixpack tivesse o mesmo número de funcionalidades a que nos temos habituado nos últimos. O meu colega do suporte técnico considerou imediatamente que isto era positivo (por vezes funcionalidades novas trazem novos problemas e o suporte gosta de versões "calmas", e que permitam regressão com paragem e arranque simples). Mas por outro lado, se olharmos para algumas das novas funcionalidades, verificamos que realmente o desenvolvimento tem estado bastante ocupado.

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:

  1. 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
  2. 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
Em resumo, mais um fixpack, algumas melhorias significativas no Informix Warehouse Accelerator,  Timeseries e outros pontos muito específicos, e muito trabalho de bastidores que segue um roadmap bem estabelecido. Claro que posso ser acusado de criar "boatos" simplesmente para promover o trabalho do desenvolvimento, mas se segue os meus artigos deverá concordar que tal não é o meu hábito. Algumas das coisas em que estou a pensar quando refiro o trabalho de bastidores foram referidas na lista de email do IIUG recentemente, no seguimento de um artigo de outro blog, portanto nem sequer sou o primeiro  a deixar passar alguma informação mais restrita. Seguramente no futuro ser-me-á possível escrever algo do tipo "lembram-se quando mencionei algum trabalho de bastidores? Referia-me a isto, isto e isto..." e depois poderá pegar na "velha" versão 11.70.xC5 e testar alguns truques :)

Wednesday, February 8, 2012

Sweet CRM / Doce CRM

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

English Version:

A recent press release by Oninit is being echoed across the Internet. Oninit have completed the port of SugarCRM, an open-source CRM system to Informix.
This gives SugarCRM users the opportunity to use Informix as the underlying database to their CRM system, effectively taking advantage of all the features we all know and love (performance, scalability, high availability features, complete platform options, simplicity etc.).

But there is even more to this.. Accordingly to SugarCRM site there were already a number of points connnecting SugarCRM and IBM (Cognos and SugarCRM working together, Lotus integration, IBM systems etc.).
It's also important to note that from a cost reduction point of view, the free Informix versions or the ones with lower costs can be an excellent companion for SugarCRM.
You can start small... Informix will grow as your business.

This is another great news about integration of Informix with many products (MediaWiki, XWiki, iBatis, Hibernate, Drupal, Alfresco and others).
Congratulations to Oninit for another great job (following several TimeSeries activities)

Versão Portuguesa:

Um comunicado de imprensa recente, pela Oninit está a ter eco na Internet. A Oninit completou a adaptação para que o CRM open-source SugarCRM passe a trabalhar também com Informix.
Isto permite aos utilizadores de SugarCRM usar o Informixx como base de dados de suporte do seu sistema de CRM, aproveitando assim as funcionalidades que conhecemos e apreciamos (rapidez, capacidade de escalar, alta-disponibilidade, disponibilidade de várias plataformas, simplicidade etc.).


Mas há ainda mais sobre isto... Segundo o site do SugarCRM já existiam um número de pontos de contacto entr o SugarCRM e a IBM (ligação entre SugarCRM e Cognos, integração com Lotus. sistemas IBM etc.).
Há ainda que referir que numa óptica de poupança de custos, as versões gratuitas ou de menor custo do Informix podem ser uma excelente companhia para o SugarCRM.
Pode começar pequeno... O Informix acompanhará o crescimento do seu negócio.


Isto é mais uma excelente notícia sobre a integração de Informix com muitos outros produtos (MediaWiki, XWiki, iBatis, Hibernate, Drupal, Alfresco e outros).
Parabéns à Oninit pela excelente iniciativa (depois de várias atividades relacionadas com Informix Timeseries)

Wednesday, November 2, 2011

Informix 11.70.xC4 is available / Informix 11.70.xC4 está disponível

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

English Version:

IBM has relesed Informix 11.70.xC4 in October 25. The changes in this release, taken directly from the release notes, are (comments added):



  • Administration
    • Enhancements to the OpenAdmin Tool (OAT) for Informix
      OAT now allows the management of database users (for non-OS users) and OAT is now delivered and installable with Client SDK for Windows (32bits), Linux (32 and 64 bits) and MAC OS (64 bits)
    • Enhancements to the Informix Replication Plug-in for OAT
      The ER plugin now follows ER improvements and can handle multibyte locales.
    • Informix Health Advisor Plug-in for OAT
      A totally new plugin that can examine a great number of metrics and configuration details, warning you (email) of anything not within the recommended settings and/or defined thresholds.
      The checks can be scheduled and you can setup several different profiles. Each will run a specific (and configurable) set of metrics.
    • Dynamically change additional configuration parameters
      Several parameters can now be changed with onmode -wm/-wf. Some of them are really important (WSTATS, AUTO_REPREPARE, CKPTINTVL, DIRECTIVES, OPTCOMPIND, SHMADD) and can save you from planned downtime. Others are more or less irrelevant (some of them could be changed by editing the $ONCONFIG file), but it's important that they can be changed through SQL Admin API for client DBA tools
    • Compare date and interval values
      API extensions to compare datetime and interval values.
    • Plan responses to high severity event alarms
      Could not understand what is new. This could be done before by customizing the ALARMPROGRAM script
    • Data sampling for update statistics operations
      A new parameter (USTLOW_SAMPLE) defines if you want to sample the data for the index information gathering or not (indexes with more than 100.000 leaf pages). 11.70.xC3 did this by default. This can also be set at session level. Note that this can have a dramatic impact on the time it takes to regenerate your statistics. The "LOW" will be the slowest for large tables with indexes...
    • SQL administration API command arguments for creating sbspaces
      New options to create smart blob spaces with logging and access time recording in SQL admin API
    • Monitor client program database usage
      The client program's full path name is now available in onstat -g ses.
      Note that although you can use this to monitor and control access, this information is sent by the client side and potentially can be faked (not the average user, but an attacker could do it)
    • Progress of compression operations
      Two new columns in onstat -g dsk show the approximate percentage of the tasks already completed and the estimated time to finish
  • High availability and Enterprise Replication
    • Easier setup of faster consistency checking
      When using ifx_replcheck and an index is created on it, the CRCOLS are not necessary
    • Handle Connection Manager event alarms
      Scripts used for processing connection manager alarms now have access to two variables that identify their name (INFORMIXCMNAME) and unit name (INFORMIXCMCONUNITNAME). This facilitates the script creation
    • Easier startup of Connection Manager
      When the variable CMCONFIG is set and points to the connection manager configuration file, it can be started, stop and restarted without specifying the configuration file. Much like ONCONFIG is used for the engine
    • Prevent failover if the primary server is active
      A new parameter called SDS_LOGCHECK can specify an number of seconds while the SDS secondaries will monitor the logical logs for activity (which would be generated by the primary server). This tries to implement a safety measure to prevent an SDS server to become a primary after a "false" failure of the primary. Note that usually this is prevented by using I/O fencing, but if that is not available this can be another way to make sure you don't end up with two primaries
    • Configure secure connections for replication servers
      A new parameter called S6_USE_REMOTE_SERVER_CFG defines if the file specified by REMOTE_SERVER_CFG will also be used for client connections using the s=6 SQLHOSTS options (for replication). If this parameter is set to 1 the file will be used, otherwise it will default to the old behavior and use $INFORMIXDIR/etc/hosts.equiv
  • Security
    • Global Security Kit (GSKit) support
      A new parameter (GSKIT_VERSION) can be used to specify the Global Security Kit version you intend to use. Informix 11.70.xC4 ships with version 8, but can use version 7
    • Use a file to authenticate server connections in a secured network environment
      Already mentioned above (S6_USE_REMOTE_SERVER_CFG)
  • Time Series data
    • IBM Informix TimeSeries Plug-in for Data Studio
      This new plugin allows the interaction with TimeSeries data from Optim Data Studio and Optim Developer Studio
    • Delete a range of elements and free empty pages from a time series
      Delete improvements in TimeSeries data that should free some pages
    • Aggregate time series data across multiple rows
      Improvement in how we can aggregate TimeSeries data.
Besides bringing some new features, this release also fixes some important bugs that appeared in xC3 around the new automatic read ahead configuration. Apart from this I think it's important to notice the following points:

  • TimeSeries continues to have a great focus on the current enhancements off Informix. This is expectable and desired considering the great news around customer success stories and the recent benchmark.
  • The new OAT health plugin. I didn't have time yet to really explore it, but for sure I would have done a few things differently like re-using the alarmprogram configuration to send alarms. But this is great and being a plugin it can easily be changed if it doesn't fit your needs.
  • The inclusion of OAT inside CSDK is a good step (from my point of view). It makes it easier to get and install. I've installed it very quickly in Windows
  • The new dynamically changeable parameters are a very good step. Of course I would love to be able to change all the parameters without stopping the instance. But we're getting closer. My next favorites would be (and why):
    • LOGBUFF, PHYSBUFF
      After instance healthchecks, may times these should be changed
      I suppose this should not be to hard, since there are a set of each and they're used in a circular fashion. So on change, they could be resized.
      LOGBUFF would probably be harder due to it's role in replication (HDR)
    • TBLSPACE_STATS
      Again, it's a good practice to have this active. But having to stop the instance to fix this is not nice
    • SYSSBSPACENAME, SBSPACENAME
      Sometimes these are not set, but the usage of some new features required them. A restart is not nice...
    • CLEANERS
      Again, many times needed after a configuration check
    • SHMTOTAL
      Many customers don't set it. And sometimes you may need to reduce it or increase it (new OS are able to add/remove memory online). Of course we would not be able to lower it below current usage.
    • DD_*, DS_*, PC_*, PLCY_*, USRC_
      Again, usual candidates to change after a health check. These would be trickier to change, but if we did it for statement cache we should be able to do it for all the other caches. Also a functionality to "flush" these caches or at least remove some entries would be nice.
    • EXT_DIRECTIVES
      Some times customers find out they need it, but it's off by default... Again the restart
    • DBCREATE_PERMISSION
      This is in my view dynamic by nature


Versão Portuguesa:

A IBM lançou o Informix 11.70.xC4 no dia 25 de Outubro. Estas são as mudanças nesta versão (retiradas directamente das release notes (comentários adicionados):



  • Administração
    • Melhorias no OpenAdmin Tool (OAT)
      O OAT permite agora a gestão dos utilizadores de base de dados (para utilizadores não autenticados no sistema operativo) e é agora distribuido com o Client SDK para Windows (32bits), Linux (32 and 64 bits) e MAC OS (64 bits)
    • Melhorias no plugin de replicação do OAT
      O plugin de ER segue as emlhorias do próprio ER e pode lidar com locales multibyte
    • Informix Health Advisor Plug-in para o OAT
      Um plugin totalmente novo que pode examinar um grande número de métricas e detalhes de configuração, avisando (por email) de algo que fuja às recomendações e/ou a parâmetros pré-definidos. Podemos calendarizar verificações periódicas de acordo com vários perfis. Cada perfil irá validar um conjunto de métricas especificas (e configurável)
    • Alteração dinâmica de mais parâmetros
      Vários parâmetros podem agora ser mudados com o onmode -wm/-wf. Alguns são realmente importantes (WSTATS, AUTO_REPREPARE, CKPTINTVL, DIRECTIVES, OPTCOMPIND, SHMADD) e podem evitar paragens planeadas. Outros são relativamente irrelevantes (alguns já podiam ser alterados editando o $ONCONFIG), mas é importante que possam ser alterados através da SQL Admin API, para que possam ser mudados em ferramentas cliente
    • Comparação de datas e intervals
      Extensão da API extensions para comparar valores dos tipos datetime e interval
    • Planear resposta a eventos de alta severidade
      Não consegui perceber o que foi feito de novo. Isto já podia ser feito através da configuração/adaptação do script configurado no parâmetros ALARMPROGRAM
    • Data sampling para operações de UPDATE STATISTICS
      Um novo parâmetro (USTLOW_SAMPLE) define se queremos efectuar sampling na recolha de dados sobre os índices ou não (índices com mais de 100.000 "folhas" - leaf pages). 11.70.xC3 fazía-o por omissão. Isto pode ser activado ao nível da sessão. Note-se que isto pode ter um impacto dramático no tempo que leva a refazer as estatísticas. A opção "LOW" é a mais lenta para tabelas grandes em muitos casos..,
    • Novos argumentos para criar smart blob spaces com a SQL administration API
      As novas opções permitem criar os smart blob spaces com ou sem logging e mantendo ou não o tempo de acesso aos objectos
    • Monitorização do uso das bases de dados por programa cliente
      O nome (caminho) completo do programa cliente está disponível no output do onstat -g ses
      Note-se que apesar de isto poder ser usado para monitorizar ou até condicionar o acesso a uma base de dados, esta informação é enviada pelo cliente e pode potentcialmente ser alterada (não pelo utilizador comum, mas certamente por um atacante)
    • Consulta do progresso das operações de compressão
      Duas novas colunas no output do onstat -g dsk mostras a percentagem aproximada de trabalho já efectuado e o tempo estimado para a sua conclusão
  • Alta disponibilidade e Enterprise Replication
    • Configuração mais fácil de verificação de consistência
      Quando se usa o ifx_replcheck, e se cria um índice por ele, os CRCOLS não são necessários
    • Lidar com alarmística do Connection Manager
      Scripts usados para processar os alarmes do(s) connection managers têm agora acesso a duas variáveis que identificam o seu nome  (INFORMIXCMNAME) e nome de unidade (INFORMIXCMCONUNITNAME). Isto facilita a criação dos scripts
    • Arranque facilitado do Connection Manager
      Quando a variável CMCONFIG está definida e aponta para o ficheiro de configuração do Connection Manager, este pode ser iniciado, parado e re-iniciado sem especificar o ficheiros de configuração. Muito semelhante à utilização da variável ONCONFIG para o motor
    • Prevenção de failover se o servidor primário ainda estiver activo
      Um novo parâmetro, chamado SDS_LOGCHECK pode indicar o número de segundos que os SDS secundários irão monitorizar os logical logs para detectar actividade (que a existir seria gerada pelo primário). Isto tenta implementar uma medida de segurança para prevenir que um servidor SDS se torne primário em caso de falsa falha do primário. Note-se que habitualmente isto é prevenido com recurso ao I/O fencing, mas se essa funcionalidade não estiver disponível, esta pode ser outra forma de evitar ficar com dois servidores primários
    • Configuração de segurança para servidores em replicação
      Um novo parâmetro, S6_USE_REMOTE_SERVER_CFG define se o ficheiro indicado pelo parâmetro REMOTE_SERVER_CFG será também usado para conexões que utilizem a opção s=6 do SQLHOSTS (para replicação). Se o parâmetros estiver a 1 o referido ficheiro será utilizado, caso contrário o comportamento antigo será o escolhido e o ficheiro a usar será $INFORMIXDIR/etc/hosts.equiv
  • Segurança
    • Suporte ao Global Security Kit (GSKit)
      Um novo parâmetros, GSKIT_VERSION, pode ser usado para definir a versão do Global Security Kit que se pretende usar. O Informix 11.70.xC4 incluí a versão 8, mas pode trabalhar com a versão 7
    • Utilizacão de um ficheiro para autenticar conexões de servidores numa rede segura
      Já mencionado atrás (S6_USE_REMOTE_SERVER_CFG)
  • Dados Time Series
    • IBM Informix TimeSeries Plug-in para Data Studio
      Este novo plugin permite interagir com dados TimeSeries a partir do Optim Data Studio e do Optim Developer Studio
    • Apagar um intervalo de elementos e libertar páginas vazias de um time series
      Melhorias nos DELETEs em dados TimeSeries que permitem libertar espaço
    • Agregar dados time series cruzando várias linhas
      Melhorias na forma como podemos agregar informação guardada em TimeSeries
Para além de trazer algumas novas funcionalidades, esta versão também corrige alguns bugs importantes em torno da funcionalidade de read ahead automático introduzido na versão 11.70.xC3. Fora isto, julgo que é importante salientar os seguintes pontos:


  • O TimeSeries continua a receber muito do foco das últimas melhorias no Informix. Isto é expectável e desejável considerando as boas notícias sobre histórias de sucesso e o recente benchmark
  • O novo health plugin do OAT. Não tive muito tempo ainda para o explorar, mas certamente faria algumas coisas de forma diferente, como por exemplo re-utilizar a configuração do ALARMPROGRAM para o envio de alarmes. Mas a criação deste plugin é uma óptima ideia e sendo um plugin pode ser alterado facilmente para se ajustar às nossas necessidades
  • A inclusão do OAT dentro do Client SDK é um bom passo (do meu ponto de vista). Torna ainda mais fácil obter e instalar o OAT. Já o instalei em Windows aproveitando o upgrade de versão que fiz ao Client SDK
  • A possibilidade de mudar dinamicamente mais parâmetros é excelente. Naturalmente que gostaria que todos os parâmetros da instância tivessem esta capacidade. Mas estamos cada vez mais perto. Os meus próximos favoritos seriam (e porquê):
    • LOGBUFF, PHYSBUFF
      Depois de uma análise a uma instância, muitas vezes estes devem ser mudados.
      Imagino que torná-los dinâmicos não fosse muito difícil, pois existem vários buffers que são usados de forma circular. Assim, após um pedido de mudança, quando passa de um para outro podia aproveitar-se para fazer a alteração. O LOGBUFF seria mais difícil pela importância que tem na replicação (HDR)
    • TBLSPACE_STATS
      Também aqui é uma boa práctica ter este parâmetro activo. Mas se for detectado que não está, ter de parar a instância para o mudar não é simpático
    • SYSSBSPACENAME, SBSPACENAME
      Muitas vezes estes não são definidos, mas a decisão de usar novas funcionalidades torna-os necessários. Mais uma vez, obrigar a paragem não é simpático...
    • CLEANERS
      Muitas vezes necessita ser alterado após uma análise à configuração e comportamento da instância
    • SHMTOTAL
      Muitos clientes não o definem. E por vezes podemos ter de reduzir ou aumentar o valor (os novos sistemas operativos já permitem adicionar/remover memória dinamicamente). Naturalmente não seria possível baixar o valor abaixo da quantidade já em uso
    • DD_*, DS_*, PC_*, PLCY_*, USRC_
      Mais candidatos habituais a mudança após uma análise de configuração. Estes seriam possivelmente dos mais complexos de tornar dinâmicos, mas se já se faz para a statement cache deveria ser possível fazer para estes também. Para além disso, uma funcionalidade para limpar uma das caches (ou pelo menos remover alguma entrada) seria útil em determinadas situações
    • EXT_DIRECTIVES
      Alguns clientes descobrem que precisam de o usar, mas está desligado por default. E uma paragem nunca é desejável
    • DBCREATE_PERMISSION
      Este é a meu ver dinâmico por natureza


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.