Microsoft no código aberto

Microsoft lança DocumentDB como banco de dados NoSQL de código aberto baseado em PostgreSQL

Mid adult Chinese man sitting at desk using computer, IT supporter assisting office worker, software developer looking at screen and concentrating
Mid adult Chinese man sitting at desk using computer, IT supporter assisting office worker, software developer looking at screen and concentrating

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.

Emanuel Negromonte Autor
Autor
Jornalista especialista em Linux a mais de 20 anos. Fundador do SempreUpdate e entusiasta do software livre.