Las bases de datos relacionales son y seguirán siendo por unos años mas, los repositorios de datos por excelencia cuando se requiere guardar información para una gran diversidad de proyectos. Sin embargo desde hace tiempo, se empezó hacer ruido con el concepto de «NoSQL» ¿Y qué es eso? Bueno pues ese concepto se refiere a la manera en cómo se puede guardar información en una base de datos, pero que no necesariamente tiene que almacenarse de la manera tradicional (tablas y relaciones por medio de llaves primarias).
Y es por eso que en este artículo nos toca hablar de DocumentDB, el servicio de bases de datos no relacionales de Microsoft Azure.
DocumentDB
El servicio de DocumentDB nos permite almacenar información en la nube de Microsoft de manera no relacional. Estas son algunas de sus características:
- JavaScript Core: El motor de ejecución de consultas de DocumentDB está basado en JavaScript completamente. Objetos ya conocidos en SQL Server como procedimientos almacenados, funciones o triggers también se encuentran en DocumentDB.
- Consultas con sintaxis SQL: DocumentDB soporta SQL tal cual como si trabajáramos desde SQL Server, por lo que al momento de extraer o procesar información, el ambiente nos será muy familiar.
- Administración supervisada: Esto significa que podemos administrar roles y permisos para usuarios en particular.
- Estructura: Todas las entidades almacenadas en DocumentDB mantienen el formato Json de manera nativa.
- Escalabilidad: DocumentDB se encuentra en la nube de Microsoft Azure, por lo que almacenamiento y rendimiento se regulan a través del tiempo de acuerdo a las necesidades llegando al orden de petabytes sin problemas.
- Tipo documental: Se utilizan elementos denominados documentos, no tablas.
El modelo de recursos por el cual funciona DocumentDB es el siguiente:
Data Base Account (Cuenta de base de datos)
Se refiere a la cuenta principal con lo que se administra la base de datos DocumentDB.
DataBase (Base de Datos)
Es el contenedor lógico de usuarios, segmentado por colecciones.
Collection (Colección)
Contenedor de documentos JSON.
Document (Documento)
Objetos CRUD (Create, Read, Update, Delete) por colección.
Attachments / Media (Archivos adjuntos)
Almacenamiento binario con Blobs.
Store Procedures, Triggers and Functions (Procedimientos almacenados, desencadenadores y funciones)
Lógica de la aplicación que se ejecuta en la base de datos, escrito completamente en JavaScript.
Users (Usuarios)
Nombre de espacio lógico para alcances de permisos.
Permissions (Permisos)
Control de acceso a recursos específicos por medio de tokens de autorización.
En siguientes artículos hablaré mas de este interesante servicio.
Sigueme en Twitter @vmorenoz
¿Te gustó este artículo? Únete a Facebook en MicrosoftLand