BT

Novidades O InfoQ vem desenvolvendo uma série de novas funcionalidades para melhorar sua experiência com o site. Confira!

Pony ORM: uma nova opção de mapeamento objeto-relacional em Python

| por Ivo La Puma Seguir 0 Seguidores em 30 abr 2013. Tempo estimado de leitura: 1 minuto |

Recentemente apresentado no PyCon US 2013, o Pony ORM é uma biblioteca de Mapeamento Objeto-Relacional (ou ORM, do inglês Object-Relational Mapping) implementada em Python. Atualmente desenvolvido por Alexander Kozlovsky e Alexey Malashkevich, a principal característica do Pony ORM é a geração de consultas SQL em Python puro, por meio de Expressões Geradoras.

O Pony ORM tem funcionalidades similares ao ORM do Django e ao SQLAlchemy, outras ferramentas em Python mais conhecidas. Assim como o Django, o Pony fornece:

  • Suporte ao padrão Identity Map;
  • Gerenciamento automático de transações;
  • Transações otimistas;
  • Caching automático de consultas e objetos;
  • Suporte completo a chaves compostas.

E procura oferecer vantagens em relação aos concorrentes:

  • Sintaxe mais simples para escrever consultas;
  • Otimização automática de consultas;
  • Solução elegante para o problema de Select N+1;
  • Editor gráfico de diagramas de banco de dados que gera automaticamente o código Python do modelo.

O Pony ORM foi concebido especialmente para o desenvolvimento de aplicações web. Um caso em que funciona bem é na geração de páginas web dinâmicas, quando frequentemente milhares de objetos são extraídos do banco de dados de uma só vez. No entanto, existem algumas restrições para seu uso. Segundo seus criadores:

o Pony ORM não é adequado em casos que requerem o processamento simultâneo de milhões ou mesmo centenas de milhares de registros de um banco de dados. Para esses casos, são mais indicados o uso de SQL puro ou do ORM SQLAlchemy.

O projeto também é capaz de chamar stored procedures ou montar consultas em dialetos específicos de banco de dados. Os bancos suportados são SQLite, MySQL, PostgreSQL e Oracle.

Iniciado em 2006 como projeto open source, o Pony ORM é disponibilizado sob a licença GNU Affero General Public 3.0. Seu uso é livre para fins não-comerciais, mas há custo de licenciamento para uso em projetos comerciais.

Para testar o Pony, é possível instalá-lo através do PyPi do Python - digitando "pip install pony" no prompt de comando - ou baixando seus fontes do GitHub.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Faça seu login para melhorar sua experiência com o InfoQ e ter acesso a funcionalidades exclusivas


Esqueci minha senha

Follow

Siga seus tópicos e editores favoritos

Acompanhe e seja notificados sobre as mais importantes novidades do mundo do desenvolvimento de software.

Like

Mais interação, mais personalização

Crie seu próprio feed de novidades escolhendo os tópicos e pessoas que você gostaria de acompanhar.

Notifications

Fique por dentro das novidades!

Configure as notificações e acompanhe as novidades relacionada a tópicos, conteúdos e pessoas de seu interesse

BT