
A Microsoft anunciou uma novidade que promete agitar a comunidade de desenvolvimento Python que trabalha com SQL Server. A empresa revelou a primeira versão de testes do mssql-python, um driver próprio que, segundo a gigante tecnológica, deixa para trás o padrão da indústria, o pyodbc, em termos de desempenho, segurança e consistência.
O pyodbc tem sido, durante anos, a escolha principal para os programadores que necessitam de ligar as suas aplicações em Python ao Microsoft SQL Server, muito devido à sua estabilidade e comunidade ativa. No entanto, a Microsoft acredita ter criado uma alternativa superior, construída de raiz a pensar nas arquiteturas modernas.
A aposta na performance e consistência
Numa publicação detalhada no seu blogue, a Microsoft explica que o mssql-python foi desenvolvido com foco em desempenho, segurança, gestão de memória e suporte multiplataforma. A grande diferença reside na sua arquitetura, que utiliza uma camada agnóstica de plataforma em C++ denominada Direct Database Connectivity (DDBC).
Esta abordagem é uma alternativa ao Driver Manager, a tecnologia usada por drivers como o pyodbc. Segundo a empresa, o DDBC evita os comportamentos inconsistentes que os programadores por vezes encontram ao trabalhar em diferentes sistemas operativos. Ao interagir diretamente com o driver ODBC nativo do SQL Server, o DDBC oferece um backend consistente, com menos sobrecarga nas chamadas de função, sem dependências externas e com um controlo mais rigoroso sobre as ligações e o uso de memória.
Os números do confronto: mssql-python vs. pyodbc
Para comprovar as suas alegações, a Microsoft realizou uma série de benchmarks comparando os dois drivers num computador com Windows 11 Pro, processador Intel Core i7 e 32GB de RAM, ligado a uma base de dados Azure SQL. Os resultados são impressionantes.
O mssql-python demonstrou ser significativamente mais rápido em todas as principais operações:
Operações Core SQL (SELECT, INSERT, UPDATE, DELETE): Entre 2 a 4 vezes mais rápido.
Queries Complexas (Join, Nested): De 3,6 a 4 vezes mais rápido.
Operações de Fetch (One & Many): Cerca de 3,6 a 3,7 vezes mais rápido.
Procedimentos e Transações: Aproximadamente 2,1 a 2,6 vezes mais rápido.
Inserções em Lote (Batch Inserts): Um ganho impressionante de 8,6 vezes.
1000 Ligações Concorrentes: Até 16,5 vezes mais rápido que o pyodbc.
É importante notar que estes testes foram realizados pela Microsoft e os resultados podem variar em cenários de utilização real.
Como experimentar e o que esperar no futuro
Atualmente, o mssql-python encontra-se em fase de "preview" e o projeto é mantido pela Microsoft no GitHub. O driver já suporta Windows, macOS e algumas distribuições de Linux como Debian, Ubuntu e RHEL, com planos para adicionar suporte a Alpine e SUSE Linux no futuro.
A Microsoft está também a trabalhar para facilitar a migração de projetos existentes de pyodbc para o novo driver, a realizar mais testes de stress e a adicionar suporte para operações de Bulk Copy (BCP).
Para os programadores que queiram testar esta nova ferramenta, a instalação pode ser feita através de um simples comando: pip install mssql-python










Nenhum comentário
Seja o primeiro!