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 gestión de datos. El espacio de nombres jerárquico proporciona la semántica de directorios de alto rendimiento y las operaciones de carpetas atómicas necesarias para acelerar las cargas de trabajo de analíticas y de IA o aprendizaje automático que requieren muchos datos.

En esta página se ofrece una descripción general del espacio de nombres jerárquico, incluidas sus funciones clave, los casos prácticos habituales, las ventajas y las limitaciones.

Cómo funciona

Para usar carpetas en un segmento, debes habilitar el espacio de nombres jerárquico al crear el segmento. El ajuste del espacio de nombres jerárquico de tu segmento no se puede cambiar una vez creado el segmento. Para obtener información sobre cómo habilitar el espacio de nombres jerárquico en un segmento, consulta Crear y gestionar segmentos con el espacio de nombres jerárquico habilitado.

En el siguiente diagrama se muestra un ejemplo de un contenedor con el espacio de nombres jerárquico habilitado, en el que los objetos se organizan en una estructura jerárquica de carpetas. Una carpeta de un contenedor con el espacio de nombres jerárquico habilitado puede contener tanto objetos como subcarpetas.

Figura 1. Jerarquía de segmentos con carpetas y objetos.
Imagen 1. Jerarquía de segmentos con carpetas y objetos.

Características principales

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

  • Mayor número inicial de consultas por segundo (QPS): los segmentos con el espacio de nombres jerárquico habilitado ofrecen límites de QPS iniciales hasta 8 veces superiores para leer y escribir objetos en comparación con los segmentos que no tienen habilitado el espacio de nombres jerárquico. El mayor número de consultas por segundo inicial facilita el escalado de cargas de trabajo con un uso intensivo de datos y proporciona un mayor rendimiento. Para obtener información sobre los métodos de optimización del rendimiento al usar carpetas en los contenedores con el espacio de nombres jerárquico habilitado, consulta Gestión de carpetas.

  • Carpetas: las carpetas actúan como contenedores de objetos y otras carpetas, y admiten operaciones como crear, eliminar y obtener carpetas. Almacenar los datos en una estructura de carpetas mejora el rendimiento, asegura la coherencia y simplifica la gestión de cargas de trabajo que requieren muchos datos y archivos.

  • Operaciones con carpetas: las operaciones con carpetas proporcionan fiabilidad y funciones de gestión, como crear, eliminar, enumerar y cambiar el nombre de las carpetas.

    • Cambiar el nombre de las carpetas: esta operación te permite cambiar el nombre de la ruta de una carpeta y de sus subcarpetas de forma atómica sin eliminar ningún objeto. Esta técnica es eficiente y ahorra tiempo, sobre todo en carpetas grandes con varios objetos.

    • Listar carpetas: la operación de listar carpetas muestra todas las carpetas del cubo o de una carpeta específica, lo que te ayuda a gestionar y comprender la estructura de los datos almacenados.

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

Te recomendamos que habilites el espacio de nombres jerárquico cuando trabajes con aplicaciones que requieran una jerarquía y una semántica de sistema de archivos. El espacio de nombres jerárquico es útil para tareas que requieren muchos datos, como las analíticas y las cargas de trabajo de IA o aprendizaje automático. A continuación se indican algunos casos habituales en los que deberías considerar el uso de un espacio de nombres jerárquico:

  • Procesamiento basado en Hadoop: las cargas de trabajo de Hadoop y Spark suelen esperar una estructura de almacenamiento del sistema de archivos y una nomenclatura basada en el tiempo para los archivos y las carpetas. El espacio de nombres jerárquico se integra con el conector de Cloud Storage para proporcionar un mayor rendimiento y cambios de nombre de carpetas atómicos, lo que mejora la integridad y la coherencia de los datos en muchas canalizaciones de procesamiento de datos.

  • Procesamiento de cargas de trabajo orientadas a archivos: las cargas de trabajo, como el procesamiento de analíticas por lotes, los servicios financieros o la computación de alto rendimiento, se estructuran en particiones basadas en una jerarquía de carpetas y archivos. El espacio de nombres jerárquico ayuda a gestionar estos entornos con una API específica para la gestión de carpetas. Además, el espacio de nombres jerárquico simplifica la gestión de carpetas que contienen otras carpetas y objetos. Con un solo comando de API, puedes cambiar el nombre de una carpeta y de todo su contenido rápidamente, lo que te permite ahorrar tiempo y recursos valiosos.

  • Procesamiento de IA/ML: las herramientas de IA/ML, como TensorFlow, Pandas y PyTorch, requieren control de acceso y semántica del sistema de archivos. El espacio de nombres jerárquico, sobre todo cuando se combina con Cloud Storage FUSE, ofrece un mayor rendimiento y un acceso eficiente a los datos. Como resultado, el espacio de nombres jerárquico mejora el rendimiento y la fiabilidad de la iteración del modelo de aprendizaje automático.

Antes de habilitar el espacio de nombres jerárquico en un segmento, debes tener en cuenta sus limitaciones. Para obtener información sobre las limitaciones del espacio de nombres jerárquico, consulta Limitaciones.

Ventajas del espacio de nombres jerárquico

Cuando habilitas el espacio de nombres jerárquico en tus segmentos, puedes hacer lo siguiente:

  • Optimizar la organización: puede organizar sus datos en una estructura de carpetas jerárquica que le ayude a gestionar y localizar archivos o conjuntos de datos.

  • Establecer un ecosistema de sistema de archivos: el espacio de nombres jerárquico introduce funciones del sistema de archivos, como carpetas, cambio de nombre de carpetas y listado de carpetas, que son útiles para las aplicaciones orientadas a archivos, incluido el ecosistema de Hadoop y las cargas de trabajo de IA/ML.

  • Mejora del rendimiento: al escalar las cargas de trabajo con gran cantidad de datos para gestionar un mayor rendimiento, puedes mejorar el rendimiento general de tu aplicación.

Plataformas compatibles

Los segmentos con espacio de nombres jerárquico admiten las siguientes funciones de la plataforma Cloud Storage:

  • Todas las APIs de objetos de Cloud Storage y las funciones de Cloud Storage más utilizadas. Para obtener más información sobre las funciones no admitidas, consulta Limitaciones.

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

  • Integración con los siguientes productos:

Compatibilidad con operaciones y funciones de Cloud Storage

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

Cómo se gestionan las operaciones de objetos

Los segmentos con el espacio de nombres jerárquico habilitado gestionan las operaciones de objetos de las siguientes formas:

  • Las operaciones como Upload, Rewrite y Compose crean automáticamente las carpetas superiores que falten, siempre que tengas los permisos necesarios. Por lo tanto, no es necesario crear carpetas antes de subir objetos.
  • Aunque las carpetas se pueden crear automáticamente durante las operaciones de objetos, debes eliminarlas explícitamente mediante la operación DeleteFolder.
  • Cuando se usa la operación ListObjects con el parámetro delimiter, los contenedores devuelven cada carpeta secundaria como un prefix.. Sin embargo, las carpetas vacías se excluyen de forma predeterminada. Para incluir carpetas vacías, de forma similar a un listado de sistema de archivos típico, debe definir el parámetro includeFoldersAsPrefixes. Para obtener información sobre los métodos de optimización del rendimiento al enumerar objetos en contenedores con el espacio de nombres jerárquico habilitado, consulta Enumerar objetos.

Cómo se gestionan las carpetas gestionadas

Los contenedores con el espacio de nombres jerárquico habilitado ofrecen un control de acceso granular cuando se usan con carpetas gestionadas. En los segmentos con el espacio de nombres jerárquico habilitado, la carpeta es el directorio real que contiene tus datos, mientras que la carpeta gestionada es un recurso especializado que se usa para aplicar permisos de gestión de identidades y accesos granulares a ese directorio. Para gestionar el acceso a las carpetas, debes crear una carpeta gestionada con el mismo nombre que la carpeta y, a continuación, aplicarle políticas de gestión de identidades y accesos.

Las carpetas gestionadas se gestionan de las siguientes formas en los segmentos con el espacio de nombres jerárquico habilitado.

  • Si creas una carpeta gestionada, se crearán automáticamente las carpetas principales que falten, incluida la carpeta con el mismo nombre. Por ejemplo, supongamos que tienes un segmento vacío con el espacio de nombres jerárquico habilitado llamado example-ai-datasets. Si creas una carpeta gestionada en example-ai-datasets llamada 2025/training-data/, Cloud Storage crea automáticamente la carpeta principal 2025/ y la carpeta de destino training-data/.
  • Una carpeta gestionada no puede existir sin la carpeta asociada.
  • Si eliminas una carpeta, se eliminará automáticamente la carpeta gestionada asociada.
  • Si cambias el nombre de una carpeta, se cambiará automáticamente el nombre de la carpeta gestionada asociada.
  • Los segmentos con espacio de nombres jerárquico deben seguir las reglas de nomenclatura de carpetas gestionadas y las reglas de nomenclatura de carpetas. Aunque los nombres de las carpetas pueden anidarse hasta 50 niveles, los nombres de las carpetas gestionadas solo pueden anidarse hasta 15 niveles. El tamaño máximo del nombre de una carpeta gestionada 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 gestionan las operaciones de los contenedores

En las siguientes secciones se describe cómo se gestionan las operaciones de los contenedores cuando el espacio de nombres jerárquico está habilitado.

  • Puedes enumerar todos los segmentos que tengan habilitado el espacio de nombres jerárquico, independientemente de su diseño de almacenamiento. El diseño de almacenamiento de un contenedor describe cómo se organizan los objetos en un contenedor, 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 contenedor, consulta Obtener el diseño de almacenamiento de un contenedor. Para enumerar todos los contenedores, sigue las instrucciones que se detallan en Listar contenedores.

  • Puedes eliminar segmentos con el espacio de nombres jerárquico habilitado siempre que el segmento esté vacío. Los contenedores vacíos no contienen objetos ni carpetas gestionadas. Los contenedores vacíos pueden contener carpetas vacías (sin objetos).

Cómo se gestionan las reglas de gestión del ciclo de vida de los objetos

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

  • Reglas de gestión del ciclo de vida de los objetos para los segmentos con un espacio de nombres plano: la operación de cambio de nombre implica cambiar el nombre de cada objeto mediante herramientas copiando cada objeto en una ubicación de destino y eliminando el objeto original de la ubicación de origen. Por lo tanto, los objetos nuevos se crean con nuevas horas de creación en la ubicación de destino. Si se aplican reglas de gestión del ciclo de vida de los objetos basadas en la antigüedad a la ubicación de destino, no se aplicarán a los objetos nuevos inmediatamente, ya que se restablecerá su hora de creación.

  • Reglas de gestión del ciclo de vida de los objetos para segmentos con espacio de nombres jerárquico habilitado: al cambiar el nombre de una carpeta, la operación se realiza a nivel de carpeta, sin tener que cambiar el nombre de cada objeto. Por lo tanto, se conserva la hora de creación de los objetos, lo que significa que las reglas de gestión del ciclo de vida de los objetos basadas en la antigüedad se aplican a los objetos renombrados inmediatamente si cumplen los criterios de antigüedad.

Precios

Para obtener información sobre los precios, consulta la página Precios de Cloud Storage.

Limitaciones

Estas son las limitaciones del espacio de nombres jerárquico:

  • Debes elegir si quieres usar el espacio de nombres jerárquico al crear el segmento. El ajuste del espacio de nombres jerárquico del segmento no se puede cambiar una vez creado el segmento.

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

  • Las siguientes funciones de Cloud Storage no se admiten en los segmentos que usan el espacio de nombres jerárquico:

    • Bloqueo de segmentos
    • Traslado de segmentos
    • Replicación entre contenedores
    • Retenciones de objetos
    • Bloqueo de retención de objetos
    • Gestión de versiones de objetos

Siguientes pasos

Pruébalo

Si es la primera vez que utilizas Google Cloud, crea una cuenta para evaluar el rendimiento de Cloud Storage en situaciones reales. Los nuevos clientes también reciben 300 USD en crédito sin coste económico para ejecutar, probar y desplegar cargas de trabajo.

Probar Cloud Storage sin coste económico