Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O Azure DocumentDB é construído sobre o DocumentDB, uma plataforma de bases de dados de documentos de código aberto. Este artigo apresenta uma visão geral do DocumentDB, das suas funcionalidades, arquitetura e de como pode contribuir ou utilizar esta tecnologia.
O que é o DocumentDB?
O DocumentDB é uma plataforma totalmente permissiva e de código aberto para armazenamentos de dados documentais, construída sobre o motor PostgreSQL. Serve de base para o Azure DocumentDB, fornecendo uma solução poderosa e flexível para as necessidades de bases de dados NoSQL.
O DocumentDB é uma implementação verdadeiramente Open-Source do MongoDB
Ao contrário de outros motores MongoDB com licenciamento restritivo, como o SSPL, o DocumentDB utiliza a licença permissiva MIT. Isto significa que os programadores têm total liberdade para usar, modificar e distribuir o software sem quaisquer taxas de licenciamento comercial ou restrições de uso. Ao contrário da Licença Pública do Lado do Servidor (SSPL) do MongoDB, que pode limitar certos usos, a licença MIT do DocumentDB garante verdadeira liberdade de código aberto.
O DocumentDB é multicloud e independente do fornecedor
O DocumentDB fornece uma solução portátil e interoperável para armazenamentos de dados de documentos. Construído sobre o PostgreSQL, permite aos programadores implementar as suas aplicações em vários fornecedores de cloud ou on-premises, evitando o lock-in dos fornecedores. Esta flexibilidade capacita as organizações a escolher a melhor infraestrutura para as suas necessidades sem comprometer as capacidades da base de dados.
O DocumentDB é construído sobre o PostgreSQL, um Game-Changer para bases de dados NoSQL
À medida que a distinção entre bases de dados NoSQL e relacionais se torna mais difusa, o DocumentDB colmata esta lacuna para proporcionar uma experiência superior de base de dados de documentos para a maioria das cargas de trabalho escaláveis. Combina as forças de ambos os lados, oferecendo a flexibilidade e escalabilidade tipicamente associadas às bases de dados NoSQL, aproveitando ao mesmo tempo o poder e o vasto conjunto de funcionalidades do PostgreSQL – uma das bases de dados open-source mais adotadas e respeitadas atualmente. Esta base proporciona robustez, fiabilidade e acesso ao ecossistema de ferramentas e extensões do PostgreSQL. Os programadores podem beneficiar da evolução contínua do PostgreSQL e do extenso apoio comunitário, ao mesmo tempo que desfrutam da flexibilidade de uma base de dados de documentos.
Principais características
O DocumentDB oferece várias funcionalidades chave que o tornam uma escolha robusta para operações de bases de dados de documentos:
- Análise e manipulação de documentos BSON: Manuseie eficientemente documentos de Binary JSON (BSON) em todos os níveis de encadeamento.
- Capacidades avançadas de indexação: Suporte para índices de campo único, multichave, compostos, texto e geoespaciais.
- Consultas de pesquisa vetorial: Impulsionado pela extensão pg_vector PostgreSQL, permitindo várias aplicações de IA e aprendizagem automática.
- Mecanismo de autenticação: Inclui autenticação SCRAM (Salted Challenge Response Authentication Mechanism).
- Consultas geoespaciais: Utilizando as capacidades da extensão PostGIS.
- Suporte total ao Decimal128: Alimentado pela Intel Floating Point Math Library.
- Suporte Regex: Utilização do Projeto PCRE2
Architecture
O DocumentDB consiste em dois componentes principais:
- pg_documentdb_core: Uma extensão personalizada do PostgreSQL que otimiza o suporte a tipos de dados BSON no PostgreSQL.
- pg_documentdb_api: O plano de dados que implementa operações CRUD, funcionalidade de consultas e gestão de índices.
Esta arquitetura permite construir uma experiência de utilizador de base de dados NoSQL de ponta a ponta sobre o motor PostgreSQL.
Contribuição para o DocumentDB
Como projeto open-source, o DocumentDB acolhe contribuições da comunidade. Pode contribuir através de:
- Marcar com estrela, fazer fork e submeter pull requests no GitHub
- Reportar problemas ou sugerir melhorias
- Participar em discussões no canal #documentdb no servidor Discord do Microsoft OSS
Começar com o DocumentDB
Para começar a usar o DocumentDB localmente:
2. Clonar o repositório DocumentDB.
git clone https://github.com/documentdb/documentdb.git
3. Criar a imagem Docker. Navega até ao repositório clonado.
docker build . -f .devcontainer/Dockerfile -t documentdb
4. Executar a imagem Docker como um contentor.
docker run -v $(pwd):/home/documentdb/code -it documentdb /bin/bash
5. Construir e implementar os binários.
cd code
make
sudo make install
6. Inicializar o servidor DocumentDB e gerir dependências.
./scripts/start_oss_server.sh -t documentdb
7. Liga-te ao terminal psql.
psql -p 9712 -h localhost -d postgres
Depois de seguir estes passos, está agora pronto para usar o DocumentDB localmente.
FAQs
O que é o DocumentDB e como se relaciona com o Azure DocumentDB?
O DocumentDB é uma plataforma totalmente permissiva e de código aberto para armazenamentos de dados documentais, construída sobre o motor PostgreSQL. Serve de base para o Azure DocumentDB, fornecendo uma solução poderosa e flexível para as necessidades de bases de dados NoSQL.
Como se compara a licença do DocumentDB com outras implementações do MongoDB?
O DocumentDB utiliza a licença permissiva MIT, que permite aos programadores total liberdade para usar, modificar e distribuir o software sem quaisquer taxas comerciais de licenciamento ou restrições de uso. Isto contrasta com a Licença Pública do Lado do Servidor (SSPL) de alguns fornecedores MongoDB, que pode limitar certos usos.
O DocumentDB pode ser usado entre diferentes fornecedores de cloud?
Sim, o DocumentDB é multicloud e independente do fornecedor. Baseado no PostgreSQL, permite aos programadores implementar as suas aplicações em vários fornecedores de cloud ou on-premises, evitando o bloqueio do fornecedor e oferecendo flexibilidade na escolha da melhor infraestrutura para as suas necessidades.
Quais são as principais funcionalidades do DocumentDB?
O DocumentDB oferece várias funcionalidades chave, incluindo análise e manipulação de documentos BSON, capacidades avançadas de indexação (campo único, multichave, composto, texto e geoespacial), consultas vetoriais alimentadas por pg_vector, mecanismos de autenticação incluindo SCRAM, consultas geoespaciais usando PostGIS, suporte completo a Decimal128 e suporte a regex usando PCRE2.
Como podem os programadores contribuir para o DocumentDB?
Os programadores podem contribuir para o DocumentDB ao marcar com estrela, fazer fork e submeter pull requests no GitHub, reportar problemas ou sugerir melhorias, e participar em debates no canal #documentdb no servidor Discord da Microsoft OSS.