Espacio de nombres jerárquico

El espacio de nombres jerárquico es una función que ofrece Cloud Storage y que te permite organizar objetos en carpetas y almacenar tus datos en una estructura lógica de sistema de archivos, lo que facilita la optimización de las tareas de administración de datos. El espacio de nombres jerárquico proporciona la semántica de directorio de alto rendimiento y las operaciones de carpetas atómicas que se requieren para acelerar las cargas de trabajo de IA/AA y Analytics con uso intensivo de datos.

En esta página, se proporciona una descripción general del espacio de nombres jerárquico, incluidas sus características clave, casos de uso comunes, beneficios y limitaciones.

Cómo funciona

Para usar carpetas en un bucket, debes habilitar 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. Una carpeta en un bucket con espacio de nombres jerárquico habilitado puede contener objetos y carpetas secundarias.

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 características:

  • 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 espacios 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 mientras usas carpetas en buckets con 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. Almacenar tus datos en una estructura de carpetas mejora el rendimiento, garantiza la coherencia y simplifica la administración de cargas de trabajo que consumen muchos datos y orientadas a archivos.

  • Operaciones de carpetas: Las operaciones de carpetas brindan confiabilidad y capacidades de administración , como crear, borrar, enumerar y cambiar el nombre de las 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.

¿Cuándo deberías usar el espacio de nombres jerárquico?

Considera habilitar el espacio de nombres jerárquico cuando trabajes con aplicaciones que esperan una jerarquía y semántica de sistema de archivos. El espacio de nombres jerárquico es beneficioso para tareas con grandes volúmenes de datos, como analítica y cargas de trabajo de IA/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 de 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/AA: Las herramientas de IA/AA, como TensorFlow, Pandas y PyTorch, esperan semántica y control de acceso de sistema 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 de sistema de archivos: El espacio de nombres jerárquico presenta funciones de 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/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 compatibles, 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:

Cómo se controlan las operaciones de objetos en buckets con carpetas

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

  • Las operaciones como Upload, Rewrite y Compose crean automáticamente las carpetas superiores faltantes, siempre que tengas los permisos necesarios. Como resultado, no necesitas 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 DeleteFolder operación.
  • Cuando usas 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, de manera similar a una lista de sistema de archivos típica, debes configurar el parámetro includeFoldersAsPrefixes. Para obtener información sobre los métodos de optimización del rendimiento mientras enumeras objetos en buckets con espacio de nombres jerárquico habilitado, consulta Enumeración de objetos.

Cómo se controlan las carpetas administradas en buckets con carpetas

Los buckets con el espacio de nombres jerárquico habilitado ofrecen un control de acceso detallado cuando se usan con carpetas administradas. En los buckets con el espacio de nombres jerárquico habilitado, la carpeta es el directorio real que contiene tus datos, mientras que la carpeta administrada es un recurso especializado que se usa para aplicar permisos de IAM detallados a ese directorio. Para administrar el acceso a las carpetas, debes crear una carpeta administrada con el mismo nombre que la carpeta y, luego, aplicarle políticas de IAM.

Las carpetas administradas se controlan de las siguientes maneras en buckets con el espacio de nombres jerárquico habilitado.

  • Cuando se crea una carpeta administrada, se crean automáticamente todas las carpetas superiores faltantes, incluida la carpeta con el mismo nombre. Por ejemplo, supongamos que tienes un bucket vacío con el espacio de nombres jerárquico habilitado llamado example-ai-datasets. Si creas una carpeta administrada dentro de example-ai-datasets llamada 2025/training-data/, Cloud Storage crea automáticamente la carpeta superior folder 2025/ y la carpeta de destino training-data/.
  • Una carpeta administrada no puede existir sin la carpeta asociada.
  • Cuando se borra una carpeta, se borra automáticamente la carpeta administrada asociada.
  • Cuando se cambia el nombre de una carpeta, se cambia automáticamente el nombre de la carpeta administrada asociada.
  • 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 las carpetas se pueden anidar hasta 50 niveles de profundidad, los nombres de las 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 se codifica en UTF-8.

Cómo se controlan las operaciones de bucket en buckets con carpetas

En las siguientes secciones, se describe cómo se controlan las operaciones de bucket cuando se habilita el espacio de nombres jerárquico.

  • Puedes enumerar todos los buckets con el espacio de nombres jerárquico habilitado, sin importar 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 buckets con el espacio de nombres jerárquico habilitado siempre que el bucket esté vacío. Los buckets vacíos no contienen objetos ni carpetas administradas. Los buckets vacíos pueden contener carpetas vacías (sin objetos dentro).

Cómo se controlan las reglas de Administración del ciclo de vida de los objetos en buckets con carpetas

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

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 de bucket.

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

    • Bloqueo del bucket
    • Reubicación de buckets
    • Replicación entre bucket
    • Conservaciones de objetos
    • Bloqueo de retención de objetos
    • Control de versiones de objetos

¿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 e implementar cargas de trabajo.

Probar Cloud Storage gratis