Uma alternativa ao SAS Viya para trabalho alojado

Quem procura uma alternativa ao Viya normalmente não procura algo para instalar num portátil. Tem trabalho em linguagem SAS a correr algures de forma centralizada — um navegador onde alguém inicia sessão, ou um pipeline que chama uma plataforma e espera resultados. O Jenner cobre as duas coisas: um espaço de trabalho JupyterLab alojado e um ponto de acesso HTTP que executa um programa e devolve a sua saída.

A resposta curta

O Jenner é uma implementação em sala limpa da linguagem SAS 9.4, escrita em Rust, e é alojado. A sua equipa inicia sessão num espaço de trabalho JupyterLab no navegador, abre um programa que já tem e executa-o — nada instalado em máquina nenhuma e nenhuma licença SAS em camada alguma. O mesmo motor responde por HTTP, pelo que uma tarefa agendada ou um agente de IA pode enviar um programa e ler de volta o log, a listagem e os conjuntos de dados produzidos.

Quem inicia sessão e o que corre

Um espaço de trabalho é partilhado: analista, revisor e estatístico trabalham sobre os mesmos ficheiros em vez de trocarem conjuntos de dados por correio. Os programas mantêm-se em sintaxe SAS — passos DATA, PROC SQL, a linguagem macro — e o espaço de trabalho lê SAS7BDAT e XPT diretamente, além de CSV e Parquet. Onde um portátil for mesmo o sítio certo para parte do trabalho, o mesmo motor existe como aplicação nativa para Mac: alojado e local não se excluem.

O que o lado alojado lhe dá

Três formas de chegar ao mesmo motor. Qual escolher é uma questão de implantação, não de reescrita.

Um espaço de trabalho JupyterLab no navegador

Iniciar sessão coloca-o dentro do JupyterLab, com os ficheiros da sua organização e um kernel Jenner já ligado. Nada é instalado em máquina nenhuma, e normalmente é esse o ponto: um colega novo obtém um ambiente funcional a partir de um separador do navegador, e um portátil corporativo bloqueado serve de cliente tão bem como uma estação de trabalho.

Programas executados por HTTP

O motor também responde a pedidos HTTP. Envie um programa e as suas entradas e receba a listagem, o log, um código de saída e cada conjunto de dados produzido, em JSON estruturado. É isso que o torna utilizável a partir de um orquestrador, de uma tarefa de integração contínua ou de um agente de IA — nenhum deles pode ficar à frente de uma sessão interativa à espera que alguém clique.

100 procedimentos documentados

O catálogo está publicado procedimento a procedimento, cada um com uma página de referência que nomeia as instruções e opções que aceita. Numa plataforma alojada isso conta mais do que um número de manchete: antes de mover uma carga, a pergunta é se aquele PROC concreto, com aquelas opções concretas, existe — e resolve-se a ler, antes de alguém assinar seja o que for.

Os ficheiros que já tem

O Jenner lê SAS7BDAT diretamente, além de XPT, CSV e Parquet, e volta a escrevê-los. Um conjunto de dados chega ao espaço de trabalho sem um passo de conversão prévio, e a saída pode sair no formato que o passo seguinte espera receber.

Onde outra coisa encaixa melhor

Quatro situações em que não somos a resposta certa. Saber em qual está vale mais do que uma tabela de funcionalidades.

Altair SLC

O Altair SLC, antes WPS, também executa programas em linguagem SAS sem licença SAS, e há muito mais tempo do que nós. Onde um historial longo lhe importe mais do que um espaço de trabalho alojado — outra pessoa já apanhou o seu caso limite e conseguiu que fosse corrigido — esse é um argumento real a favor deles, e convém orçamentar ambos sobre os seus próprios programas.

Reescrever em Python ou R

Se a base de código for pequena, ou se ia reconstruí-la de qualquer maneira, reescreva-a em Python ou R. Passar vinte programas para pandas ou para o tidyverse são duas semanas de trabalho e encerra a questão em definitivo, sobre uma stack para a qual é mais fácil contratar. Correr o código em linguagem SAS tal como está ganha quando há muito dele, quando foi validado, e quando reescrever significaria revalidar cada número em vez de apenas voltar a escrevê-lo.

Ficar onde está

A SAS descreve o Viya como uma plataforma com ferramentas visuais e de gestão de modelos assentes sobre a linguagem. Se quem o usa trabalha nessas interfaces e não em código, um motor de linguagem SAS substitui a metade errada daquilo em que tocam, e mudá-los custa mais do que rende. As equipas cuja utilização são programas — passos DATA, PROC, macros — são aquelas para quem esta página foi escrita.

O que não cobrimos

O Jenner implementa 100 procedimentos documentados e uma grande parte da linguagem SAS, e nenhuma dessas coisas é a totalidade. Onde o seu trabalho depender de algo que não construímos, não corre, e descobre-o na primeira tarde em vez de depois de um projeto. O Jenner é também mais jovem do que as alternativas aqui referidas, com menos anos de casos limite alheios atrás de si. A referência de procedimentos está publicada por inteiro, por isso a cobertura verifica-se antes de qualquer compromisso.

Perguntas frequentes

O Jenner, se o que faz realmente com o Viya é executar programas em linguagem SAS. É uma implementação em sala limpa da linguagem SAS 9.4 escrita em Rust, alojada como um espaço de trabalho JupyterLab onde a sua equipa inicia sessão, e alcançável por HTTP para tudo o que é automatizado. Não é precisa licença SAS em camada alguma. Se a sua utilização é sobretudo apontar e clicar em vez de código, a secção acima sobre ficar onde está é a resposta mais honesta.

Os programas, sim. Passos DATA, PROC SQL, a linguagem macro e 100 procedimentos documentados correm no Jenner sem software SAS por baixo, porque é uma implementação independente e não uma fachada que chama outra coisa. O que não transita é tudo o que não é um programa: conteúdo montado numa interface de apontar e clicar não é código em linguagem SAS, portanto não há nada para um motor executar.

É alojado, e é aí que há sobreposição. Tem um espaço de trabalho no navegador a correr JupyterLab sobre um contentor que operamos, partilhado pela organização, mais um caminho HTTP para tarefas e agentes. É uma coisa menor do que uma suite analítica completa — um motor e um sítio onde o correr, e não um catálogo de aplicações. Para uma equipa cujo trabalho são programas SAS, essa costuma ser a metade que aguenta o peso.

Vêm consigo. O Jenner lê SAS7BDAT diretamente, além de XPT, CSV e Parquet, e volta a escrevê-los: um conjunto de dados aterra no espaço de trabalho sem passo de conversão e os resultados saem na forma que um colega espera. É também isso que torna possível mover uma carga de cada vez, em vez de um fim de semana de migração que ninguém quer assumir.

Sim — é o caminho HTTP, e não precisa de navegador nenhum. Um agendador, uma tarefa de integração contínua ou um agente envia o programa e as suas entradas e recebe a listagem, o log, um código de saída e os conjuntos de dados em JSON, sem sessão nenhuma mantida aberta pelo meio. É o mesmo motor que o espaço de trabalho corre, pelo que o programa que alguém desenvolveu de forma interativa é o programa que o pipeline executa.

Pegue num relatório cuja saída reconheceria num relance, corra-o no espaço de trabalho e compare os dois conjuntos de dados de saída com PROC COMPARE, até à tolerância que definir. Dentro do espaço de trabalho é uma avaliação barata — nada para instalar e nada para adquirir primeiro — e o que produz é prova sobre os seus próprios números, e não uma afirmação sobre os nossos. Guardada como notebook, a comparação é ainda o artefacto que um revisor de validação poderá ler meses depois.

O Altair SLC também executa programas em linguagem SAS sem licença SAS, e há muito mais tempo do que nós. Onde um historial longo conte mais do que um espaço de trabalho no navegador, peça-lhes um orçamento e passe ambos pelos seus próprios programas em vez de pela lista de funcionalidades de qualquer um dos dois. Preferimos que escolha o certo a que nos escolha.

Às vezes sim. Se o código SAS é pouco, ou a equipa vai deixar a linguagem de qualquer forma, uma reescrita em Python ou R — pandas, tidyverse — resolve de vez e coloca-o sobre uma stack para a qual é mais fácil contratar. Correr o código tal como está ganha quando há muito dele, quando foi validado, e quando reescrever significa revalidar cada número em vez de apenas voltar a escrevê-lo.

Não, e quem lhe disser o contrário não contou. A nossa cobertura da linguagem é ampla mas tem lacunas, e um programa que bate numa delas falha de forma clara em vez de silenciosa. A referência de procedimentos lista o que existe, instrução a instrução, e correr os seus próprios programas no espaço de trabalho resolve a questão para o seu parque numa tarde em vez de num ciclo de compras.

Na nossa infraestrutura, não na vossa. Um espaço de trabalho alojado significa que os ficheiros que lá coloca ficam em máquinas que nós operamos — é essa a troca por não ter nada para instalar nem para corrigir. A sua organização controla o acesso ao espaço de trabalho, o que não é o mesmo que ter o disco, e vale a pena dizê-lo com clareza antes que uma auditoria pergunte. Onde um conjunto de dados não possa estar em hardware alheio, o mesmo motor corre como aplicação nativa para Mac e como binário de linha de comandos nas suas próprias máquinas, e os programas não mudam quando passa de um para o outro.

Na verdade não. Um notebook é um sítio onde escrever um programa e ver o log e a saída aparecerem ao lado, que é o ciclo em que já trabalha. Os programas mantêm-se em sintaxe SAS: o que muda é a janela, não o código — e para quem preferir não tocar num notebook, o caminho HTTP e a linha de comandos executam o mesmo ficheiro .sas sem lhe mexer.

Experimente com um dos seus próprios programas

Inicie sessão num espaço de trabalho no navegador — nada para instalar, sem licença SAS.

Iniciar avaliação gratuita