Lançamento do InterSystems IRIS 2020.1

Lançamento do InterSystems IRIS 2020.1

No final de março saiu nova versão da plataforma de dados InterSystems IRIS 2020.1. Mesmo a pandemia do coronavírus não impediu o lançamento.

Entre as coisas importantes da nova versão estão o aumento do desempenho do kernel, geração de uma aplicação REST de acordo com a especificação OpenAPI 2.0, sharding para objetos, um novo tipo de Portal de Gerenciamento, suporte MQTT, um cache de consulta universal, um novo framework para criação de produtos elementos em Java ou .NET. A lista completa de alterações e a lista de verificação de atualização em inglês podem ser encontradas em link. Mais detalhes - sob o corte.

InterSystems IRIS 2020.1 é uma versão de suporte estendido. A InterSystems produz dois tipos de lançamentos InterSystems IRIS:

  • Lançamentos de entrega contínua. Eles são lançados três a quatro vezes por ano na forma de imagens Docker. Projetado para desenvolvimento e implantação de aplicativos na nuvem ou em contêineres Docker.
  • Lançamentos com suporte estendido. Eles são lançados com menos frequência, mas são lançados lançamentos com correções para eles. Disponível em todas as plataformas suportadas pela InterSystems IRIS.

Entre as versões de suporte estendido 2019.1 e 2020.1, as versões foram lançadas apenas em imagens Docker – 2019.2, 2019.3, 2019.4. Todos os novos recursos e correções dessas versões estão incluídos na versão 2020.1. Alguns dos recursos listados abaixo apareceram pela primeira vez em uma versão 2019.2, 2019.3, 2019.4.

Assim.

Desenvolvimento de aplicações REST de acordo com a especificação

Além de Gerenciador de APIs InterSystems, suportado desde a versão 2019.1.1, na versão 2020.1 tornou-se possível gerar o código principal de um serviço REST conforme especificação no formato OpenAPI 2.0. Para mais detalhes, consulte a seção de documentação "Criando serviços REST".

Convertendo uma instalação Caché ou Ensemble

Esta versão permite que você converta sua instalação do Caché ou Ensemble para InterSystems IRIS durante a instalação. A conversão em si pode exigir alterações no código do programa, nas configurações ou em outros scripts, mas na maioria dos casos será simples.

Antes de converter, leia o InterSystems IRIS In-Place Conversion Guide e o InterSystems IRIS Adoption Guide. Esses documentos estão localizados no site do InterSystems Worldwide Support Center na seção "documentos".

Idiomas do cliente

API nativa InterSystems IRIS para Python

Acesso rápido e de baixo nível do Python a arrays multidimensionais nos quais o InterSystems IRIS armazena dados. Mais detalhes - "API nativa para Python".

API nativa InterSystems IRIS para Node.js

Acesso rápido de baixo nível do Node.js a arrays multidimensionais nos quais o InterSystems IRIS armazena dados. Mais detalhes - "API nativa para Node.js".

Acesso relacional para Node.js

Suporte para acesso ODBC ao InterSystems IRIS para desenvolvedores Node.js

Comunicação bidirecional em gateways Java e .NET

As conexões de gateway .NET e Java agora são bidirecionais. Ou seja, um programa .NET ou Java chamado do IRIS por meio do gateway usa a mesma conexão para acessar o IRIS. Mais detalhes - "Reentrada do Gateway Java".

Melhorias na API nativa para Java e .NET

A API IRIS Native para Java e .NET oferece suporte a $LISTs e passagem de parâmetros por referência.

Novo visual do Portal de Gestão

Esta versão inclui as primeiras alterações no Portal de Gerenciamento. Por enquanto, dizem respeito apenas à aparência e não afetam a funcionalidade.

SQL

  • Cache de consulta universal. A partir da versão 2020.1, todas as consultas, incluindo consultas integradas e consultas de classe, serão armazenadas como consultas em cache. Anteriormente, o uso de consultas integradas exigia a recompilação do programa para gerar um novo código de consulta, por exemplo, se um novo índice aparecesse ou as estatísticas da tabela fossem alteradas. Agora todos os planos de consulta são armazenados no mesmo cache e limpos independentemente do programa em que a consulta é usada.

  • Mais tipos de consulta agora são paralelizáveis, incluindo consultas DML.

  • Consultas em uma tabela fragmentada agora podem usar junção implícita "->".

  • As solicitações lançadas a partir do Portal de Gestão passam a ser executadas em processo em background. Solicitações longas não falharão mais devido ao tempo limite da página da web. As solicitações de ledging agora podem ser canceladas.

Capacidades de integração

Nova estrutura para criação de elementos de produto em Java ou .NET

Esta versão inclui uma nova estrutura PEX (Production EXtension), que fornece uma opção adicional de linguagem para implementação de componentes do produto. Com esta versão, o PEX oferece suporte a Java e .NET para o desenvolvimento de serviços de negócios, processos de negócios e operações de negócios, bem como adaptadores de entrada e saída. Anteriormente, só era possível criar serviços empresariais e transações comerciais e era necessário chamar o gerador de código no Portal de Gestão. A estrutura PEX fornece um meio mais flexível de incorporar código Java e .NET nos componentes do produto, muitas vezes sem programação ObjectScript. O pacote PEX inclui as seguintes classes:

Mais detalhes - "PEX: Desenvolvendo Produções com Java e .NET".

Monitoramento do uso da porta nos produtos.

O utilitário Port Authority monitora as portas usadas por serviços comerciais e operações comerciais. Com sua ajuda, você pode determinar as portas disponíveis e reservá-las. Mais detalhes - "Gerenciando o uso da porta".

Adaptadores para MQTT

Esta versão inclui adaptadores que suportam o protocolo MQTT (Message Queuing Telemetry Transport), que é frequentemente usado em aplicativos de Internet das Coisas (IoT). Mais detalhes - "Usando adaptadores MQTT em produções".

Fragmentação

Arquitetura simplificada

Esta versão introduziu uma maneira mais simples e compreensível de criar um cluster - baseado em servidores individuais (nível de nó), e não em áreas, como nas versões anteriores. Nova API - %SYSTEM.Cluster. A nova abordagem é compatível com a antiga – um cluster baseado em áreas (nível de namespace) – e não requer alterações nas instalações existentes. Mais detalhes - "Elementos de fragmentação"E"Fragmentação de APIs".

Outras melhorias de fragmentação:

  • Agora você pode coshard (distribuir partes frequentemente conectadas de duas tabelas nos mesmos fragmentos) quaisquer duas tabelas. Anteriormente, isso só podia ser feito com tabelas que tivessem uma chave de fragmento comum. A partir desta versão, a sintaxe COSHARD WITH também é usada para tabelas com um ID de sistema. Mais detalhes - "Crie as tabelas"E"Definindo uma tabela fragmentada".
  • Anteriormente, era possível marcar uma tabela como tabela de cluster apenas por meio de DDL, mas agora isso também pode ser feito na descrição da classe - a nova palavra-chave Sharded. Mais detalhes - "Definindo uma tabela fragmentada criando uma classe persistente".
  • O modelo de objeto agora oferece suporte à fragmentação. Os métodos %New(), %OpenId e %Save() funcionam com objetos de uma classe cujos dados estão distribuídos em vários shards. Observe que o código é executado no servidor ao qual o cliente está conectado, não no servidor onde o objeto está armazenado.
  • O algoritmo para executar consultas de cluster foi aprimorado. O Unified Shard Queue Manager enfileira solicitações para execução em um pool de processos, em vez de iniciar novos processos para cada solicitação. O número de processos no pool é determinado automaticamente com base nos recursos e na carga do servidor.

Infraestrutura e implantação na nuvem.

Esta versão inclui melhorias na infraestrutura e nas implantações em nuvem, incluindo:

  • Suporte à nuvem Tencent. O InterSystems Cloud Manager (ICM) agora oferece suporte à criação de infraestrutura e implantação de aplicativos baseados no InterSystems IRIS na Tencent Cloud.
  • Suporte para volumes nomeados no Docker, além de montagens vinculadas.
  • O ICM suporta escalonamento flexível – as configurações agora podem ser escalonadas, ou seja, recriadas com mais ou menos nós. Mais detalhes - "Reprovisionando a infraestrutura"E"Reimplantando serviços".
  • Melhorias na criação de seu próprio contêiner.
  • O ICM oferece suporte à nova arquitetura de fragmentação.
  • O usuário padrão em contêineres não é mais root.
  • O ICM suporta a criação e implantação de redes privadas, nas quais um nó bastião conecta a rede privada à rede pública e fornece proteção adicional contra ataques de negação de serviço.
  • Suporte para descoberta de serviços por meio de RPC seguro.
  • O ICM oferece suporte à implantação multirregional. Isso garante alta disponibilidade do sistema mesmo se toda a região estiver inoperante.
  • Capacidade de atualizar o ICM e salvar informações sobre sistemas já implantados.
  • Modo sem contêiner - o ICM agora pode diretamente, sem contêineres, implantar configurações de cluster no Google Cloud Platform, bem como instalar o Web Gateway no Ubuntu ou SUSE.
  • Suporte para mesclar iris.cpf de dois arquivos. Isso ajuda o ICM a iniciar o InterSystems IRIS com configurações diferentes, dependendo do modo em que a instalação está sendo executada. Esse recurso facilita a automatização e o suporte a várias ferramentas de gerenciamento de configuração, como o Kubernetes.

Analítica

Reconstrua seletivamente o cubo

A partir desta versão, o InterSystems IRIS Business Intelligence (anteriormente conhecido como DeepSee) oferece suporte à construção seletiva de cubos – apenas uma medida ou dimensão. Você pode alterar a descrição do cubo e reconstruir apenas o que foi alterado, mantendo todo o cubo disponível durante a reconstrução.

Conector PowerBI

O Microsoft PowerBI agora oferece suporte ao trabalho com tabelas e cubos InterSystems IRIS. O conector é fornecido com o PowerBI a partir da versão de abril de 2019. Mais detalhes - "Conector InterSystems IRIS para Power BI".

Visualizar resultados da consulta

Esta versão introduz um novo modo de visualização ao criar tabelas dinâmicas no Analyzer. Dessa forma, você pode avaliar rapidamente a exatidão de uma consulta sem esperar pelos resultados completos.

Outras melhorias

  • Atravessar um global usando a função $ORDER na ordem inversa (direção = -1) agora é tão rápido quanto na ordem direta.
  • Melhor desempenho de registro.
  • Adicionado suporte para Apache Spark 2.3, 2.4.
  • Adicionado suporte para cliente WebSocket. Classe %Net.WebSocket.Client.
  • A classe de controle de versão agora lida com eventos de alterações na página do produto.
  • Listas de permissões para filtrar solicitações válidas para CSP, ZEN e REST.
  • Suporte ao .NET Core 2.1.
  • Desempenho ODBC aprimorado.
  • Log estruturado para facilitar a análise de messages.log.
  • API para verificação de erros e avisos. Classe %SYSTEM.Monitor.GetAlerts().
  • O compilador de classe agora verifica se o nome global na declaração de armazenamento não excede o comprimento máximo (31 caracteres) e retorna um erro se isso não acontecer. Anteriormente, o nome global era truncado para 31 caracteres sem aviso prévio.

Onde obter

Se você tiver suporte, baixe a distribuição na seção Distribuições on-line site wrc.intersystems.com

Se você quiser apenas experimentar o InterSystems IRIS - https://www.intersystems.com/ru/try-intersystems-iris-for-free/

Ainda mais fácil via Docker:

docker run --name iris20 --init --detach --publish 51773:51773 --publish 52773:52773 store/intersystems/iris-community:2020.1.0.215.0

Webinar

No dia 7 de abril, às 17h, horário de Moscou, acontecerá um webinar dedicado ao novo lançamento. Será apresentado por Jeff Fried (Diretor de Gerenciamento de Produto) e Joe Lichtenberg (Diretor de Marketing de Produto e Indústria). Registro! O webinar será em inglês.

Fonte: habr.com

Adicionar um comentário