Showing posts with label accelerator. Show all posts
Showing posts with label accelerator. Show all posts

Thursday, July 28, 2016

Informix 12.10.xC7

A description of the new features introduced in Informix fixpack 12.10.xC7 (original version here: http://informix-technology.blogspot.com/2016/06/informix-1210xc7.html)


English version
And another fixpack has come out. Informix 12.10.xC7 has been available to customers for around  two weeks. The documentation is available in the Knowledge Center.

The new fixpack will not be known as the greatest ever. The list of features is not long, and more important is highly dedicated to the new features we've been seeing in the latest releases. Things like JSON, Spatial temporal and Timeseries have been the main focus of the enhancements. I'd call this essentially a stability and IoT release. However, not all new features were documented (more on this later). Let's dig into the list:

  • Application development
    • COALESCE function
      This is the only "regular SQL" enhancement. The COALESCE() function accepts an undetermined number of arguments and returns the first non NULL value. It's a sort of glorified NVL(). This is important for compatibility with other vendors, specially considering this would not be possible to implement in a custom function (considering the unknown number and type of the arguments)
  • JSON compatibility
    • Update BSON arrays in an SQL statement
      New MongoDB operators were added to the list of possibilities in the BSON_UPDATE() function: $addToSet, $pop, $pullAll, and $push, plus the array update operator modifiers $each, $position, $slice, and $sort
    • JSON compatibility enhancements
      Several improvements in the JSON handling and MongoDB compatibility:
      • The behavior of the wire listener was changed. Now it send the updates to the database server first. Before the updates were run on the listener
      • We can now use bind variables in SQL statements sent through the wire listener
      • Even if the SQL statements feature is disabled we can activate the execution of procedures and functions. This allows greater control and security without allowing generic SQL execution
      • The transaction command can be used to execute several statements as a single transaction.
      • Compatibility with MongoDB shell version 3.2
      • GridFS functionality (available in the MongoDB drivers) can be used with Informix. This functionality was introduced as a way to sotre files in MongoDB that exceed the 16MB limit of MongoDB objects (note that Informix limit is 2GB).
        This splits the file into smaller chunks and stores the chunks in one collection and the metadata of the file in another collection
      • You can now use the MongoDB aggregation framework pipeline to aggregate time series data or return the time series element in a time range.
    • Load JSON documents with the MQTT protocol
      The MQTT protocol is an ISO lightweight protocol defined to allow sensors and other endpoint devices to send data to repositories or message brokers. Now Informix wire listener can be configured as an MQTT protocol receiver so that data can be sent to the database without further programming
    • Quickly add or remove shard servers with consistent hashing
      A new sharding method, "chash" or consistent hashing allows a member to be added or removed to a sharded object (table or collection) without having to redistribute all the data (only part has to be distributed)
  • Spatiotemporal searching
    • Improved spatiotemporal searching
      There are many improvements in this area. They are very specific and the description requires knowledge of what spatioltemporal data is and how it works. One highlight is the fact that the distance measures now are done in a spherical model and not the old Cartesian one. This was previously done for the spatial datablade and is very important considering the old method would introduce significant errors in the calculations (specially for longer distances and some parts of the globe)
  • Time series
    • Trigger spatiotemporal indexing while loading time series data
      New option allows us to require the indexing of spatiotemporal data when TimeSeries loaded data is written to disk
    • Improved pattern match searching
      TimeSeries pattern matching on BSON documents for numeric data and TimeSeries sub-type
    • Limit future data for rolling window containers
      We can define how many partitions "in the future" can be added. This may avoid that some application or user mistakes delete valid (old) data partitions
    • Enhancements for hertz data
      Removal of some limitations. Hertz (sub-second) data can be inserted after more recent data (out of chronological order), although within a second the order must be respected. And this type of data can now use rolling window containers
    • Longer fragmentation schemes for time series virtual tables
      I have troubles understanding this feature... Apparently the statement for a virtual table creation on top of a timeseries structure could result in an SQL statement that exceeds the maximum size of an SQL statement. So two flags were created to shorten the statement, depending on the scheme used in the base table. What puzzles me is that the SQL statement size was hugely increased in some recent versions
  • Spatial data
    • Convert spatial data to GeoJSON format
      A new function, SE_AsBSON() can be used to convert spatial data into the Geo/JSON format for applications that handle preferably JSON formatted data  
Now... about the non-documented features... Actually this fixpack introduces two important changes that were not (initially at least) documented:
  • The Informix Warehouse Accelerator (the in-memory database add-on that works together with Informix) can now be installed on Linux running on Power8 processors running in Little Endian mode.After several years since it's introduction when we told customers that this component had been designed for Intel processors IBM changes the game. This doesn't mean that what was told to customers was not true... The product really required a special type of instructions called SMD (Single introduction Multiple Data) that were present on Intel processors. Actually these were also present in Power processors, but the programming needed to be adapted to really take advantage of them since the use of these instructions really depends on the data layout in memory. IBM decided to do it now eventually taking advantage that with the Little Endian mode the data layouts will be equal on both platforms. And on the IIUG conference Sandor Szabo made a presentation comparing the product performance in both technologies with a clear advantage for Power. Naturally with anything related to CPUs, we already know it's a leap frog game. Anyway, now customers have a choice for the platform where they'll run the IWA component and this is specially relevant for IBM since it has sold it's x86 line of servers to Lenovo a few years ago.
  • The second feature is "small" but may be very relevant. We introduced the ability to create foreign key constraints with the NOVALIDATE option a few fixpacks ago. Now this was extended to the check constraints. Besides the typical scenario of export/import the other very useful use case for this is when we need to attach a table as a new partition of an existing and already partitioned table. By default Informix will validate that the data in the table validates the expression used for partitioning. This can consume a significant amount of time during the attach, which is clearly undesirable. The workaround was to create a check constraint matching the expression. Informix is smart enough to understand the data is ok, because we have the check constraint. This would consume time, but it could be done prior to the attach during data preparation. Now the constraint can be created with the NOVALIDATE option and that means much faster operations.


Versão Portuguesa
E saiu outro fixpack do Informix, 12.10.xC7. Está disponível para os clientes há cerca de duas semanas. A documentação está acessível no  Knowledge Center.

Este novo fixpack não ficará conhecido como o maior de sempre. A lista de novidades não é longa e mais importante que isso é altamente dedicada às novas áreas que temos visto nas últimas versões. Áreas como JSON, espaço temporal, timeseries têm sido o principal foco das melhorias. Chamar-lhe-ia essencialmente uma versão de estabilidade e dedicada à IoT. Em todo o caso nem todas as novidades foram documentadas (mais sobre isto adiante). Analisemos então a lista:
  • Desenvolvimento de aplicações
    • Função COALESCE
      Esta é a única melhoria do "SQL normal". A função COALESCE() aceita um número indeterminado de argumentos e retorna o primeiro valor não NULO. Como se fosse uma versão glorificada do NVL(). É importante para compatibilidade com outros fornecedores, especialmente porque devido ao número e tipo indeterminado de argumentos, isto não era algo fácil de implementar como uma função desenvolvida pelos utilizadores
  • Compatibilidade JSON
    • Update arrays BSON em instruções SQL
      Novos operadores MongoDB foram adicionados à liste de possibilidades da função BSON_UPDATE(): $addToSet, $pop, $pullAll, e $push, mais os modificadores de operadores  em update array $each, $position, $slice, e $sort
    • Melhorias de compatibilidade JSON
      Várias melhorias na manipulação de JSON e melhor compatibilidade com MongoDB
      • O comportamento do wire listenert foi modificado. Agora envia os updates para a base de dados como primeira opção. Antes os updates eram feitos pelo listener
      • Possibilidade de usar bind variables em instruções SQL enviadas através do wire listener
      • Mesmo que a funcionalidade de envio de SQL esteja desativada é possível ativar a execução de procedimentos e funções. Isto permite maior controlo e segurança por não deixar enviar SQL genérico
      • O comando de transação pode ser usado para executar várias instruções dentro da mesma transação
      • Compatibilidade com a versão 3.2 do MongoDB shell
      • A funcionalidade GridFS (disponível nos drivers MongoDB) pode agora ser usada com Informix. Esta funcionalidade foi introduzida como uma forma de guardar ficheiros no MongoDB que ultrapassassem os 16MB de limite dos objectos em  MongoDB. (note-se que em Informix o limite é de 2GB)
        A funcionalidade parte o ficheiro em pedações mais pequenos e guarda-os numa collection e a metadata sobre os mesmos noutra collection.
      • Possibilidade de utilização da pipeline da framework de agregação do MongoDB para agregar dados TimeSeries ou retornar os elementos TimeSeries num intervalo de tempo
    • Carregar documentos JSON com o protocolo MQTT
      O protocolo MQTT é um protocolo "leve" definido pelo comité ISO para sensores e outros dispositivos terminais, com o objetivo de enviar dados para repositórios de dados ou gestores de mensagens.
      Agora o wire listener do Informix pode ser configurado como um receptor do protocolo MQTT, de forma a que os dados possam ser-lhe enviados sem qualquer programação
    • Adição e remoção rápida de servidores shard com consistent hashing
      Um novo método de sharding, "chash" ou hashing  consistente permite que um membro seja adicionado ou removido a um objeto (tabela ou collection) sem que se tenha de redistribuir todos os dados (apenas uma parte será redistribuída)
  • Pesquisa Spatiotemporal
    • Melhorias na pesquisa spatiotemporal
      Existem muitas novidades nesta área. São muito específicas e a explicação requer um bom entendimento do que são dados spatiotemporal e como funcionam. Um ponto em destaque é o facto de as medidas de distâncias passarem a ser feitas no modelo "esférico" e não no antigo cartesiano. Isto foi introduzido anteriormente no spatial datablade e é muito importante considerando que o método antigo introduzia erros consideráveis nestes cálculos (em particular para distâncias mais longas e certas regiões do globo terrestre)
  • Timeseries
    • Despoletar indexação spatiotemporal durante o carregamento de dados timeseries
      Uma nova opção permite-nos requerer a indexação spatiotemporal enquanto os dados TimeSeries são carregados e escritos em disco
    • Melhoria na pesquisa  pattern match
      TimeSeries "pattern matching" em documentos BSON para dados numéricos e sub-tipo TimeSeries
    • Limite para dados futuros em rolling window containers
      Podemos definir quantas "partições" "no futuro" podem ser adicionadas. Isto pode evitar que alguma aplicação ou utilizador possa, por erro, apagar partições antigas que sejam ainda válidas
    • Melhoria para dados "hertzianos"
      Remoção de algumas limitações. Dados "hertzianos" (sub-segundo) podem ser inseridos após dados mais recentes (fora da ordem cronológica), embora dentro de um mesmo segundo a ordem tenha de ser respeitada. Este tipo de dados pode agora ser também usar rolling window containers
    • Esquemas de fragmentação mais longos para tabelas virtuais sobre timeseries
      Confesso que tenho alguns problemas em entender esta funcionalidade... Aparentemente a instrução para criação de uma tabela virtual sobre uma estrutura timeseries poderia resultar numa instrução que excedesse o limite de tamanho de uma instrução SQL. Para o evitar foram criadas duas flags que permitem encurtar a instrução, dependendo do esquema de fragmentação existente na tabela base. O que me intriga é que o tamanho de uma instrução SQL foi enormemente aumentado em versões recentes, pelo que me parece impensável à partida que pudesse ser atingido
  • Dados Spatial
    • Conversão de dados spatial para formato GeoJSON
      Uma nova função, SE_AsBSON() pode ser usada para converter dados spatial para o formato GeoJSON em aplicações que prefiram lidar com este formato

Agora... sobre as funcionalidades não documentadas.... Na verdade, este fixpack introduz duas mudanças importantes que não foram (inicialmente pelo menos) documentadas:
  • O Informix Warehouse Accelerator (o componente de base de dados em memória que trabalha em conjunto com o Informix) pode agora ser instalado em Linux a correr em processadores Power8 configurados no modo de Little Endian. Após vários anos desde a introdução do produto em que foi dito aos clientes que o mesmo tinha sido desenhado para processadores Intel a IBM decidiu mudar o "jogo". Isto não quer dizer que o que foi dito aos clientes não fosse verdade... O produto realmente necessita um tipo especial de instruções no CPU, chamadas SMD (Single instruction Multiple Data) que existe nos processadores Intel. Mas na verdade os processadores Power também têm o mesmo tipo de instruções, mas a programação tinha de ser alterada / reoptimizada (este tipo de instruções depende da disposição de dados em memória). E a IBM decidiu fazê-lo agora, porventura tirando partido de as diferenças em modo Little Endian serem menores. Na conferência do IIUG o Sandor Szabo efetuou uma apresentação que compreendia uma comparação do produto em ambas as plataformas com vantagem clara para a arquitetura Power. Naturalmente com tudo o que está relacionado com CPUs, todos sabemos que se trata de "saltos de rã", ou seja, uma futura geração de processadores Intel pode reverter estas observações ou minimizar as diferenças.
    De qualquer forma os clientes agora têm duas opções para executar o IWA, sendo isto relevante para a IBM visto que vendeu a sua linha de servidores Intel à Lenovo há uns anos atrás
  • A segunda funcionalidade parece pequena mas é relevante. Introduzimos a possibilidade de criar constraints do tipo chave estrangeira com a opção de NOVALIDATE há uns fixpacks atrás. Agora a opção foi estendida às check constraints. Para além do cenário óbvio de exportação/importação de dados a outra situação em que isto pode ser muito útil é quando queremos adicionar uma tabela como uma nova partição a uma tabela já existente e já particionada. Por omissão o Informix vai validar que os dados existentes na tabela que será o novo fragmento verificam a expressão de particionamento utilizada. Isto pode consumir muito tempo e é feito durante o attach o que é claramente indesejável. A forma de contornar isto seria criar uma check constraint com a mesma condição de particionamento usada na nova partição. O Informix é suficientemente esperto para perceber que se existe uma constraint não tem de voltar a fazer a validação. Ainda assim demorava-se tempo ainda que durante a fase de preparação dos dados. Agora com a possibilidade de criar as check constraints com a cláusula NOVALIDATE poupa-se esse tempo, tornando este tipo de operação muito mais rápido

Thursday, February 07, 2013

Gartner MQ Data Warehouse DBSMs

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


English version:

While we wait for the upcoming webcast about Informix's new version (The new IBM Informix: It's simply powerful), new interesting things are happening... A few days ago, Fred Ho pointed out that the Gartner 2012 Magic Quadrant for Data Warehouse Database Management Systems was published and that it mentioned Informix.
If you don't follow this kind of analysts publications you may not know the impact they have on large customers and the talks generated around it. It's huge.
To be honest, the reference to Informix does not appear as a positive statement. Basically it says that the only real in-memory technology that IBM has around the datawarehouse area is Informix Warehouse Edition and that IBM should increase the capabilities in this kind of technology to stay competitive.
So, you may wonder why I'm so interested in this report? Well, surely, working for IBM I appreciate the fact that we moved along the "completeness of vision" axis, getting closer to the leader - Teradata - , but this blog is about Informix....
Fred Ho already made some very interesting comments about the recent evolution of the Informix Warehouse Accelerator, but I'd like to highlight a few others...:
  • From a brief search, the last time Informix was mentioned in a Gartner report was in 2001, and it did not look good. Gartner wrote at the time that IBM's strategy for Informix was not reassuring for customers
  • Informix warehouse accelerator is really IBM's offering for in-memory DW. As mentioned in the report, IBM has other products that use in-memory technology like SolidDB and Cognos, but these are not DW repositories. This means for sure that, accordingly to Gartner, Informix is filling an important segment of IBM portfolio for DW DBMS (which as a high rank regarding the "completeness of vision")
  • Gartner seems to imply that the Informix product is not enough to compete with others. This statement puzzles me because of the following comparison points with the competition:
    • Oracle put together a system that they call Exalytics which includes TimesTen (a competitor of IBM's SolidDB), ESSBase (competitor of IBM Cognos) and some more BI suite components in an hardware box, wrapped with the usual Oracle complexity.
      I see no real innovation here, besides the usual mix, load and discount, compared with specialized technology originated in IBM's research Blink project
    • Microsoft included in-memory technology in SQL Server in the form of the so called Column Store indexes (makes the tables read-only and have several other limitations).
      Again, some of the concepts are similar, but IWA is more flexible and simpler to use
    • SAP with HANA is perceived as the big player, but Gartner mentions customer issues with stability and also refers that the majority of the customers have less than 1TB of data (a value perfectly reasonable for IWA)
  • IWA will see big improvements in the upcoming version, both in features and flexibility. It already scales, is simple and you also gain the regular Informix performance, flexibility and reliability
So, let's wait for the next release, and let's also keep an eye on next year's Gartner report... We never know... It may have new references to Informix like other analysts did (Bloor and Ovum)


Versão Portuguesa:


Enquanto aguardamos pelo próximo webcast sobre a nova versão do Informix (The new IBM Informix: It's simply powerful), estão a acontecer novidades interessantes... Há alguns dias atrás, Fred Ho notou que o Gartner 2012 Magic Quadrant for Data Warehouse Database Management Systems foi publicado e que menciona o Informix.
Se não segue este tipo de publicações dos analistas, pode não estar ao corrente do impacto que têm junto dos grandes clientes e as conversas que se geram em torno das mesmas. É imenso.

Para ser honesto, a referência ao Informix não parece uma afirmação positiva. Basicamente é dito que a única oferta da IBM em termos de tecnologia in-memory no portfolio de datawarehouse é o Informix Warehouse Edition, e que a IBM devia aumentar a sua oferta neste tipo de tecnologia para se manter competitiva

Pode estar a interrogar-se porque é que estou tão interessando neste relatório? Bom, trabalhando para a IBM aprecio que nos tenhamos deslocado no eixo de "completeness of vision", aproximando-nos do líder - Teradata - , mas este blog é sobre Informix...

Fred Ho já teceu alguns comentários interessantes sobre a recente evolução do Informix Warehouse Accelerator, mas gostaria de salientar alguns outros:

  • Segundo uma rápida pesquisa, a última vez que o Informix terá sido referido num relatório da Gartner foi em 2001 e não foi para elogiar. Na altura a Gartner escreveu que a estratégia da IBM não estava a sossegar os clientes
  • O Informix warehouse accelerator é realmente a oferta da IBM para DW in-memory. Como é referido no relatório, a IBM  tem outros produtos que usam tecnologia in-memory como o SolidDB ou o Cognos, mas estes não são repositórios de DW. Isto significa naturalmente que, de acordo com a Gartner, o Informix preenche um segmento importante do portfolio da IBM para DW DBMS (que tem uma classificação muito alta relativamente a "completeness of vision")
  • A Gartner parece sugerir que o Informix não será suficiente para fazer face à concorrência. Esta sugestão confunde-me devido aos seguintes pontos comparativos com a concorrência:
    • A Oracle juntou no que chama Exalytics, o TimesTen (concorrente do SolidDB da IBM), ESSBase (concorrente do Cognos da IBM) e mais alguns componentes da suite de BI numa caixa/hardware, embrulhada na habitual complexidade Oracle.
      Não vejo nada realmente inovador, para além do habitual mix, junta e desconta, comparado com tecnologia especializada originada no projecto Blink da IBM research
    • A Microsoft incluiu tecnologia in-memory no SQL Server, sob a forma dos chamados Column Store indexes (colocam as tabelas em modo de leitura apenas, e têm outras limitações). Se alguns dos conceitos são semelhantes, o IWA é mais flexível e simples de usar
    • A SAP com o HANA é aceite como o grande player mas a Gartner refere problemas de clientes relativamente a estabilidade e ainda refere que a maioria dos clientes estão a usar menos de 1TB de dados (um valor muito razoável para o IWA)
  • O IWA verá grandes melhorias na versão que está para sair, tanto em funcionalidade como em flexibilidade. Já é escalável, simples e ainda ganhamos a performance, flexibilidade e resiliência habituais do Informix
Portnato, vamos aguardar pela próxima versão, e vamos também manter um olhar atento ao relatório da Gartner do ano que vem... Nunca se sabe... Pode ter novas referências ao Informix como outros analistas já fizeram (Bloor e Ovum)

Tuesday, September 25, 2012

Stories about IWA / Estórias sobre o IWA

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

English version:

I think by now everybody that follows Informix evolution knows and agrees that IWA (Informix Warehouse Accelerator) is a big step forward and one of the real market innovations. We know that many companies are doing something similar, but as usual, Informix does it better, simpler and easier.
Off course this is me talking and I may be accused of subjectiveness. But it's a pleasure to look at what others are saying.
Recently we've seen two analyst firms mentioning IWA and praise some of it's features. Some of the more positive points were:

  • The possibility to mix OLTP and BI workloads in the same infra-structure
  • The "no knobs" maintenance
  • The appeal to existing Informix customers
  • Tight integration with the native database optimizer
  • Performance
But you should read those papers yourself. They're spread all over the Intenet, but I'll leave two links for download here:

But this is not all... I suppose we all know that IBM takes basic investigation and development very serious. It studies hardware, software, physics etc.
IWA is based on a project that was born at the IBM Almaden labs. These projects are investigation projects that are not controlled by product management teams. If they reach a certain maturity than they may become products. Or parts of them may be incorporated into existing products.
Blink was one of those projects. It had specific targets and basic premises that lead to the development of something new. After that it was integrated with an existing product. And for those that think Informix is "dead" or that it's living in the IBM backstage, think again... This shows integration between Informix team and the more "raw investigation" at IBM.

But who would be best to explain what Blink is than one of it's creators? Let me introduce you Dr. Guy M Lohman. Let him tell you about it in this video:



And stay tuned... IWA is evolving and being constantly updated.



Versão Portuguesa:

Julgo que por esta altura toda a gente que segue a evolução do Informix concorda que o IWA (Informix Warehouse Accelerator) é um grande passo em frente e uma das efetivas inovações do mercado. Sabemos que várias empresas estão a fazer algo semelhante, mas como é hábito o Informix faz melhor, de forma mais simples e fácil.
Claro que isto sou eu a falar, e posso ser acusado de subjectividade. Mas é com prazer que vejo o que outros escrevem. Recentemente vimos duas firmas de analistas mencionar o IWA e elogiar algumas das suas características. Alguns dos pontos mais positivos foram:

  • A possibilidade de misturar perfis de utilização (OLTP e BI/DW) na mesma infraestrutura
  • A administração "automática"
  • Ser apelativo para clientes Informix atuais
  • Integração forte com o optimizador da base de dados
  • Rapidez
Mas deve ler esses documentos você mesmo. Estão espalhados pela Internet, mas deixo aqui links para fazer o download (Inglês).
Mas não é tudo... Suponho que todos sabemos que a IBM leva muito a sério a investigação de base e o seu desenvolvimento. Estuda hardware, software, física etc.

O IWA é baseado num projecto que nasceu nos laboratórios da IBM em Almaden. Estes projetos são projetos de investigação que não são controlados pela gestão de produtos. Se atingirem uma determinada maturidade podem tornar-se produtos. Ou parte deles podem ser incorporados em produtos já existentes.
Blink foi um desses projetos. Tinha objetivos e premissas específicos que levaram ao desenvolvimento de algo novo. Depois disso foi integrado num produto existente. E aqueles que pensam que o Informix "morreu" ou que vive nos bastidores da IBM é melhor reconsiderarem... Isto prova a integração entre a equipa Informix e a "investigação de base" da IBM.

Mas quem melhor para explicar o que é o Blink que um dos seus criadores? Permitam-me que apresente o Dr. Guy M Lohman. Deixe que ele lhe explique tudo neste vídeo:



E mantenha-se alerta... O IWA está a evoluir e a ser constantemente atualizado.

Tuesday, May 08, 2012

Informix Warehouse Accelerator: News / Novidades

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


English Version
This is just a very short note to mention a blog post from Martin Muerderer on his excellent blog dedicated to Informix Warehouse Accelerator. He warns us that recent Linux versions (with libstdc++ 4.6) will cause problems for IWA. At startup (ondwa start) the user will get errors like


An assertion 'str.tellg() > 0' failed. Additional info: Invalid size definition '0' encountered for parameter SEND_QUEUE_SIZE

Some workarounds would work and we would be able to start it, but after that further problems will probably arise. I hit this sometime ago while making some home testing and just recently the issue was discussed in the IIUG mailing list

Currently the only solution is to use a supported OS version. But IBM already is aware of this so it should be solved in future fixpacks. The cause seems to be a change in the tellg() method, but I don't have more details.


Additionaly, on another post, Martin tells us about a new video and a new ebook about Informix Warehouse Accelerator.


Versão Portuguesa
Esta pequena nota serve apenas para dar conta de um artigo no excelente blog do Martin Fuereder sobre o Informix Warehouse Accelerator. O Martin avisa-nos que as versões mais recentes de Linux (com a versão 4.6 da libstdc++) causam problemas no IWA. No arranque (ondwa start) o utilizador verá erros como:

An assertion 'str.tellg() > 0' failed. Additional info: Invalid size definition '0' encountered for parameter SEND_QUEUE_SIZE


Embora haja forma de contornar o problema e permitir o arranque, é expectável que surgissem outros problemas durante a utilização. Eu tive este problema enquanto fazia alguns testes caseiros e isto foi discutido recentemente na lista de mail do IIUG.


De momento a única solução é usar um SO suportado. Mas a IBM já tem conhecimento do problema e deverá ser resolvido em fixpacks futuros. A causa para isto parece ser uma mudança no método tellg() mas não possúo mais detalhes.

Para além disto, o Martin informa-nos noutro artigo que existe um novo vídeo e um novo ebook sobre o Informix Warehouse Accelerator

Saturday, May 05, 2012

In memory DBMS / DBMS em memória

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

English Version:

If you've been paying attention lately to the DBMS market you may have noticed that a lot of new things are hapening around in-memory and column stores databases. A set of papers are available from the IEEE Data Engineering Bulletin here: http://www.informatik.uni-trier.de/~ley/db/journals/debu/debu35.html#BarberBCDHHIKKLLLMMMPQRSSS12
There are articles about several current offers and yes, Informix Warehouse Accelerator is one of them. It's interesting to see that there is academic activity behind several products being release now. And as we would wish and expect Informix is among them. It's also interesting that although there are many differences between the products there are many similar or common roots. I believe this may be much more than a simple marketing wave. I think this new (not so new, really) technology is here to stay.

Versão Portuguesa:

Se tem prestado atenção ao mercado de DBMS terá notado que estão a acontecer muitas coisas em torno das bases de dados em memória e baseadas em colunas. Um conjunto de artigos do IEEE Data Engineering Bulleten está disponível em: http://www.informatik.uni-trier.de/~ley/db/journals/debu/debu35.html#BarberBCDHHIKKLLLMMMPQRSSS12
Existem artigos sobre várias ofertas, e sim, o Informix Warehouse Accelerator é um deles. É interessante ver que existe atividade académica por detrás de vários produtos que estão a ser lançados agora. É também interessante que apesar de haver muitas diferenças entre estes produtos, existem também muitas raízes similares. Acredito que isto pode ser muito mais que apenas uma onda de marketing. Penso que esta nova (não tanto assim) tecnologia veio mesmo para ficar

Thursday, April 19, 2012

OAT survey / Inquérito OAT

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


English version:

I've just noticed that the Informix documentation team has just publish a blog entry announcing a very interesting initiative at the 2012 IIUG conference. Users will be able to preview some product (OAT and IWA) enhancements as well as comment about how they use and how they'd like to use Informix, with a special focus on the documentation. The same article references an Informix Administration Survey.
It focus on OAT and how we administer Informix, and it's a great way to influence the future versions.
The survey takes around 5 minutes to complete... so if you can spare the time don't hesitate!


Versão Portuguesa:

Reparei que a equipa de documentação do Informix publicou uma entrada no seu blog anunciando uma iniciativa muito interessante na conferência do IIUG de 2012. Os utilizadores poderão antever algumas novas funcionalidades de dois produtos - OAT e IWA - , bem como comentar a forma como usam e como gostariam de usar o Informix, como um foco especial na documentação. O mesmo artigo refere um inquérito sobre administração Informix. Este inquérito foca-se no OAT e na forma como administramos o Informix, e é uma excelente forma de influenciar as versões futuras.
O inquérito demora cerca de 5 minutos a preencher... se puder despender esse tempo não hesite!

Saturday, April 07, 2012

Database wars are over? / As guerras das bases de dados terminaram?

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


English Version

"Database wars are over...", "...and relational won", "...and Oracle won". If you search for these terms on your favorite search engine you'll get enough answers to keep you busy for a long time.
At a certain point many believed this was true. And I'm sure many others still do. But if you've been paying attention lately you'll notice this can still be under discussion.
Currently there is a lot of movement in the database arena... Let's see:

  • New versions are popping out: DB2 v10 for LUW, SQL Server 2012 are the most recent examples. Informix is in the early stages for vNext also. Meanwhile we have Informix Warehouse Accelerator that although not a new database per si, it's new technology
  • Datawarehouse appliances and dedicated servers are alive and kicking: Netezza (IBM), GreenPlum (EMC), Parallel Data Warehouse (HP/MS Sql Server), Exadata (Oracle)
  • NoSQL is "the" buzzword. Hadoop and everything about it seems like the next big thing
  • SAP makes bold statements about wanting to be a major database player. More details this Tuesday (April 10)
  • Oracle's CEO, Larry Ellison, says they (SAP) "must be on drugs"

So, we are definitively seeing news on the technology front. And although it's true that these days databases are a commodity, the fact is that no system is implemented without some sort of database. And it's a key part of any system, because it makes the bridge between bits and bytes and the least intelligible information (which of course needs BI tools for enrichment). And also because if it's critical for performance and availability of the information systems.
Given all this I think great times are ahead of us, assuming you like challenges and new technology to play with.
Focusing on Informix, I think we are seeing the introduction of some of this new technology. Informix Warehouse accelerator walked silently in 11.70.FC2, but new functionality is being delivered on each and every fixpack. FC3 saw the introduction of automatic data mart definition and several new locales. FC4 included the possibility of cluster installation, which brings enormous scalability and also data loading concurrently to queries and some other minor improvements. According to this post from Fred Ho FC5 will bring two other great features: possibility to load the marts from MACH-11 secondary clusters and the possibility to load only partitions that have changed (as opposed to the whole tables)
This clearly shows we have a roadmap, and yes... there's a lot of work to do. Specially as it's being adopted by customers who will easily find more uses than what they anticipated for.


Versão Portuguesa


"Database wars are over...", "...and relational won", "...and Oracle won". Se procurar estes termos (que por opção não traduzi) no seu motor de busca favorito vai obter respostas suficientes para o manterem ocupado durante bastante tempo.
Em dada altura muitos acreditaram que isto era verdade. E tenho a certeza que muitos ainda acreditam. Mas se tem prestado atenção ultimamente já terá notado que isto ainda está sob discussão.

Atualmente existem muitas movimentações no mercado de bases de dados. Vejamos:


  • Há novas versões a aparecer: DB2 v10 para LUW e SQL Server 2012 são os exemplos mais recentes. O Informix está a preparar a próxima versão também. Entretanto temo o Informix Warehouse Accelerator que não sendo em si uma nova base de dados incluí tecnologia nova
  • As appliances de Datawarehouse e servidores dedicados também estão a criar muita agitação: Netezza (IBM), GreenPlum (EMC), Parallel Data Warehouse (HP/MS Sql Server), Exadata (Oracle)
  • NoSQL é "o" novo chavão. Hadoop e tudo à sua volta parece ser o próximo grande boom
  • A SAP faz afirmações ousadas sobre desejar tornar-se num dos maiores vendedores de bases de dados. Mais detalhes serão divulgados esta terça-feira (10 de Abril)
  • O CEO da Oracle, Larry Ellison, afirma que eles (SAP) "must be on drugs" (devem estar sob o efeito de drogas)

Portanto estamos mesmo a assistir a novidades na vertente tecnológica. E apesar de ser aceite que hoje em dia a base de dados é uma comodidade, a verdade é que nenhum sistema é implementado sem algum tipo de base de dados. E estas são uma peça chave em qualquer sistema porque fazem a ponte entre os bits e bytes e o mínimo a que podemos chamar informação (que naturalmente necessita de ferramentas de BI para enriquecimento da mesma). E as BDs são também peças chave na performance e disponibilidade dos sistemas.
Tento tudo isto em conta, julgo que temos tempos interessantes pela frente, assumindo que gosta de desafios e nova tecnologia para "brincar".

Pondo o foco no Informix, penso que estamos a assistir à introdução de alguma desta nova tecnologia. O Informix Warehouse Accelerator entrou silenciosamente na versão 11.70.FC2, mas novas funcionalidades estão a ser incluídas em todos os fixpacks. A FC3 viu a introdução da definição automática de data marts e vários novos locales. A FC4 incluí a possibilidade de utilização em cluster, que oferece enorme escalabilidade, e também carregamento de dados em simultâneo com a execução de queries e mais alguns melhoramentos. Segundo este artigo do Fred Ho a FC5 vai trazer duas novas funcionalidades: A possibilidade de carregar os data marts a partir de nós secundários de um cluster MACH-11 e a possibilidade de carregar apenas partições que tenham sido alteradas (em vez de carregar a totalidade das tabelas).
Isto mostra claramente que existe um roadmap e sim... existe muito trabalho para fazer. Especialmente à medida que o produto vai sendo adotado pelos clientes que irão facilmente encontrar mais usos do que tinham antecipado.

Wednesday, April 04, 2012

2012 Informix Roadshow Lisboa: Closing notes / Notas de fecho

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



English Version

The 2012 Informix Roadshow in Lisbon ended yesterday. The highlights of the second workshop day were Informix Warehouse Accelerator, compression and Genero.

Attendees were impressed by the ease of use of IWA and has planned in literally a couple of hours they managed to install the server component, the client management tool, define a data mart, load it, test the queries and even look into the workload analyzer that allows automatic mart definition. And all these achievable in a laptop with 4GB of memory (mart used roughly 1GB of in-memory data). The underlying Informix instance was provided fully configured and loaded.

The session about compression was also very well received and Scott gave us some important tips for it's use (not only the chargeable components - compression itself -, but also the free stuff - repack/shrink/defrag -)

Before finishing we also had a session on Genero, particularly interesting for the 4GL users present.
So, this was a great event, and a big special thank you to Scott for coming here and provide us (IBMers, clients and partners) all this info and his own experiences.

Versão Portuguesa

O Roadshow Informix 2012 em Lisboa terminou ontem. Os pontos altos do segundo dia de workshop foram o Informix Warehouse Accelerator, compressão e Genero.

Os presentes ficaram impressionados com a facilidade de utilização do IWA, e como planeado em literalmente um par de horas conseguiram instalar o componente servidor, a ferramenta de gestão, definir um data mart, carregá-lo, testar as queries e mesmo espreitar o analisador de carga que permite a definição automática de data marts. E tudo isto é possível num portátil com 4GB de memória (o data mart ocupava cerca de 1GB de dados em memória). A instância base de Informix foi fornecida completamente configurada.

A sessão sobre compressão foi também muito bem recebida e o Scott deixou-nos algumas dicas para o seu uso (não apenas o componente pago - a compressão propriamente dita - mas também as funcionalidades grátis - repack/shrink/defrag - )

Antes do encerramento ainda tivemos a sessão sobre Genero, particularmente interessante para os utilizadores 4GL presentes.
Portanto, foi um excelente evento, e um grande obrigado ao Scott por ter vindo cá e nos ter deixado a todos (IBMers, clientes e parceiros) toda esta informação e as suas próprias experiências.

Monday, April 02, 2012

2012 Informix Roadshow: Having fun / Boa forma de passar dois dias

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

English Version

As announced earlier, the Lisbon 2012 Informix roadshow is happening. Today we assisted several presentations on 11.7 new features, security enhancements, storage provisioning and flexible grid.
Just after lunch students had the chance to experiment with the storage provisioning lab.

Tomorrow there will be final flexible grid details, a quick overview about Mashups and then we'll entered the main topic of the day; Informix Warehouse Accelerator. There will be an overview presentation and a lab which I just finished testing. It's impressive how in about one hour and an half I could go through the lab: Install the software, install the optimizer studio, define a data mart, load it, test it, and try the automatic workload analysis tool to create the data marts that can take advantage of the acceleration. Remarkably simple, but I suppose we should not expect any different from Informix.

Thanks a lot to Scott Pickett for the nice presentations!

Versão Portuguesa

Como anunciado anteriormente, o Informix Roadshow 2012 está a decorrer em Lisboa. Hoje assistimos a várias apresentações sobre as novas funcionalidades da 11.7, melhorias de segurança, storage provisioning e flexible grid.
Logo a seguir ao almoço os formandos tiveram oportunidade de experimentar o laboratório sobre storage provisioning.

Amanhã serão apresentados os últimos detalhes sobre flexible grid, uma rápida apresentação sobre Mashups e depois entraremos no tópico principal do dia: Informix Warehouse Accelerator. Haverá uma apresentação teórica e um laboratório que acabei de testar. É impressionante como em cerca de hora e meia é possível concluir o exercício: Instalar o software, instalar o optimizer studio, definir um data mart, carregá-lo, testá-lo e experimentar o analisador automático que permite derivar data marts que possam tirar proveito da aceleração.
Notavelmente simples, mas suponho que não seria de esperar outra coisa do Informix

Um muito obrigado ao Scott Pickett pelas óptimas apresentações!

Thursday, March 08, 2012

Too little, too late? / Muito pouco, muito tarde?

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


English Version:

I recently got an advice on how to make better use of Twitter... And so I did... I increased the number of people or accounts I'm following and today I was flooded by messages about the launch of one of the database competitors. If you've been paying attention to the net you probably know which one I'm talking about... I've seen some references before and I decided to investigate a little further what were the new features causing all this buzz around it... I must grant credit to the company behind it, since it was not difficult to get information and find several articles and papers and people talking about it.

I think that in the IT field we tend to close ourselves around what we know better. I've seen it in Oracle DBAs, in people working with Informix (you should know it's much harder to find an Informix DBA than a DBA from any other database since we tend to have several hats and play several roles) and with people working in different environments (z/OS is a classical example). And apparently it also happens with people working with SQL Server. I'd say that only this can explain all this enthusiasm... Let me explain why, by picking two of the flagship features of it's new version (I'll be using the terms I've found on the Internet in blogs, articles and so on):
  • AlwaysOn
    Believe it or not this is a form of replication that allows databases to be put together in groups that use a primary server and one or more secondary servers. The replication can be synchronous, or asynchronous. The secondary servers can accept read only queries. It includes some sort of connection redirection and something I could not exactly understand that allows temporary statistics to be computed on the secondaries and stored in temporary spaces...
  • ColumnStore indexes
    This is interesting.... It combines several technologies like in-memory database, columnar storage and star model optimization. This allows incredible time savings, but has some drawbacks, like not being able to update a table with an index of this type (several workaround are mentioned, but all of them have serious implications). It's up to the optimizer to decide if it will use this kind of index or the traditional query plans.
I'm sure that if you're an Informix user, or someone paying attention to the Informix scene, you have a smile on your face by now... And I would not need to explain why. But for the people who are a bit more distracted, or as I mentioned above live on a closed world, let me explain why Informix people have a smile on their faces at this point in the article:

In 2007 (yes, five years ago), IBM introduced version 11.1, code named Chetah, and one of the features was something called MACH-11. This did not cause half the buzz that we're seeing today, but in very short words, it was the ability to configure a set of Informix instances (where we can have several databases) with a primary server, a "close" secondary server, called HDR (which can by synchronous), and several remote secondary servers (RSS) which receive the logs. The communication between these can be encrypted (there are known customer cases using the Internet to ship their logical logs to the other side of the world). Note that the single node HDR existed since version 7 (can't remember the year, because it was before I joined Informix). The HDR was always readable. The RSS are naturally also readable. In 2009 (if memory serves me well, yes, 3 years ago) IBM introduced version 11.5, called Panther where MACH-11 was extended: We can now configure the secondary servers to accept write instructions which are transparently sent to the primary server. A new piece of software was introduced, called the Connection Manager, that can redirect clients based on pre-defined criteria (or SLAs) which are mapped to the several kinds of servers (or to specific server names). Finally, the statistics gathered on the primary are automatically available on the secondary servers, so there is no need to re-calculate them on the secondary servers. All this works in shared nothing architecture which allows for big geographic dispersion and naturally allows for disaster recover... Oh... and it's terribly simple to setup and use, and it's included even in the free product versions (with some restrictions). And I could continue, writing that in 2010 IBM launched version 11.7 which included the concept of flexible grid, ideal for truly distributed systems that need to dhare data.

Last year, (Q1) IBM announced the addition of new technology to the Informix product line, which targeted BI environments with a star schema design that needed very fast response times for analytical queries. This has the name of Informix Warehouse Accelerator, and combines several technologies: in-memory database, columnar storage and full cluster capabilities (for horizontal scaling). It duplicates the data into the accelerator memory and the Informix optimizer redirects the queries that can be accelerated and that would benefit from that acceleration. You can keep using the base tables as usual, you don't have to change the application layer, and you can control through SQL if you want to use the most recent data (stored in the traditional row storage) (slower) or the possibly older data stored in the accelerator (faster). Note that this creates full star (fact tables and dimensions) data duplication for full power acceleration.

So, although as expectable there are a few technical differences that can make us prefer one or the other, the biggest difference between some of these features seems to be the year they were launched... And yes, the buzz generated around them... and that with Informix you have more platform choices. At times like this I tend to agree with people that complain about IBM (they used to complain about Informix) marketing... Maybe, just maybe, IBM should concentrate on marketing instead of product development... That seems to be what others do with apparently good results... But again, if you're an Informix user, I'm sure you prefer the opposite.



Versão Portuguesa:


Recentemente fui aconselhado sobre como tirar mais partido to Twitter... E assim fiz... Aumentei o número de pessoas ou contas que sigo, e hoje fui inundado de mensagens sobre o lançamento de um dos fornecedores de base de dados concorrentes. Se tem prestado atenção à Internet deve saber a qual me estou a referir... Já tinha visto algumas referências antes e decidi investigar um pouco mais quais eram as novas funcionalidades que causavam toda esta movimentação... Tenho de reconhecer e dar crédito à empresa por detrás do produto, pois não foi difícil obter informação e encontrar vários artigos, papers e pessoas a escrever sobre o assunto.


Tenho para mim que as pessoas na área das TIs tendem a fechar-se sobre aquilo que conhecem melhor. Tenho visto isto em DBAs Oracle, em pessoas que trabalham com Informix (deverá saber que é muito mais difícil encontrar um DBA Informix que um DBA de qualquer outra base de dados, dado que tendemos a usar vários chapéus e desempenhar várias funções) e também em pessoas que trabalham em diferentes ambientes (o mundo dos mainframes é um exemplo clássico). E aparentemente isto também acontece com pessoas que trabalham com SQL Server. Diria que essa é a única explicação para tamanho entusiasmo... Deixem-me explicar porquê, pegando em duas das funcionalidades mais badaladas por esses blogs e twits que se referem a este lançamento (vou usar os termos originais em Inglês, que encontrei na Internet):

  • AlwaysOn
    Acredite-se ou não, parece ser uma forma de replicação que permite colocar várias bases de dados em grupos que usam um servidor principal e um ou mais servidores secundários. A replicação pode ser síncrona ou assíncrona. Os servidores secundários podem aceitar queries só de leitura. Incluí algum tipo de redirecionamento de conexões e algo que não consegui compreender totalmente mas que permite que sejam calculadas estatísticas nos nós secundários que são guardadas em espaços temporários.
  • ColumnStore indexes
    Isto é interessante... Combina várias tecnologias, como base de dados em memória, armazenamento em colunas e optimização de modelos em estrela. Isto permite enormes poupanças de tempo, mas traz algumas desvantagens, como não permitir alterações (INSERTs, UPDATEs, DELETEs) em tabelas com este tipo de índices (são apresentadas várias formas de contornar a limitação, mas todas com sérias implicações). Cabe ao optimizador decidir se deve usar este tipo de índice ou usar os planos de execução tradicionais.
Tenho a certeza que se é um utilizador de Informix, ou se tem estado atento ao mundo Informix, deverá ter um sorriso na cara por esta altura... E não necessitaria de explicar porquê, podendo encerrar já aqui este artigo. Mas para as pessoas mais distraídas, ou como disse acima, para quem viva num mundo mais fechado, vou explicar porque é que os utilizadores de Informix estarão a sorrir neste momento.

  Em 2007 (sim, há cinco anos atrás), a IBM lançou a versão 11.1, com o nome de código Cheetah, e uma das suas funcionalidades foi o MACH-11. Isto não causou metade do alarido de hoje, mas em breves palavras, é a capacidade de configurar um conjunto de instâncias Informix (onde podemos ter várias bases de dados) com um servidor primário, um servidor secundário "próximo", chamado HDR (que pode ser síncrono) e vários servidores secundários remotos (RSS) que recebem os logs. A comunicação entre os servidores pode ser encriptada (há casos conhecidos de clientes que usam a Internet para enviar os logical logs para o outro lado do mundo). Note-se que o nó secundário único (HDR) existia desde a versão 7 (não sei o ano, pois foi antes de entrar na Informix). O HDR sempre disponibilizou acesso para leitura. Os RSS incluíram desde o início a capacidade de aceitar queries para leitura. Em 2009 (se a memória não me falha, sim, há três anos atrás) a IBM introduziu a versão 11.50, chamada Panther onde o MACH-11 foi melhorado. Podemos agora configurar os servidores secundários para aceitar instruções de escrita que são enviadas de forma transparente para o primário. Uma nova peça de software foi introduzida com o nome de Connection Manager, que permite redirecionar os clientes baseado em critérios pré-definidos (ou SLAs) que são mapeados nos vários tipos de servidores (ou em identificadores específicos de cada servidor). Finalmente as estatísticas calculadas no servidor primário estão automaticamente disponíveis nos servidores secundários, por isso não há necessidade de as re-calcular nos secundários. Tudo isto funcionam numa arquitetura shared nothing o que permite uma vasta dispersão geográfica e automaticamente disponibiliza disaster recovery. Ah... E é terrivelmente fácil de criar e usar, e vem incluído até nas versões gratuitas do produto (com algumas restrições). E poderia continuar, dizendo que em 2010 a IBM lançou a versão 11.7 que introduziu o conceito de flexibale grid, algo verdadeiramente pensado para ambientes distribuídos mas com necessidade de partilhar dados.



O ano passado (Q1) a IBM anunciou a adição de nova tecnologia á linha de produtos Informix, cujo alvo foi ambientes de BI com modelos em estrela que precisem de tempos de resposta muito rápidos em queries analíticas. Tem o nome de Informix Warehouse Accelerator e combina várias tecnologias: base de dados em memória, armazenamento de colunas, capacidade de trabalhar em cluster (para crescimento horizontal). Duplica os dados para a memória do acelerador e o optimizador do Informix redirecciona as queries que podem ser aceleradas (se daí vier proveito). Podemos continuar a fazer o uso normal das tabelas de base e não é necessário mexer na camada aplicacional, e podemos controlar através de SQL se queremos ver os dados mais recentes (guardados no formato de linha tradicional) (mais lento) ou a versão possivelmente mais antiga guardada no acelerador (muito mais rápido). Note-se que isto duplica completamente o modelo em estrela (tabela de factos e as dimensões) para atingir uma maior performance (toda a query é resolvida no acelerador).


Portanto, embora como seja expectável, existam algumas diferenças técnicas que nos façam gostar mais de uma abordagem ou da outra, a maior diferença entre algumas destas funcionalidades parece residir mais no ano em que apareceram... E sim, no ruído à volta... e no facto de em Informix podermos escolher a plataforma. Em alturas como esta sinto-me tentado a concordar com quem se queixa do marketing da IBM (já se queixavam da Informix). Talvez, quem sabe, a IBM se devesse concentrar mais no marketing do que no desenvolvimento dos produtos... Parece ser o que outros fazem e com aparentes bons resultado... Por outro lado, se é um utilizador Informix tenho a certeza que prefere o contrário.