Tener una gran cantidad de usuarios, contribuyentes y proveedores que apoyan el iceberg significa que las características sugeridas y las mejoras propuestas ofrecerán diversas perspectivas y las implementaciones resultantes serán más sólidas, lo que nos lleva a la explicación de la tabla V3.
Una descripción común de la explicación de la tabla V3
La explicación de la tabla V3 es un hito importante para la tecnología, que trae una serie de nuevas características increíbles y desbloquean innumerables casos de uso para los usuarios.
Títulos predeterminados
Lo que hace: Con los títulos predeterminados, los usuarios de iceberg tienen la capacidad de manejar nulos y títulos faltantes en sus tablas V3.
Cómo funciona: Los títulos predeterminados son posibles con la complemento de dos nuevas configuraciones de tabla. Al establecer write-defaultlos usuarios pueden controlar cómo sus escritores manejan los títulos faltantes de los campos; Para flexibilidad, esto se puede cambiar en cualquier momento. Por otro flanco, initial-defaultque se establece una vez para una tabla, brinda a los usuarios un mecanismo para reemplazar los nulos existentes con un valencia especificado.
Quien lo hizo posible:
-
Shenoda guirguis, propuesta de especificaciones originales
-
Limian (Raymond) Zhang, explicación finalizada
-
Implementación
Vectores de matanza
Lo que hace: Los vectores de matanza son el nuevo mecanismo predeterminado para manejar la posición de la posición en iceberg. Los usuarios ya no tienen que hacer compensaciones típicamente asociadas con la configuración de eliminaciones de posición, por ejemplo, eligiendo entre la reducción del número de archivos pequeños (al habilitar la granularidad a nivel de partición) y las lecturas más eficientes (al habilitar la granularidad a nivel de archivo).
Cómo funciona: Una vez implementado, los vectores de matanza tomarán el oficio de la posición eliminar. El diseño implica múltiples vectores de deleción que se almacenan como mapas de bits rugientes en archivos de frailecillo, un tipo de archivo de rendimiento ya utilizado en todo el tesina Iceberg, donde se puede ceder de guisa eficaz a través de un índice. Curiosamente, «V2 Iceberg tuvo una rudimentos de (vectores de deleción), pero se usaron en memoria», ofrece Anton Okolnychyi, miembro del Comité de Mandato de Proyectos de Iceberg (PMC) e ingeniero de software de personal senior en Databricks. «En el disco tenía archivos de parquet, en la memoria tenía mapas de bits. Y una vez que llegamos a diseñar V3, queríamos ver qué se podía hacer de guisa diferente para evitar la sobrecarga de la conversión».
La valentía de la comunidad de usar archivos de frailecillo sobre la implementación de Parquet existente ofrece ganancias de rendimiento para los usuarios y puede ser mejor para los casos de uso de herido latencia. En última instancia, los vectores de deleción brindan a los usuarios lo mejor de entreambos mundos: las eliminaciones de posición se aplican en una granularidad a nivel de archivo para lecturas más eficientes, pero se almacenan físicamente en archivos de portada consolidados para someter la cantidad de archivos pequeños.
Quien lo hizo posible:
-
Cambios de especificaciones
-
Renjie Liu, miembro de Iceberg PMC, propuesta diferente
-
Anton Okolnychyi, cambios finalizados
-
-
Implementación
-
Amogh Jahagirdar, miembro de Iceberg PMC
-
Eduard Tudenhoefner, miembro de Iceberg PMC
-
Tipos de datos geoespaciales
Lo que hace: Iceberg ahora admite dos nuevos tipos geoespaciales, geometría y geodesía, mejor alineando con otros proyectos y brindando a los usuarios la capacidad de desbloquear una mejor funcionalidad en torno a los datos de mapeo y ubicación.
Según Jia Yu, presidente de Apache Sedona PMC y cofundador de Wherobots, la funcionalidad final es el resultado de una tonelada de investigación comunitaria. Revisaron una serie de proyectos y tecnologías con soporte geoespacial, como «Sedona, Databricks, Snowflake, BigQuery, Pandas» y más, que «todos tienen una definición diferente de datos geoespaciales … diferentes tipos … El comportamiento de esos tipos es en realidad diferente».
Cómo funciona: Más allá de simplemente hacer que los tipos geoespaciales sean accesibles adentro de Iceberg, el cambio de explicación asimismo aborda cuestiones complejas, como cómo manejar la partición y el filtrado de campos geoespaciales, así como cómo las métricas a nivel de columna deberían ser para estos tipos. El impulso de predicado y las métricas regulares a nivel de columna todavía están disponibles para los tipos geoespaciales con cuadros delimitadores descritos por puntos geoespaciales que sirven como máximos y mínimos.
Quien lo hizo posible:
-
Cambios de especificaciones
-
Kristin Cowalcijk, Implementación
-
Una mención singular para todo el equipo de Wherobots, que implementó apoyo geoespacial en su propia horquilla de Iceberg antaño de ofrecer su experiencia a la comunidad de iceberg, proporcionando liderazgo e implementando la característica del tesina Iceberg.
Transformaciones de múltiples argumentos
Lo que hace: Las transformaciones de múltiples argumentos brindan a los usuarios la capacidad de realizar transformaciones en múltiples campos con el fin de dividir y clasificar en iceberg. Antiguamente de la explicación de la tabla V3, solo se podría trocar un solo campo para estos fines.
Quien lo hizo posible:
-
叶先进, cambios de especificaciones
-
Implementación
-
Fokko Driesprong, miembro de Iceberg PMC
-
JB Onofré, miembro de la trabazón de ASF
-
Índole
Lo que hace: El clase de la fila facilita que los usuarios rastreen cómo las filas en una tabla de iceberg han cambiado con el tiempo, desbloqueando una serie de casos de uso, incluidos los flujos de trabajo de captura de datos de cambio (CDC) mejorados, la auditoría más sencillo y el mantenimiento mejor materializado de la sagacidad. En última instancia, la complemento del clase de la fila a Iceberg «significa que los usuarios de Iceberg podrán determinar con precisión la historia de cualquier fila en sus mesas», dice Russell Spitzer, miembro de Iceberg PMC e ingeniero de software principal en Snowflake. «Anteriormente, solo podíamos adivinar en saco a columnas de identidad definidas por el agraciado, ¡pero ahora está integrado en el formato en sí!»
Cómo funciona: Cada fila en una mesa de iceberg incluye dos campos adicionales, _row_id y _last_updated_sequence_number. La comunidad de iceberg pudo implementar esto de tal guisa que no todas las filas tengan que juntar explícitamente los títulos en estos campos. En su oficio, para eludir espacio, los títulos de la columna se implican hasta que se materialicen a través de una consulta de recitación y solo entonces los títulos se propagan a través de la capa de metadatos (metadata.json → instantánea → manifiesto → dataFile → fila).
Quien lo hizo posible:
-
Cambios de especificaciones
-
Russell Spitzer
-
Nileema shingte
-
Attila-Péter Tóth
-
-
Implementación
Criptográfico de tabla
Lo que hace: La última puesta al día sobre el oculto de tabla desbloquea el oculto del flanco del cliente de las tablas de iceberg, lo que brinda a los usuarios la capacidad de apresurar todos sus datos y metadatos. Las tablas enteras se pueden encriptar con una sola esencia, o el llegada se puede controlar a nivel de instantánea.
Cómo funciona: Para hacer posible el oculto de tabla del flanco del cliente en Iceberg, los usuarios tienen la capacidad de asociar instantáneas de mesa individuales con claves de oculto almacenadas en una tienda de claves de terceros. Para comenzar a ceder a los datos adentro de una instantánea específica, los clientes deben tener llegada a ese almacén de claves y la esencia de oculto para descifrar y ceder a la letanía de manifiesto de la instantánea. A partir de ahí, las listas de manifiesto tienen un mecanismo similar para que los clientes descifraran los archivos de manifiesto y, finalmente, los archivos de manifiesto tienen una esencia de oculto de archivos de datos para que los clientes accedan a los archivos de datos.
Quien lo hizo posible:
Tipo de datos de reforma
Lo que hace: Los tipos de variantes permiten a los usuarios manejar conjuntos de datos semiestructurados menos regulares donde ciertos campos se utilizan intermitentemente. Tomemos, por ejemplo, datos del sensor: todos los sensores pueden informar una ubicación y una marca de tiempo, pero algunos sensores informan la temperatura, otros informan humedad, etc. Como dice el ingeniero de software senior de Snowflake Aihua Xu, uno de los contribuyentes al tipo de reforma: «Adicionar (reforma) a la explicación Iceberg V3 fue sobre cumplir con las realidades de los datos de hoy.
Cómo funciona: El tipo de datos reforma permite a los usuarios juntar tipos y campos de variables en las tablas Apache Iceberg ™ donde los nombres de campo y sus tipos se extraen en metadatos y campos de valencia y luego se almacenan como binario. Estudiar los datos implica la deserialización. Para ser más eficaz, una característica adicional convocatoria «trituración» permite los campos consistentes, como la ubicación y la marca de tiempo en el ejemplo susodicho, y sus tipos a extraer y juntar en Parquet; Los campos restantes se almacenan en metadatos y campos de valencia como se describió anteriormente.
Quien lo hizo posible:
-
Cambios de especificaciones
-
Tyler Akidau, propuesta diferente
-
Aihua xu, cambios finalizados
-
-
Implementación
-
Aihua xu, implementación central
-
Ryan Blue, Core
-
David Cashman, trituración
-
Gene Peng, codificación y trabajo influyente en el tipo de datos variantes en Apache Spark
-
Neil Chao, Apache Arrow
-