A Microsoft surpreendeu a comunidade de tecnologia ao anunciar o lançamento do DocumentDB, uma plataforma de banco de dados NoSQL totalmente de código aberto. Este projeto alimenta o Azure Cosmos DB para MongoDB, sendo construído sobre o PostgreSQL, um dos bancos de dados mais populares entre os desenvolvedores. A DocumentDB é licenciada sob o permissivo MIT License, permitindo que usuários e desenvolvedores a incorporem livremente em suas soluções sem restrições.
O que é o DocumentDB?
A DocumentDB foi desenvolvida como uma plataforma de banco de dados orientada a documentos (document-oriented) para atender às necessidades crescentes de interoperabilidade e portabilidade em bancos de dados NoSQL. Essa abordagem permite que desenvolvedores realizem operações CRUD (Criar, Ler, Atualizar e Excluir) em documentos BSON diretamente no ecossistema PostgreSQL.
A arquitetura é composta por dois componentes principais:
- pg_documentdb_core: Uma extensão personalizada do PostgreSQL, otimizando o suporte para o formato BSON.
- pg_documentdb_api: Um plano de dados que gerencia operações CRUD, consultas e índices, incluindo suporte para busca vetorial, geoespacial e textuais.
Esses componentes também tornam a DocumentDB ideal para casos como inteligência artificial generativa, detecção de fraudes, sistemas de recomendação e processamento de linguagem natural.
Diferenças entre DocumentDB da Microsoft e da Amazon
Apesar do nome compartilhado, o DocumentDB da Microsoft é independente do banco de dados proprietário da Amazon com o mesmo nome. Enquanto o DocumentDB da Amazon é focado em compatibilidade com MongoDB, a solução da Microsoft aposta na transparência e flexibilidade do código aberto, sendo implementada sobre o PostgreSQL.
Exemplo simples para todos entenderem
Imagine que você tem um caderno onde guarda informações sobre seus contatos, como nome, telefone e endereço. O banco de dados orientado a documentos funciona como esse caderno, onde cada página é um documento e cada documento tem informações específicas e organizadas. Agora, com o DocumentDB, esse “caderno” está acessível de forma digital, permitindo que você procure, edite ou adicione novos contatos de forma fácil e rápida.
Recursos e visão para o futuro
A DocumentDB também busca estabelecer um padrão para bancos de dados NoSQL, similar ao ANSI SQL para bancos relacionais, o que pode facilitar a migração e a interoperabilidade entre diferentes soluções de NoSQL no futuro.
Com suporte a indexação, buscas otimizadas e extensibilidade baseada no PostgreSQL, a DocumentDB se apresenta como uma ferramenta poderosa tanto para pequenas aplicações locais quanto para grandes sistemas corporativos. Além disso, a Microsoft incentiva a colaboração por meio de seu repositório no GitHub e canais como Discord.
Começando com DocumentDB
Para aqueles que desejam experimentar, o repositório GitHub oferece instruções claras para instalação via Docker. Um exemplo simples para inserir um documento no banco:
SELECT documentdb_api.create_collection('documentdb', 'pacientes');
SELECT documentdb_api.insert_one('documentdb', 'pacientes', '{ "id": "P001", "nome": "Alice", "idade": 30 }');
Um marco para a Microsoft no código aberto
Ao adotar uma abordagem totalmente aberta com a DocumentDB, a Microsoft reforça seu compromisso com a comunidade e com práticas de desenvolvimento colaborativas, fortalecendo ainda mais o ecossistema do PostgreSQL. Essa iniciativa representa um passo importante na criação de soluções de dados flexíveis e acessíveis para desenvolvedores de todos os níveis.