O novo desenvolvedor de segurança do Python tem planos para proteger a linguagem
25 de janeiro de 2024VMware revela uma pilha de novos serviços de dados para sua nuvem
25 de janeiro de 2024A mudança incremental é uma coisa ruim? A resposta, como acontece com a maioria das coisas na vida, é “depende”. Especificamente no mundo da tecnologia, o equilíbrio entre inovação e conceitos e soluções testados e comprovados parece ter pendido a favor do primeiro. Ou pelo menos é essa a impressão que as manchetes dão. Ainda bem que a vida é mais do que manchetes.
A inovação não acontece da noite para o dia e também não é aplicada da noite para o dia. Na maioria dos empreendimentos criativos, as equipas trabalham incansavelmente durante longos períodos até estarem prontas para partilhar as suas conquistas com o mundo. Então eles voltam para a garagem e continuam trabalhando até que o próximo marco seja alcançado. Se espreitarmos a garagem de forma intermitente, provavelmente chamaríamos o que vemos na maior parte do tempo de “mudança incremental”.
A equipe do ScyllaDB trabalha com as portas da garagem abertas e não está necessariamente atrás das manchetes. Eles acreditam que a mudança incremental não deve ser evitada se levar a um progresso constante. Em comparação com o lançamento do ScyllaDB 5.0 no ScyllaDB Summit 2022, “mudança incremental” poderia ser o tema do ScyllaDB Summit 2023 em fevereiro. Mas esta é apenas a ponta do iceberg, pois há mais do que aparenta aqui.
Conversei com o CEO e cofundador da ScyllaDB, Dor Laor, para discutir isso.
A equipe do ScyllaDB trabalha com as portas da garagem abertas. Uma olhada no que manteve a equipe ocupada em 2022, além de tendências e vantagens em computação e armazenamento de alto desempenho.
Nota: Além de ler o artigo, você pode ouvir a conversa completa neste podcast:
Miniplayer:
Os dados estão indo para a nuvem em tempo real, assim como o ScyllaDB
A equipe do ScyllaDB está atenta ao que seus clientes estão fazendo com seus dados. O que percebi em 2022 foi que os dados vão para a nuvem em tempo real, assim como o ScyllaDB 5.0. Continuando, perguntei-me se essas tendências acompanharam a forma como se manifestaram anteriormente.
A resposta, confirmou Laor, é simples: absolutamente sim. ScyllaDB Cloud, o banco de dados como serviço da empresa, tem crescido mais de 100% ano após ano em 2022. Em apenas três anos desde sua introdução em 2019, o ScyllaDB Cloud é agora a principal fonte de receita do ScyllaDB, ultrapassando 50% .
“Todo mundo precisa ter o banco de dados principal, mas o serviço é a maneira mais fácil e segura de consumi-lo. Esse tema é muito forte não apenas no ScyllaDB, mas também em todos os outros bancos de dados e, às vezes, além dos bancos de dados com outros tipos de infraestrutura. Faz muito sentido”, observou Laor.
O ScyllaDB foi projetado para oferecer desempenho previsível em escala. Ele é adotado por organizações que exigem latência ultrabaixa, mesmo com cargas de trabalho que excedem 1 milhão de operações/seg. Nossa arquitetura exclusiva aproveita o poder da infraestrutura moderna – traduzindo-se em menos nós, menos administração e custos mais baixos.
Saber mais
As últimas novidades do ScyllaDB
$(document).ready(function() { $.ajax({ método: ‘POST’, url: ‘/no-cache/sponsors-rss-block/’, headers: { ‘Cache-Control’: ‘no- cache, no-store, must-revalidate’, ‘Pragma’: ‘no-cache’, ‘Expires’: ‘0’ }, dados: { patrocinadorSlug: ‘scylladb’, numItems: 3 }, sucesso: função (dados) { if (data.startsWith(‘ERROR’)) { console.log(data); $(‘.sponsor-note-rss’).hide(); } else { $(‘.sponsor-note-rss-items -scylladb’).html(dados); } } }); });
Da mesma forma, o suporte do ScyllaDB para atualizações em tempo real por meio de seu recurso Change Data Capture (CDC) está sendo bastante adotado. Todos os eventos do CDC vão para uma tabela que pode ser lida como uma tabela normal. Laor observou que isso torna o CDC fácil de usar, também em conjunto com o conector Kafka. Além disso, o CDC abre a porta para outra possibilidade: usar o ScyllaDB não apenas como banco de dados, mas também como uma alternativa ao Kafka.
“Não é que o ScyllaDB seja um substituto do Kafka. Mas se você tiver um banco de dados mais a pilha Kafka, há casos em que, em vez de enfileirar coisas no Kafka e enviá-las para o banco de dados, você também pode fazer o enfileiramento dentro do próprio banco de dados”, disse Laor.
Isso não ocorre porque Kafka seja ruim em si. A motivação aqui é reduzir o número de peças móveis na infraestrutura. A Palo Alto Networks fez isso e outros também estão seguindo o exemplo. Numerly é outro exemplo em que o ScyllaDB foi usado para substituir o Kafka e o Redis.
Alto desempenho e migração perfeita
Numberly foi um dos muitos casos de uso apresentados no ScyllaDB Summit 2023. Outros incluíram nomes como Discord, Epic Games, Optimizely, ShareChat e Strava. Navegando por eles, surgem dois temas principais: alto desempenho e migração.
A migração é um caminho típico de adoção do ScyllaDB, conforme Laor compartilhou. Muitos usuários vêm de outros bancos de dados para o ScyllaDB em busca de escalabilidade. Como o ScyllaDB passa por muitas migrações, ele oferece suporte para duas APIs compatíveis, uma para Cassandra e outra para DynamoDB. Existem também diversas ferramentas de migração, como o Spark Migrator, que verifica o banco de dados de origem e grava no banco de dados de destino. O CDC também pode ajudar nisso.
Embora cada migração tenha suas próprias complexidades, quando organizações como Discord ou ShareChat migram para o ScyllaDB, tudo se resume a escala. O Discord migrou trilhões de mensagens. ShareChat migrou dezenas de serviços. As coisas podem ficar complicadas e os usuários farão suas próprias escolhas. Alguns usuários reescrevem sua pilha sem manter a compatibilidade da API, ou até mesmo reescrevem partes de sua base de código em outra linguagem de programação como Go ou Rust.
Epic Games, Optimizely e Strava apresentaram casos de uso de alto desempenho. A Epic Games é a criadora do motor de jogo Unreal. Sua evolução reflete a forma como o software moderno evoluiu. Antigamente, usar o mecanismo de jogo Unreal era tão simples quanto baixar um único arquivo binário. Hoje em dia tudo está distribuído. A Epic Games trabalha com criadores de jogos fornecendo uma arquitetura de referência e uma pilha recomendada, e os criadores escolhem como consumi-la. ScyllaDB é usado como cache distribuído nesta pilha, fornecendo acesso rápido aos objetos armazenados no AWS S3.
Um mar de armazenamento, jangada e sem servidor
O ScyllaDB está sendo cada vez mais usado como cache. Para o Numberly, isso aconteceu porque o ScyllaDB não precisa de cache, o que tornou o Redis obsoleto. Para a Epic Games, a necessidade era adicionar uma camada de serviço rápido no S3.
O S3 funciona muito bem e é elástico e econômico, mas se seu aplicativo tiver requisitos rigorosos de latência, você precisará de um cache, apontou Laor. Isso é algo que muitas pessoas na indústria estão cientes, incluindo a engenharia do ScyllaDB. Como Laor compartilhou, há um esforço contínuo de P&D no ScyllaDB para usar o S3 também para armazenamento. Como ele disse:
“O S3 é um mar de armazenamento extremamente barato, mas também é lento. Se você conseguir casar os dois, S3 e armazenamento rápido, conseguirá quebrar a relação entre computação e armazenamento. Isso oferece muitos benefícios, desde extrema flexibilidade até menor TCO.”
Este é um projeto importante no qual a P&D do ScyllaDB está trabalhando atualmente, mas não o único.
Na próxima versão 5.2 de código aberto, o ScyllaDB terá uma operação de esquema transacional consistente baseada em Raft. Na próxima versão, 5.3, também serão suportadas alterações de topologia transacional. A forte consistência dos metadados é essencial para usuários sofisticados que dimensionam programaticamente o cluster e a linguagem de definição de dados.
Isso abre caminho para mudanças na forma como o ScyllaDB fragmenta os dados, tornando-os mais dinâmicos e levando a um melhor balanceamento de carga.
Muitos desses esforços se unem na busca pela tecnologia sem servidor. Uma avaliação gratuita baseada em serverless foi disponibilizada no ScyllaDB Summit e estará disponível ao público ainda este ano.
P99, Ferrugem e além
Laor não vive em um mundo somente ScyllaDB. Sendo alguém com experiência em hipervisor e Linux Red Hat, ele aprecia as nuances do P99. A latência P99 é o 99º percentil de latência. Isso significa que 99% das solicitações serão mais rápidas que o número de latência fornecido ou que apenas 1% das solicitações serão mais lentas que a latência P99.
P99 CONF também é o nome de um evento sobre performance, organizado pela equipe ScyllaDB, mas certamente não limitado a eles. P99 CONF é para desenvolvedores obcecados pelos percentis P99 e aplicativos de alto desempenho e baixa latência. É onde os desenvolvedores podem se aprofundar, compartilhar seu conhecimento e focar no desempenho em tempo real.
Laor disse que os participantes são incentivados a apresentar bancos de dados, inclusive concorrentes, bem como falar sobre desenvolvimento de sistemas operacionais, linguagens de programação, bibliotecas especiais e muito mais.
A premissa original do ScyllaDB era ser uma implementação mais rápida da API Cassandra, escrita em C++ em oposição a Java.
Embora o ScyllaDB tenha investido pesadamente em sua base de código C++ e a aperfeiçoado ao longo do tempo, Laor também dá muito crédito a Rust. Tanto, na verdade, que ele disse que é bem provável que, se eles iniciassem o esforço de implementação hoje, o teriam feito usando Rust. Não tanto por razões de desempenho, mas mais por facilidade de uso. Além disso, muitos usuários do ScyllaDB, como Discord e Numberly, estão migrando para o Rust.
Mesmo que uma base de código que resistiu ao teste do tempo não seja algo de que qualquer desenvolvedor sábio gostaria de se livrar, o ScyllaDB também está adotando o Rust. Rust é a linguagem preferida para a nova geração de drivers do ScyllaDB. Como explicou Laor, daqui para frente o núcleo dos drivers do ScyllaDB será escrito em Rust. A partir disso, outras versões específicas do idioma serão derivadas. ScyllaDB também está adotando Go e Wasm para partes específicas de sua base de código.
Para fechar o círculo, há muitas mudanças incrementais acontecendo. Talvez se a porta da garagem não estivesse aberta e só pudéssemos ver o produto final em demonstrações cuidadosamente orquestradas, essas mudanças acumulariam mais impressões. Aparentemente, isso não é mais o que importa para Laor e ScyllaDB.
O post Mudanças incrementais do ScyllaDB: apenas a ponta do iceberg apareceu pela primeira vez em The New Stack.