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.
En este artículo se describen los criterios de comparación que se usarán al evaluar un almacén de datos. El objetivo es ayudarle a determinar qué tipos de almacenamiento de datos pueden cumplir los requisitos de la solución.
Consideraciones generales
Tenga en cuenta las siguientes consideraciones al realizar la selección.
Requisitos funcionales
- Formato de datos: ¿Qué tipo de datos desea almacenar? Entre los tipos comunes se incluyen datos transaccionales, objetos JSON, telemetría, índices de búsqueda o archivos planos.
- Tamaño de los datos: ¿Qué tamaño son las entidades que necesita almacenar? ¿Deben mantenerse estas entidades como un único documento o se pueden dividir entre varios documentos, tablas y colecciones?
- Escala y estructura: ¿Cuál es la cantidad general de capacidad de almacenamiento que necesita? ¿Prevé la creación de particiones de los datos?
- Relaciones de datos: ¿Los datos deben admitir relaciones de uno a varios o varios a varios? ¿Las relaciones son una parte importante de los datos? ¿Necesitará unir o combinar datos dentro del mismo conjunto de datos o de conjuntos externos?
- Modelo de coherencia: ¿Qué importancia tiene para que las actualizaciones realizadas en un nodo aparezcan en otros nodos antes de realizar más cambios? ¿Puede aceptar una coherencia definitiva? ¿Necesita garantías ACID para las transacciones?
- Flexibilidad de esquema: ¿Qué tipo de esquemas se aplicará a los datos? ¿Usará un esquema fijo, un enfoque de esquema basado en escritura o un enfoque de esquema basado en lectura?
- Simultaneidad: ¿Qué tipo de mecanismo de simultaneidad desea usar al actualizar y sincronizar datos? ¿La aplicación realizará muchas actualizaciones que podrían entrar en conflicto? Si es así, puede requerir el bloqueo de registros y el control de simultaneidad pesimista. Como alternativa, ¿puede admitir controles de simultaneidad pesimista? En su caso, ¿basta con un control de simultaneidad sencillo basado en marcas de tiempo o necesita la funcionalidad agregada del control de simultaneidad de varias versiones?
- Movimiento de datos: ¿La solución necesitará realizar tareas de ETL para mover datos a otros almacenes o almacenes de datos?
- Ciclo de vida de los datos: ¿Se escriben los datos una vez y se leen muchas veces? ¿Pueden moverse a un almacenamiento de acceso esporádico o en frío?
- Otras características admitidas: ¿Necesita otras características específicas, como la validación de esquemas, la agregación, la indexación, la búsqueda de texto completo, MapReduce u otras funcionalidades de consulta?
Requisitos no funcionales
- Rendimiento y escalabilidad: ¿Cuáles son los requisitos de rendimiento de los datos? ¿Tiene requisitos específicos para las tasas de ingesta de datos y las tasas de procesamiento de datos? ¿Cuáles son los tiempos de respuesta aceptables para consultar y agregar datos después de ingerirlos? ¿Cuánto tamaño necesitará el almacén de datos para escalar verticalmente? ¿Es su carga de trabajo más centrada en la lectura o en la escritura?
- confiabilidad: ¿Qué acuerdo general de nivel de servicio necesita admitir? ¿Qué nivel de tolerancia a errores necesita proporcionar para los consumidores de datos? ¿Qué tipo de funcionalidades de copia de seguridad y restauración necesita?
- Replicación: ¿Los datos deben distribuirse entre varias réplicas o regiones? ¿Qué tipo de funcionalidades de replicación de datos necesita?
- Límites: ¿Los límites de un almacén de datos determinado admiten los requisitos de escala, número de conexiones y rendimiento?
Administración y costo
- Servicio administrado: cuando sea posible, use un servicio de datos administrados, a menos que necesite funcionalidades específicas que solo se puedan encontrar en un almacén de datos hospedado en infraestructura como servicio (IaaS).
- Disponibilidad de regiones: en el caso de los servicios administrados, ¿el servicio está disponible en todas las regiones de Azure? ¿Es necesario hospedar la solución en determinadas regiones de Azure?
- Portabilidad: ¿Los datos deben migrarse a centros de datos locales, externos u otros entornos de hospedaje en la nube?
- Licencias: ¿Tiene alguna preferencia entre un tipo de licencia propietaria y una de código abierto? ¿Existen otras restricciones externas sobre qué tipo de licencia puede usar?
- Costo total: ¿Cuál es el costo general del uso del servicio dentro de la solución? ¿Cuántas instancias necesitan ejecutarse para cumplir con los requisitos de disponibilidad y rendimiento? Considere los costos de las operaciones en este cálculo. Una razón para preferir los servicios administrados es el costo operativo reducido.
- Rentabilidad: ¿Puede crear particiones de los datos para almacenarlos de forma más rentable? Por ejemplo, ¿puede mover objetos grandes de una base de datos relacional costosa a un almacén de objetos?
Seguridad
- Seguridad: ¿Qué tipo de cifrado necesita? ¿Necesita cifrado en reposo? ¿Qué mecanismo de autenticación desea usar para conectarse a los datos?
- Auditoría: ¿Qué tipo de registro de auditoría necesita generar?
- Requisitos de red: ¿Necesita restringir o administrar el acceso a los datos de otros recursos de red? ¿Solo es necesario acceder a los datos desde dentro del entorno de Azure? ¿Es necesario acceder a los datos desde direcciones IP o subredes específicas? ¿Necesita ser accesible desde aplicaciones o servicios hospedados en el entorno local o en otros centros de datos externos?
DevOps
- Conjunto de aptitudes: ¿Hay lenguajes de programación, sistemas operativos u otra tecnología que el equipo esté usando? ¿Hay otros que sean difíciles de trabajar con su equipo?
- Clientes: ¿Hay buen soporte al cliente para sus lenguajes de desarrollo?
Pasos siguientes
- Servicios y soluciones de almacenamiento en la nube de Azure
- Revisión de las opciones de almacenamiento
- Introducción a Azure Storage