Exportar (0) Imprimir
Expandir todo

Migrar datos al almacenamiento de Tabla de Azure

Actualizado: mayo de 2014

El almacenamiento de Tabla ofrece un almacenamiento estructurado no relacional escalable de forma masiva en la nube. Una tabla de Azure es una colección de entidades (filas). Una entidad puede tener hasta 255 propiedades (columnas) donde cada propiedad tiene atributos de nombre, tipo y valor. Cada entidad de una tabla tiene tres propiedades reservadas: PartitionKey, RowKey y Timestamp. El almacenamiento de Tabla usa la clave de partición para crear particiones o distribuir entidades entre nodos de Almacenamiento de Azure. Una partición del almacenamiento de Tabla contiene entidades con la misma clave de partición. Una clave de fila identifica de manera única una entidad dentro de la partición y la marca de tiempo es una propiedad de solo lectura mantenida por el sistema para realizar el seguimiento de los cambios. El almacenamiento de Tabla no requiere definir un esquema para las entidades de una tabla. Una tabla puede tener entidades que contienen un conjunto de propiedades diferente. Para obtener información general detallada sobre el almacenamiento de Tabla, vea Portal de Azure.

Autores: Sreedhar Pelluru
Colaboradores: James Podgorski
Revisores: Valery Mizonov, Kun Cheng, Steve Howard

A la hora de migrar aplicaciones para que usen almacenamiento de Tabla de Azure, hay que tener en cuenta diversos factores como los siguientes.

  • ¿Qué tipo de datos se pueden almacenar en el almacenamiento de Tabla?

  • ¿Cómo se puede obtener acceso a los datos almacenados en el almacenamiento de Tabla desde la aplicación migrada?

  • ¿Admite el almacenamiento los requisitos de alta disponibilidad, escalabilidad, recuperación ante desastres y seguridad de la aplicación migrada?

  • ¿Cómo se cargan los datos existentes en el almacenamiento de Tabla?

El primer paso que hay que realizar en el proceso de migración consiste en determinar si el almacenamiento de Tabla está indicado para almacenar los datos que la aplicación local emplea. El almacenamiento de Tabla está optimizado para almacenar datos que cumple los requisitos siguientes.

  • Los datos están estructurados y suelen almacenarse en formato tabular.

  • Los datos son no relacionales. Los datos que piensa almacenar en una tabla no están relacionados con datos de otras tablas. El almacenamiento de Tabla de Azure no admite almacenar datos relacionales mediante mecanismos como integridad referencial en bases de datos. El almacenamiento de Tabla está optimizado para almacenar datos estructurados no relacionales.

  • Los datos no necesitan procesamiento en el lado servidor. Asegúrese de que los datos no necesiten ningún procesamiento en el lado servidor como combinaciones, procedimientos almacenados y desencadenadores, que una base de datos relacional admite. El almacenamiento de Tabla no admite el procesamiento en el lado servidor. Admite operaciones básicas como inserciones, actualizaciones, eliminaciones y selecciones con filtrado simple en el lado servidor por PartitionKey y RowKey.

  • Los datos están principalmente indizados y se buscan mediante un valor o una clave de búsqueda. La clave de partición identifica la partición y la clave de fila identifica una fila única dentro de la partición. La clave de partición y la clave de fila conjuntamente identifican una entidad de la tabla. Después de determinar que el almacenamiento de Tabla es adecuado para almacenar los datos, evalúe qué parte de los datos puede usar como clave de partición de la tabla. Vea Diseñar una estrategia escalable de partición para el almacenamiento de Tabla de Azure.

  • Los datos se pueden ordenar usando los tipos de datos que el almacenamiento de Tabla admite. Los tipos de datos admitidos para el almacenamiento de Tabla son: String, Byte Array, GUID, DateTime, Int32, Int64, Double y Boolean.

  • Los datos no necesitan transacciones entre particiones. El almacenamiento de Tabla no admite transacciones distribuidas o entre particiones; solo admite transacciones de grupos de entidades. Por tanto, es importante elegir la clave de partición correcta y almacenar los datos relacionados en la misma partición. Por ejemplo, quizás desee almacenar en la misma partición información sobre un cliente y los pedidos que realiza para poder actualizar la información del cliente y la información de pedidos dentro de una sola transacción para lograr integridad de datos.

  • (Opcional) El tamaño de datos puede crecer hasta llegar a ser de varios gigabytes o terabytes. El tamaño máximo de una tabla de Azure es 200 TB, que es realmente el límite de tamaño de Almacenamiento de Azure (incluye tablas, blobs y colas).

  • (Opcional) Los datos almacenados en una fila pueden ser diferentes en cuanto a estructura y tipo que los datos almacenados en otra fila de la tabla. El almacenamiento de Tabla de Azure no requiere definir un esquema fijo para las filas o las entidades. Por tanto, puede almacenar distintos tipos de datos de la misma tabla. Por ejemplo, puede almacenar información de pedido en una fila e información de cliente en otra fila de la misma tabla.

El almacenamiento de Tabla almacena datos estructurados al igual que Base de datos SQL de Azure. Por tanto, al migrar aplicaciones locales a la plataforma Azure suele surgir una duda entre si usar almacenamiento de Tabla o Base de datos SQL. La diferencia principal entre Base de datos SQL y almacenamiento de Tabla es: Base de datos SQL es un sistema de administración de bases de datos relacionales que proporciona capacidades de procesamiento de datos mediante combinaciones, vistas y procedimientos almacenados, mientras que el almacenamiento de Tabla de Azure no es un almacén de datos relacional y no proporciona capacidades de procesamiento de datos que Base de datos SQL admite.

Si la aplicación almacena y recupera conjuntos de datos grandes pero no necesita procesamiento de datos, la Tabla de Azure es una opción mejor y si la aplicación necesita procesamiento de datos en conjuntos de datos grandes y es relacional por naturaleza, Base de datos SQL es una opción mejor. Antes de decidir entre usar Base de datos SQL y el almacenamiento de Tabla de Azure hay que tener en cuenta otros factores. Vea la tabla comparativa del tema Información general sobre los servicios de administración de datos de Windows Azure para obtener una comparación más detallada.

Las aplicaciones cliente escritas en cualquier lenguaje de programación y que se ejecutan en cualquier sistema operativo pueden obtener acceso al almacenamiento de Tabla de Azure mediante la API REST de HTTP(S). También se puede tener acceso al almacenamiento de Tabla mediante bibliotecas de cliente destinadas a determinados sistemas operativos y lenguajes de programación. Existen bibliotecas para .NET, Node.js, Java y PHP, y se pueden descargar desde el Centro para desarrolladores de Azure. Por ejemplo, la Biblioteca de cliente de almacenamiento .NET proporciona contenedores .NET fuertemente tipados de la API REST para simplificar el desarrollo.

Si la aplicación local existente usa datos estructurados pero no relacionales y considera la posibilidad de usar el almacenamiento de Tabla para almacenar esos datos en la plataforma Azure, deberá volver a escribir la parte del código que tiene acceso a los datos mediante la Biblioteca de cliente de almacenamiento.

El almacenamiento de los datos en el almacenamiento de Tabla de Azure aporta automáticamente varias ventajas importantes como las siguientes:

  • Escalabilidad: El sistema de Almacenamiento de Azure distribuye automáticamente las particiones entre todos los nodos de almacenamiento según los patrones de uso de las particiones. Por ejemplo, si hay mucho tráfico en algunas de las particiones, el sistema las separa automáticamente en nodos de almacenamiento diferentes para repartir la carga del tráfico entre varios servidores. Para obtener más información, lea el artículo "Azure Storage Scalability and Performance Targets" (Objetivos de escalabilidad y rendimiento del almacenamiento de Azure).

  • Alta disponibilidad y tolerancia a errores: las tablas almacenadas en Azure se almacenan en tres copias replicadas del mismo centro de datos para lograr resistencia frente a errores de hardware. Independientemente del servicio de almacenamiento que use, los datos se replican en diferentes dominios con tolerancia a errores para aumentar la disponibilidad.

  • Recuperación ante desastres: las tablas de Azure también se replican entre dos centros de datos geográficamente alejados entre sí en el mismo continente para proporcionar una durabilidad adicional de los datos en caso de que se produzca un desastre importante.

  • Seguridad: todas las solicitudes que realice a los servicios de almacenamiento de Azure deben estar autenticadas, a menos de que se trate de una solicitud anónima para un recurso de contenedor público. Vea "Administrar el acceso a los recursos de almacenamiento de Azure" para saber más detalles.

  • Acceso a datos desde cualquier cliente, en cualquier lugar: se puede tener acceso al almacenamiento con la API REST mediante HTTP(S). Por tanto, cualquier aplicación cliente en cualquier sistema operativo puede tener acceso al almacenamiento de Tabla mediante REST.

Una vez rediseñada la aplicación para aprovechar el almacenamiento de Tabla no relacional y escalable de forma masiva, quizás necesite transferir datos existentes desde un Sistema de archivos o una base de datos de SQL Server al almacenamiento de Tabla. Para ello, puede escribir código mediante la API REST de HTTP(S) o la Biblioteca de cliente .NET para el almacenamiento de Tabla o usar herramientas como las siguientes:

Mostrar:
© 2014 Microsoft