▲
Para quem trabalha com Microsoft SQL Server usando Python, o driver pyodbc é um nome bem conhecido. No entanto, a Microsoft apresentou uma novidade: o driver mssql-python, prometendo um desempenho significativamente melhor. Essa nova ferramenta busca otimizar a conexão entre Python e bancos de dados SQL.
Um Novo Driver para SQL Server em Python
O pyodbc é um driver padrão da indústria para quem trabalha com Microsoft SQL Server em Python, muito devido à sua comunidade ativa e estabilidade em sistemas como o Windows 10. Agora, a Microsoft anunciou uma versão de prévia de seu próprio driver, o mssql-python, que, segundo a empresa, oferece um desempenho superior em diversas operações com bancos de dados.
A Microsoft detalhou em um artigo que o mssql-python foi desenvolvido com foco em performance, segurança, estabilidade de memória e suporte multiplataforma. Ele aproveita arquiteturas modernas, usando uma camada C++ chamada Direct Database Connectivity (DDBC).
Essa abordagem do DDBC é uma alternativa ao Driver Manager, usado por outros drivers como o pyodbc. A diferença é importante porque o Driver Manager pode causar comportamentos inconsistentes dependendo da plataforma. O DDBC foi projetado para uma experiência mais unificada.
O DDBC oferece um backend consistente e multiplataforma que se comunica diretamente com o driver nativo SQL Server ODBC. Isso resulta em menor sobrecarga de chamadas de função, ausência de dependências externas e um controle mais detalhado sobre as conexões e o gerenciamento de memória, visando otimizar a desempenho e a eficiência.
Driver mssql-python da Microsoft: Avaliação de Velocidade e Direções Futuras
Para testar o desempenho do mssql-python, a Microsoft realizou uma série de comparações com o pyodbc. Os testes foram feitos em um Azure SQL Database, utilizando uma máquina com Windows 11 Pro, processador Intel Core i7 e 32GB de memória RAM.
Os resultados mostraram que o driver mssql-python é significativamente mais rápido que o pyodbc, como detalhado na tabela abaixo:
Categoria | mssql-python vs. pyodbc |
---|---|
SQL Essencial (SELECT, INSERT, UPDATE, DELETE) | 2× a 4× mais rápido |
Consultas com Join, Aninhadas e Complexas | 3.6× a 4× mais rápido |
Operações de Busca (Um & Muitos) | 3.6 a ~3.7× mais rápido |
Procedimentos Armazenados, Transações | ~2.1× a ~2.6× mais rápido |
Inserções em Lote | ~8.6x mais rápido |
1000 Conexões | 16.5x mais rápido |
Como visto nos resultados, o mssql-python apresentou melhorias de velocidade notáveis nas principais operações. É importante lembrar que esses dados são baseados nos testes da Microsoft e os resultados podem variar em diferentes cenários de uso real.
O mssql-python está atualmente em fase de prévia e é mantido pela Microsoft no GitHub. Ele já oferece suporte para Windows, macOS e algumas distribuições Linux, como Debian, Ubuntu e RHEL. Há planos para adicionar suporte a Alpine e SUSE Linux em breve.
A Microsoft planeja facilitar a migração de desenvolvedores do pyodbc para o mssql-python. Além disso, a empresa está trabalhando em testes de estresse para o driver, comparativos de desempenho em Linux e macOS, e a implementação do suporte a Bulk Copy (BCP). Se quiser experimentar, basta usar o comando pip install mssql-python
.
A iniciativa da Microsoft de lançar um driver próprio para SQL Server em Python, como o mssql-python, indica um investimento em otimizar a experiência de desenvolvimento. Com foco em desempenho e compatibilidade, a ferramenta pode se tornar uma opção relevante para a comunidade de desenvolvedores no futuro.
Este conteúdo foi auxiliado por Inteligência Artificial, mas escrito e revisado por um humano.
Via Neowin