Espacio de nombres jerárquico

En esta página, se proporciona una descripción general del espacio de nombres jerárquico, las funciones clave, los casos de uso comunes, los beneficios y las limitaciones que se deben tener en cuenta.

Descripción general

El espacio de nombres jerárquico es una función que ofrece Cloud Storage y que te permite organizar objetos en carpetas. Con el espacio de nombres jerárquico, puedes almacenar tus datos en una estructura de sistema de archivos lógica. Organizar tus datos en una estructura de sistema de archivos mejora el rendimiento, garantiza la coherencia y simplifica la administración de cargas de trabajo que consumen muchos datos y orientadas a archivos.

Las operaciones de administración de carpetas brindan confiabilidad y capacidades de administración, como crear, borrar, enumerar y cambiar el nombre de las carpetas. La organización jerárquica de los objetos simplifica la organización de los datos y optimiza las tareas de administración de datos. Una carpeta en un bucket con espacio de nombres jerárquico habilitado puede contener objetos, otras carpetas o una combinación de ambos.

Debes elegir si usar o no el espacio de nombres jerárquico cuando crees el bucket. No podrás cambiar la configuración del espacio de nombres jerárquico del bucket después de crearlo. Para obtener información sobre cómo habilitar el espacio de nombres jerárquico para tu bucket, consulta Crea y administra buckets con el espacio de nombres jerárquico habilitado.

En el siguiente diagrama, se muestra un ejemplo de un bucket con el espacio de nombres jerárquico habilitado en el que los objetos se organizan en una estructura jerárquica de carpetas.

Figura 1: Jerarquía de buckets con carpetas y objetos
Figura 1. Jerarquía de buckets con carpetas y objetos.

Características clave

El espacio de nombres jerárquico proporciona las siguientes funciones:

  • Consultas por segundo (QPS) iniciales más altas: Los buckets con espacio de nombres jerárquico habilitado ofrecen límites de QPS iniciales hasta 8 veces más altos para leer y escribir objetos en comparación con los buckets sin espacio de nombres jerárquicos habilitados. Las QPS iniciales más altas hacen que sea más fácil escalar cargas de trabajo con una gran cantidad de datos y proporcionan una capacidad de procesamiento mejorada. Para obtener información sobre los métodos de optimización del rendimiento cuando usas carpetas en buckets con el espacio de nombres jerárquico habilitado, consulta Administración de carpetas.

  • Carpetas: Las carpetas actúan como un contenedor de objetos y otras carpetas y admiten operaciones como crear, borrar y obtener carpetas.

  • Cambia el nombre de las carpetas: La operación para cambiar el nombre de las carpetas te ayuda a cambiar de forma atómica el nombre de la ruta de acceso de una carpeta y sus carpetas subyacentes sin borrar ningún objeto. Esta técnica es eficiente y te ahorra tiempo, especialmente para las carpetas grandes con varios objetos.

  • Enumera carpetas: La operación para enumerar carpetas enumera todas las carpetas en el bucket o en una carpeta específica, lo que te ayudará a administrar y comprender la estructura de los datos almacenados en un bucket.

Cuándo debes habilitar el espacio de nombres jerárquico para tu bucket

Considera habilitar el espacio de nombres jerárquico cuando uses aplicaciones que esperan una jerarquía y semántica similares a las de un sistema de archivos. El espacio de nombres jerárquico es beneficioso para tareas con grandes volúmenes de datos, como analítica, IA y cargas de trabajo de AA. Estos son algunos casos comunes en los que deberías considerar usar el espacio de nombres jerárquico:

  • Procesamiento basado en Hadoop: Las cargas de trabajo de Hadoop y Spark tradicionalmente esperan una estructura de almacenamiento similar a un sistema de archivos y una asignación de nombres basada en el tiempo para archivos y carpetas. El espacio de nombres jerárquico se integra en el conector de Cloud Storage para proporcionar una capacidad de procesamiento mejorada y cambios de nombre de carpetas atómicos, lo que mejora la coherencia y la integridad de los datos para muchas canalizaciones de procesamiento de datos.

  • Procesamiento de cargas de trabajo orientadas a archivos: Las cargas de trabajo como el procesamiento de análisis por lotes, los servicios financieros o la computación de alto rendimiento se estructuran en particiones según una jerarquía de carpetas y archivos. El espacio de nombres jerárquico ayuda a administrar estos entornos con una API dedicada para la administración de carpetas. Además, el espacio de nombres jerárquico simplifica la administración de carpetas que contienen otras carpetas y objetos. Con un solo comando de API, puedes renombrar rápidamente una carpeta junto con todo su contenido y, así, ahorrar tiempo y recursos valiosos.

  • Procesamiento de IA y AA: Las herramientas de IA y AA, como TensorFlow, Pandas y PyTorch, esperan semántica y acceso similares a los sistemas de archivos. El espacio de nombres jerárquico, en especial cuando se combina con Cloud Storage FUSE, proporciona mayor capacidad de procesamiento y acceso eficiente a los datos. Como resultado, el espacio de nombres jerárquico mejora el rendimiento y la confiabilidad de la iteración del modelo de AA.

Antes de habilitar el espacio de nombres jerárquico para tu bucket, debes considerar las limitaciones del espacio de nombres jerárquico. Para obtener información sobre las limitaciones de espacios de nombres jerárquicos, consulta Limitaciones.

Beneficios del espacio de nombres jerárquico

Cuando habilitas el espacio de nombres jerárquico para tus buckets, puedes realizar lo siguiente:

  • Optimizar la organización: Puedes organizar los datos en una estructura de carpeta jerárquica, que te ayuda a administrar y ubicar archivos o conjuntos de datos.

  • Establecer un ecosistema similar a un sistema de archivos: El espacio de nombres jerárquico presenta funciones similares a las del sistema de archivos, como carpetas, cambio de nombre de carpetas y enumeración de carpetas, que son beneficiosas para aplicaciones orientadas a archivos, incluidos el ecosistema de Hadoop y las cargas de trabajo de IA y AA.

  • Mejora del rendimiento: escalando las cargas de trabajo que consumen muchos datos para manejar una capacidad de procesamiento más grande, puedes mejorar el rendimiento general de tu aplicación.

Plataformas compatibles

Los buckets con espacios de nombres jerárquicos admiten las siguientes capacidades de la plataforma de Cloud Storage:

  • Todas las APIs de objetos de Cloud Storage y las funciones de Cloud Storage que más se usan. Para obtener detalles sobre las funciones no admitidas, consulta Limitaciones.

  • Transferencia de datos de un bucket estándar a un bucket con espacio de nombres jerárquico mediante el Servicio de transferencia de almacenamiento.

  • Integración con los siguientes productos:

Compatibilidad con las operaciones y funciones de Cloud Storage

Los buckets con el espacio de nombres jerárquico habilitado tienen las siguientes interacciones con otras operaciones de Cloud Storage:

Operaciones de objetos

Los buckets con espacio de nombres jerárquico habilitado controlan las operaciones de objetos de las siguientes maneras:

  • Operaciones como Upload, Rewrite y Compose crean automáticamente las carpetas superiores que faltan, siempre que tengas los permisos necesarios. Como resultado, no es necesario crear carpetas previamente antes de subir objetos.
  • Si bien las carpetas se pueden crear automáticamente durante las operaciones de objetos, debes borrarlas de forma explícita con la operación DeleteFolder.
  • Cuando se usa la operación ListObjects con el parámetro delimiter, los buckets muestran cada carpeta secundaria como un prefix.. Sin embargo, las carpetas vacías se excluyen de forma predeterminada. Para incluir carpetas vacías, similares a una lista de sistemas de archivos típicos, debes configurar el parámetro includeFoldersAsPrefixes. Para obtener información sobre los métodos de optimización del rendimiento mientras se enumeran objetos en buckets con espacio de nombres jerárquico habilitado, consulta Cómo enumerar objetos.

Operaciones de carpetas administradas

Los buckets con el espacio de nombres jerárquico habilitado controlan las operaciones de carpeta administrada de las siguientes maneras:

  • Los buckets con el espacio de nombres jerárquico habilitado ofrecen un control de acceso detallado a través de carpetas administradas. Para administrar el acceso dentro de una carpeta, debes crear una carpeta administrada con el mismo nombre que la carpeta y, luego, aplicarle políticas de IAM. Una carpeta administrada no puede existir sin la carpeta correspondiente.
  • Cuando creas una carpeta administrada, se crean automáticamente las carpetas superiores que faltan, incluso la carpeta con el mismo nombre.
  • Si borras una carpeta, se borrará automáticamente la carpeta administrada asociada.
  • Si cambias el nombre de una carpeta, se cambiará automáticamente el nombre de las carpetas administradas asociadas.
  • Los buckets con espacio de nombres jerárquico deben seguir las reglas de nombres de carpetas administradas y las reglas de nombres de carpetas. Si bien los nombres de carpetas se pueden anidar hasta 50 niveles de profundidad, los nombres de carpetas administradas solo se pueden anidar hasta 15 niveles de profundidad. El tamaño máximo del nombre de la carpeta administrada está limitado por el tamaño máximo del nombre de la carpeta, que es de 512 bytes cuando está codificado en UTF-8.

Operaciones de bucket

Puedes borrar un bucket con un espacio de nombres jerárquico habilitado de la misma manera que cualquier otro bucket. Si un bucket habilitado con espacio de nombres jerárquico solo contiene carpetas vacías y ningún objeto ni carpetas administradas, se puede borrar.

Administración del ciclo de vida de los objetos

La Administración del ciclo de vida de los objetos te permite automatizar acciones en los objetos según condiciones, como la antigüedad o el prefijo. Sin embargo, las reglas de la Administración del ciclo de vida de los objetos pueden comportarse de manera diferente en los buckets con espacio de nombres jerárquico y en los buckets con un espacio de nombres plano debido a la operación RenameFolder:

  • Reglas de la Administración del ciclo de vida de los objetos para buckets con un espacio de nombres plano: La operación de cambio de nombre implica cambiar el nombre de todos los objetos con herramientas, ya que se copia cada objeto en una ubicación de destino y se borra el objeto original de la ubicación de origen. Como resultado, se crean objetos nuevos con nuevos tiempos de creación en la ubicación de destino. Si se aplican reglas de Administración del ciclo de vida de los objetos objetosbasadas en la antigüedad para la ubicación de destino, no se aplicarán a los objetos nuevos de inmediato, ya que se restablecerán sus horas de creación.

  • Reglas de Administración del ciclo de vida de los objetos para buckets con espacio de nombres jerárquico habilitado: Cambiar el nombre de una carpeta funciona a nivel de la carpeta, sin tener que cambiar el nombre de cada objeto. Como resultado, se conserva la hora de creación de los objetos, lo que significa que las reglas de la Administración del ciclo de vida de los objetos basadas en la antigüedad se aplican a los objetos que cambiaron de nombre de inmediato si cumplen con los criterios de antigüedad.

Cómo administrar buckets con el espacio de nombres jerárquico habilitado

Puedes enumerar todos los buckets con el espacio de nombres jerárquico habilitado, independientemente de su diseño de almacenamiento. El diseño de almacenamiento de un bucket describe cómo se organizan los objetos dentro de un bucket, ya sea en un espacio de nombres plano o en un espacio de nombres jerárquico. Para obtener instrucciones sobre cómo ver el diseño de almacenamiento de un bucket, consulta Obtén el diseño de almacenamiento de un bucket. Para enumerar todos los buckets, sigue las instrucciones detalladas en Enumera buckets.

Puedes borrar un bucket con un espacio de nombres jerárquico habilitado de la misma manera que cualquier otro bucket. Para fines de eliminación, si un bucket con espacio de nombres jerárquico habilitado solo contiene carpetas vacías y ningún objeto ni carpetas administradas, el bucket se considera vacío. Si quieres obtener instrucciones para borrar buckets, consulta Borra buckets.

Precios

Para obtener información sobre los precios, consulta Precios de Cloud Storage.

Limitaciones

Las siguientes son las limitaciones del espacio de nombres jerárquico:

  • Debes elegir si usar o no el espacio de nombres jerárquico cuando crees el bucket. No podrás cambiar la configuración del espacio de nombres jerárquico del bucket después de crearlo.

  • Para habilitar el espacio de nombres jerárquico, un bucket también debe habilitar el acceso uniforme a nivel del bucket.

  • Las siguientes capacidades de Cloud Storage no se admiten para los buckets que usan espacio de nombres jerárquico:

    • Autoclass
    • Control de versiones de los objetos
    • Bloqueo de retención de objetos
    • Bloqueo del bucket

¿Qué sigue?

Pruébalo tú mismo

Si es la primera vez que usas Google Cloud, crea una cuenta para evaluar el rendimiento de Cloud Storage en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.

Probar Cloud Storage gratis