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 que se deben tener en cuenta.
Información general
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. Almacenar los datos en una estructura de sistema de archivos mejora el rendimiento, asegura la coherencia y simplifica la gestión de cargas de trabajo que requieren muchos datos y archivos.
Las operaciones de carpetas ofrecen funciones de fiabilidad y gestión, como crear, eliminar, enumerar y cambiar el nombre de las carpetas. La organización jerárquica de los objetos simplifica la organización de los datos y agiliza las tareas de gestión de datos. Una carpeta de un segmento con el espacio de nombres jerárquico habilitado puede contener objetos, otras carpetas o una combinación de ambos.
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 un 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.
Características principales
El espacio de nombres jerárquico ofrece las siguientes funciones:
Consultas por segundo (CPS) iniciales más altas: los contenedores con el espacio de nombres jerárquico habilitado ofrecen límites de CPS iniciales hasta 8 veces más altos para leer y escribir objetos en comparación con los contenedores que no tienen habilitado el espacio de nombres jerárquico. El mayor número de consultas por segundo inicial facilita el escalado de las cargas de trabajo que requieren 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.
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.
List folders: la operación List folders enumera todas las carpetas del contenedor o de una carpeta específica, lo que le ayuda a gestionar y comprender la estructura de los datos almacenados en un contenedor.
Cuándo debes habilitar el espacio de nombres jerárquico en un segmento
Te recomendamos que habilites el espacio de nombres jerárquico cuando utilices aplicaciones que requieran una jerarquía y una semántica similares a las de un sistema de archivos. El espacio de nombres jerárquico es útil para tareas que requieren muchos datos, como las cargas de trabajo de analíticas, IA y aprendizaje automático. A continuación se indican algunos casos habituales en los que deberías usar un espacio de nombres jerárquico:
Procesamiento basado en Hadoop: las cargas de trabajo de Hadoop y Spark suelen esperar una estructura de almacenamiento similar a un 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 pipelines 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 y aprendizaje automático: las herramientas de IA y aprendizaje automático, como TensorFlow, Pandas y PyTorch, requieren acceso y semántica similares a los de un 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 similar a un sistema de archivos: el espacio de nombres jerárquico introduce funciones similares a las de un sistema de archivos, como carpetas, cambio de nombre de carpetas y listado de carpetas, que son útiles para aplicaciones orientadas a archivos, como el ecosistema de Hadoop y las cargas de trabajo de IA y aprendizaje automático.
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:
Conector de Cloud Storage, mantenido por Dataproc para cargas de trabajo de Hadoop. Para obtener más información, consulta Usar contenedores con espacio de nombres jerárquico habilitado para cargas de trabajo de Hadoop.
Cloud Storage FUSE para acceder a los segmentos como si fueran sistemas de archivos mediante clientes.
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:
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
yCompose
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 con la operación
DeleteFolder
. - Cuando se usa la operación
ListObjects
con el parámetrodelimiter
, los contenedores devuelven cada subcarpeta como unprefix.
. Sin embargo, las carpetas vacías se excluyen de forma predeterminada. Para incluir carpetas vacías, como en un listado de archivos típico, debe definir el parámetroincludeFoldersAsPrefixes
. Para obtener información sobre los métodos de optimización del rendimiento al enumerar objetos en los contenedores con el espacio de nombres jerárquico habilitado, consulta Enumerar objetos.
Operaciones de carpetas gestionadas
Los segmentos con el espacio de nombres jerárquico habilitado gestionan las operaciones de carpetas gestionadas de las siguientes formas:
- Los segmentos con el espacio de nombres jerárquico habilitado ofrecen un control de acceso granular a través de carpetas gestionadas. Para gestionar el acceso a una carpeta, 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. Una carpeta gestionada no puede existir sin la carpeta correspondiente.
- Al crear una carpeta gestionada, se crean automáticamente las carpetas principales que falten, incluida la carpeta con el mismo nombre.
- 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 las carpetas gestionadas asociadas.
- Los contenedores con espacio de nombres jerárquico deben seguir las reglas de nombres de carpetas gestionadas y las reglas de nombres 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.
Operaciones de segmentos
Puedes eliminar un contenedor con el espacio de nombres jerárquico habilitado de la misma forma que cualquier otro contenedor. Si un bucket en el que se ha habilitado el espacio de nombres jerárquico solo contiene carpetas vacías y no tiene objetos ni carpetas gestionadas, se puede eliminar.
Administració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 contenedores con un espacio de nombres jerárquico y en los contenedores con un espacio de nombres plano debido a la operación RenameFolder
:
Reglas de gestión del ciclo de vida de los objetos en 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 los segmentos con el 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 inmediatamente a los objetos renombrados si cumplen los criterios de antigüedad.
Cómo gestionar los segmentos con el espacio de nombres jerárquico 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 un contenedor con el espacio de nombres jerárquico habilitado de la misma forma que cualquier otro contenedor. A efectos de la eliminación, si un segmento con el espacio de nombres jerárquico habilitado solo contiene carpetas vacías y ningún objeto ni carpeta gestionada, se considera que el segmento está vacío. Para obtener instrucciones sobre cómo eliminar segmentos, consulta Eliminar segmentos.
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:
- Autoclass
- Bloqueo de segmentos
- Retenciones de objetos
- Bloqueo de retención de objetos
- Gestión de versiones de objetos
- Cambio de ubicación de un segmento
Siguientes pasos
- Crea segmentos con el espacio de nombres jerárquico habilitado.
- Crea y gestiona carpetas.
- Cambiar el nombre de las carpetas.
- Usa el espacio de nombres jerárquico para las cargas de trabajo de Hadoop.
- Optimizar el rendimiento.
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 gratuito para ejecutar, probar y desplegar cargas de trabajo.
Probar Cloud Storage gratis