Administre y busque datos con Índice de blob para Azure Storage, ahora en versión preliminar

Publicado el 4 mayo, 2020

Program Manager, Azure Storage

 

Ya está disponible en versión preliminar la característica Índice de blob, un índice secundario administrado que permite almacenar atributos de objetos multidimensionales con el fin de describir objetos de datos para Azure Blob Storage. Índice de blob, que se basa en Blob Storage, ofrece confiabilidad, disponibilidad y rendimiento constantes para todas las cargas de trabajo. Índice de blob proporciona funcionalidad nativa de filtrado y administración de objetos, lo que permite clasificar y buscar datos en función de las etiquetas de atributo establecidas en los datos.

Administre y busque datos con Índice de blob

A medida que aumenta el tamaño de los conjuntos de datos, buscar objetos relacionados específicos en un mar de datos puede resultar difícil y frustrante. Antes los clientes usaban la API ListBlobs para recuperar 5000 registros lexicográficos a la vez, analizar la lista y repetir la operación hasta encontrar los blobs que buscaban. Algunos usuarios también han recurrido a administrar una tabla de búsqueda aparte para buscar objetos específicos. Estas tablas aparte pueden quedarse sin sincronizar, lo que aumenta el costo, la complejidad y la frustración. Los clientes no deberían tener que preocuparse por la organización de los datos ni la administración de las tablas de índices, sino que deberían dedicarse a crear aplicaciones eficaces para desarrollar su negocio.

Índice de blob alivia el problema de administración y consulta de los datos, ya que admite todos los tipos de blobs (en bloques, en anexos y en páginas). Índice de blob se expone a través de API y un punto de conexión de Blob Storage ya conocidos, lo que permite almacenar y acceder fácilmente a los datos y a los índices de clasificación en el mismo servicio para reducir la complejidad de la aplicación.

Para rellenar el índice de blob, debe definir atributos de etiqueta clave-valor en los datos, ya sea en los datos nuevos durante la carga o en los datos que ya están en la cuenta de almacenamiento. Estas etiquetas de índice de blob se almacenan junto con los datos del blob subyacentes. A continuación, el motor de indexación de blobs lee automáticamente las nuevas etiquetas, las indexa y las expone en un índice de blob que el usuario puede consultar. Después, se pueden usar Azure Portal, API REST o SDK para emitir una llamada API FindBlobsByTags y especificar un conjunto de criterios. Blob Storage devolverá un conjunto de resultados filtrado que solo consta de los blobs que cumplen los criterios de búsqueda.

El escenario siguiente es un ejemplo de cómo funciona Índice de blob:

  1. En un contenedor de cuentas de almacenamiento con un millón de blobs, un usuario carga un nuevo blob (B2) con las siguientes etiquetas de índice de blob: <Estado = Sin procesar, Calidad = 8000, Origen = > RAW>.
  2. El blob y sus etiquetas de índice de blob se conservan en la cuenta de almacenamiento y el motor de indexación de cuentas expone el nuevo índice de blob poco después.
  3. Más adelante, una aplicación de codificación quiere buscar todos los archivos multimedia sin procesar que tengan al menos una calidad de resolución de 4000. Emite una llamada API FindBlobs para buscar todos los blobs que coincidan con los siguientes criterios: <Estado = Sin procesar Y Calidad > = 4000 Y Estado == RAW>.
  4. Rápidamente, el índice de blob devuelve solo el blob “B2”, que es el único entre un millón de blobs que coincide con los criterios especificados. La aplicación de codificación puede iniciar rápidamente el trabajo de procesamiento, lo que ahorra tiempo de proceso inactivo y dinero.

 

Ejemplo general de Índice de blob.

Integración de las características de la plataforma con Índice de blob

Índice de blob no solo ayuda a clasificar, administrar y buscar datos de blobs, sino que también proporciona integración con otras características de Blob service, como la administración del ciclo de vida.

Usando el nuevo blobIndexMatch como filtro, puede mover datos a niveles de acceso menos frecuente o eliminarlos en función de las etiquetas aplicadas a los blobs. Esto permite tener reglas más pormenorizadas y mover o eliminar solo los datos que coincidan con los criterios que especifique.

La siguiente directiva de administración del ciclo de vida de ejemplo se aplica a los blobs en bloques del contenedor “videofiles” y guarda los objetos en Archive Storage después de un día solo si los blobs coinciden con la etiqueta de índice de blob de Estado = “Procesado” y Origen = “RAW”.

Ejemplo de regla de administración del ciclo de vida con blobIndexMatch.

La integración de la administración del ciclo de vida con Índice de blob es solo el principio. Pronto se agregarán más integraciones con otras características de la plataforma de blobs.

Operaciones de blobs condicionales con etiquetas de índice de blob

En las versiones 2019-10-10 y posteriores de REST, la mayoría de las API de Blob service admiten ahora un nuevo encabezado condicional (x-ms-if-tags), de modo que la operación solo se realizará correctamente si se cumple la condición de etiquetas de índice de blob especificada. Si no se cumple la condición, la operación dará error y no se modificará el blob. Esta funcionalidad por índice de blob puede ayudar a asegurar que las operaciones de datos se realicen únicamente en blobs etiquetados explícitamente y puede proteger frente a la eliminación o modificación involuntarias por parte de aplicaciones multiproceso.

Cómo empezar

Para inscribirse en la versión preliminar de Índice de blob, envíe una solicitud para registrar esta característica en su suscripción. Para ello, ejecute los siguientes comandos de PowerShell o de la CLI:

Registro mediante PowerShell

Register-AzProviderFeature -FeatureName BlobIndex -ProviderNamespace Microsoft.Storage

Register-AzResourceProvider -ProviderNamespace Microsoft.Storage

Registro mediante la CLI de Azure

az feature register --namespace Microsoft.Storage --name BlobIndex

​az provider register --namespace 'Microsoft.Storage'

Una vez aprobada su solicitud, cualquier cuenta de almacenamiento actual o nueva de uso general v2 (GPv2) en las regiones Centro de Francia y Sur de Francia podrá aprovechar la característica Índice de blob. Al igual que con la mayoría de las versiones preliminares, se recomienda no usar esta característica para las cargas de trabajo de producción hasta que la solución esté disponible con carácter general.

Créelo, úselo y cuéntenoslo

Una vez que se haya registrado y se haya aprobado su participación en la versión preliminar, podrá empezar a aprovechar todo lo que Índice de blob tiene para ofrecer, estableciendo etiquetas en los datos nuevos o actuales, buscando datos en función de las etiquetas y estableciendo directivas de administración del ciclo de vida enriquecidas con filtros basados en las etiquetas. Si desea obtener más información, consulte Administración y búsqueda de datos en Azure Blob Storage con Índice de blob.

Tenga en cuenta que a los clientes se les cobra el número total de etiquetas de índice de blob dentro de una cuenta de almacenamiento, que se promedia a lo largo del mes. Las solicitudes de SetBlobTags, GetBlobTags y FindBlobsByTags se cobran según sus tipos de operación respectivos. El motor de indización no tiene ningún costo. Consulte Precios de los blobs en bloques para obtener más información.

Seguiremos mejorando las características y esperamos recibir sus comentarios sobre Índice de blob u otras características a través del correo electrónico BlobIndexPreview@microsoft.com. No olvide que nos encanta conocer todas sus ideas y sugerencias sobre Azure Storage, que puede exponer en el foro de comentarios de Azure Storage.