Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Azure DocumentDB se basa en DocumentDB, una plataforma de base de datos de documentos de código abierto. En este artículo se proporciona información general sobre DocumentDB, sus características, arquitectura y cómo puede contribuir o usar esta tecnología.
¿Qué es DocumentDB?
DocumentDB es una plataforma totalmente permisiva y de código abierto para almacenes de datos de documentos basados en el motor de PostgreSQL. Sirve como base para Azure DocumentDB, lo que proporciona una solución eficaz y flexible para las necesidades de base de datos NoSQL.
DocumentDB es una implementación de MongoDB verdaderamente Open-Source
A diferencia de otros motores de MongoDB con licencias restrictivas como SSPL, DocumentDB usa la licencia MIT permisiva. Esto significa que los desarrolladores tienen toda la libertad de usar, modificar y distribuir el software sin ninguna restricción de uso o cuotas de licencia comercial. A diferencia de la licencia pública del lado servidor (SSPL) de MongoDB, que puede limitar ciertos usos, la licencia MIT de DocumentDB garantiza una verdadera libertad de código abierto.
DocumentDB es multinube y independiente del proveedor
DocumentDB proporciona una solución portable e interoperable para almacenes de datos de documentos. Basado en PostgreSQL, permite a los desarrolladores implementar sus aplicaciones en varios proveedores de nube o locales, lo que evita el bloqueo del proveedor. Esta flexibilidad permite a las organizaciones elegir la mejor infraestructura para sus necesidades sin poner en peligro las funcionalidades de la base de datos.
DocumentDB se basa en PostgreSQL, una Game-Changer para bases de datos NoSQL
A medida que la distinción entre NoSQL y las bases de datos relacionales se vuelve más borrosa, DocumentDB puente esta brecha para proporcionar una experiencia de base de datos de documentos superior para la mayoría de las cargas de trabajo escalables. Combina los puntos fuertes de ambos lados, ofreciendo la flexibilidad y la escalabilidad asociados normalmente a las bases de datos NoSQL, al tiempo que aprovecha la potencia y el amplio conjunto de características de PostgreSQL, una de las bases de datos de código abierto más adoptadas y respetadas en la actualidad. Esta base proporciona solidez, confiabilidad y acceso al ecosistema de herramientas y extensiones de PostgreSQL. Los desarrolladores pueden beneficiarse de la evolución continua de PostgreSQL y el amplio soporte técnico de la comunidad, a la vez que disfrutan de la flexibilidad de una base de datos de documentos.
Características clave
DocumentDB ofrece varias características clave que lo convierten en una opción sólida para las operaciones de base de datos de documentos:
- Análisis y manipulación de documentos BSON: Controle eficazmente documentos JSON binarios (BSON) en todos los niveles de anidamiento.
- Funcionalidades avanzadas de indexación: Compatibilidad con índices geoespaciales, compuestos, de campo único, multi-clave y de texto.
- Consultas de búsqueda vectorial: Impulsadas por la extensión pg_vector de PostgreSQL, lo que permite varias aplicaciones de inteligencia artificial y aprendizaje automático.
- Mecanismo de autenticación: Incluye la autenticación SCRAM (mecanismo de autenticación de respuesta a desafíos salados).
- Consultas geoespaciales: Uso de las funcionalidades de la extensión PostGIS.
- Compatibilidad completa con Decimal128: Con tecnología de intel Floating Point Math Library.
- Compatibilidad con Regex: Uso del proyecto PCRE2
Architecture
DocumentDB consta de dos componentes principales:
- pg_documentdb_core: una extensión de PostgreSQL personalizada que optimiza la compatibilidad con tipos de datos BSON en PostgreSQL.
- pg_documentdb_api: el plano de datos que implementa operaciones CRUD, la funcionalidad de consulta y la administración de índices.
Esta arquitectura permite crear una experiencia de usuario de base de datos NoSQL de un extremo a otro sobre el motor de PostgreSQL.
Contribución a DocumentDB
Como proyecto de código abierto, DocumentDB da la bienvenida a las contribuciones de la comunidad. Puede contribuir mediante:
- Dar una estrella, hacer un fork y enviar pull requests en GitHub
- Informes de problemas o sugerencias de mejoras
- Participar en discusiones sobre el canal de #documentdb en el servidor de Discord de Microsoft OSS
Introducción a DocumentDB
Para empezar a usar DocumentDB localmente:
2. Clone el repositorio de DocumentDB.
git clone https://github.com/documentdb/documentdb.git
3. Cree la imagen de Docker. Vaya al repositorio clonado.
docker build . -f .devcontainer/Dockerfile -t documentdb
4. Ejecute la imagen de Docker como contenedor.
docker run -v $(pwd):/home/documentdb/code -it documentdb /bin/bash
5. Compile e implemente los archivos binarios.
cd code
make
sudo make install
6. Inicialice el servidor de DocumentDB y administre las dependencias.
./scripts/start_oss_server.sh -t documentdb
7. Conéctese al shell de psql.
psql -p 9712 -h localhost -d postgres
Después de seguir estos pasos, ya está todo configurado para usar DocumentDB localmente.
FAQs
¿Qué es DocumentDB y cómo se relaciona con Azure DocumentDB?
DocumentDB es una plataforma totalmente permisiva y de código abierto para almacenes de datos de documentos basados en el motor de PostgreSQL. Sirve como base para Azure DocumentDB, lo que proporciona una solución eficaz y flexible para las necesidades de base de datos NoSQL.
¿Cómo se comparan las licencias de DocumentDB con otras implementaciones de MongoDB?
DocumentDB usa la licencia MIT permisiva, que permite a los desarrolladores usar, modificar y distribuir el software sin restricciones de uso ni cuotas de licencia comerciales. Esto contrasta con algunas licencias públicas del lado servidor (SSPL) de algunos proveedores de MongoDB, que pueden limitar determinados usos.
¿Se puede usar DocumentDB en distintos proveedores de nube?
Sí, DocumentDB es independiente del proveedor y multinube. Basado en PostgreSQL, permite a los desarrolladores implementar sus aplicaciones en varios proveedores de nube o locales, evitando el bloqueo del proveedor y proporcionando flexibilidad para elegir la mejor infraestructura para sus necesidades.
¿Cuáles son las características clave de DocumentDB?
DocumentDB ofrece varias características clave, como el análisis y manipulación de documentos BSON, funcionalidades avanzadas de indexación (un solo campo, varias claves, compuestas, texto y geoespaciales), consultas de búsqueda vectorial con tecnología de pg_vector, mecanismos de autenticación, incluidos SCRAM, consultas geoespaciales mediante PostGIS, compatibilidad completa con Decimal128 y compatibilidad con regex mediante PCRE2.
¿Cómo pueden contribuir los desarrolladores a DocumentDB?
Los desarrolladores pueden contribuir a DocumentDB al presentar, bifurcar y enviar solicitudes de incorporación de cambios en GitHub, notificar problemas o sugerir mejoras, y participar en discusiones sobre el canal de #documentdb en el servidor de Microsoft OSS Discord.