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 directorios de alto rendimiento y las operaciones de carpetas atómicas que se requieren para acelerar las cargas de trabajo de análisis y de IA/AA con uso intensivo de datos.
En esta página, se proporciona una descripción general del espacio de nombres jerárquico, incluidas sus funciones 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 se puede 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.
Características clave
El espacio de nombres jerárquico proporciona las siguientes funciones:
Mayor cantidad de consultas por segundo (QPS) iniciales: Los buckets con el 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 el espacio de nombres jerárquico habilitado. 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 se usan 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 con carpetas: Las operaciones con 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 un 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 del 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 al 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 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/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:
Cloud Storage Connector, que Dataproc mantiene para las cargas de trabajo de Hadoop. Para obtener más información, consulta Usa buckets con espacio de nombres jerárquico habilitado para las cargas de trabajo de Hadoop.
Cloud Storage FUSE para el acceso bucket similar al sistema de archivos a través de clientes
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
Los buckets con el espacio de nombres jerárquico habilitado controlan las operaciones de objetos de las siguientes maneras:
- Las operaciones como
Upload,RewriteyComposecrean automáticamente las carpetas principales faltantes, siempre que tengas los permisos necesarios. Como resultado, no es necesario que crees carpetas con anticipación 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
ListObjectscon el parámetrodelimiter, los buckets devuelven cada carpeta secundaria como unprefix.. Sin embargo, las carpetas vacías se excluyen de forma predeterminada. Para incluir carpetas vacías, de manera similar a una lista típica del sistema de archivos, debes establecer el parámetroincludeFoldersAsPrefixes. Para obtener información sobre los métodos de optimización del rendimiento al enumerar objetos en buckets con el espacio de nombres jerárquico habilitado, consulta Cómo enumerar objetos.
Cómo se administran las carpetas administradas
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 los buckets con el espacio de nombres jerárquico habilitado.
- Cuando creas una carpeta administrada, se crean automáticamente las carpetas superiores que faltan, 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 deexample-ai-datasetsllamada2025/training-data/, Cloud Storage creará automáticamente la carpeta principal2025/y la carpeta de destinotraining-data/. - Una carpeta administrada no puede existir sin la carpeta asociada.
- Si borras una carpeta, se borrará automáticamente la carpeta administrada asociada.
- Si cambias el nombre de una carpeta, automáticamente se cambiará 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 pueden anidarse hasta 50 niveles de profundidad, los nombres de las carpetas administradas solo pueden anidarse 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 bucket
En las siguientes secciones, se describe cómo se controlan las operaciones de bucket cuando el espacio de nombres jerárquico está 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 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
La Administración del ciclo de vida de los objetos te permite automatizar acciones en objetos según 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 los buckets con espacio de nombres jerárquico y en los buckets con un espacio de nombres fijo debido a la operación RenameFolder:
Reglas de 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 cada objeto con herramientas copiando cada objeto a una ubicación de destino y borrando el objeto original de la ubicación de origen. Como resultado, se crean objetos nuevos con nuevas fechas de creación en la ubicación de destino. Si se aplican reglas de administración del ciclo de vida de los objetos basadas 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 el espacio de nombres jerárquico habilitado: Cambiar el nombre de una carpeta opera 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 administración del ciclo de vida de los objetos basadas en la antigüedad se aplican a los objetos renombrados de inmediato si cumplen con los criterios de antigüedad.
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 espacios de nombres jerárquicos:
- Bloqueo del bucket
- Reubicación de buckets
- Replicación entre buckets
- Conservaciones de objetos
- Bloqueo de retención de objetos
- Control de versiones de objetos