Apache Parquet is the common denominator for structured data at rest.
The data science ecosystem has long appreciated this. But infosec? Why should
you care about Parquet when building a threat detection and investigation
platform? In this blog post series we share our opinionated view on this
question. In the next three blog posts, we
describe how VAST uses Parquet and its little brother Feather benchmark the two formats against each other for typical workloads share our experience with all the engineering gotchas we encountered along
the way Why Parquet and Feather? Parquet is the de-facto standard for storing structured data in a format
conducive for analytics. Nearly all analytics engines support reading Parquet
files to load a dataset in memory for subsequent analysis.
The data science community has long built on this foundation, but the majority
of infosec tooling does not build on an open foundation. Too many
products hide their data behind silos, either wrapped behind a SaaS with a thin
API, or in a custom format that requires cumbersome ETL pipelines. Nearly all
advanced use cases require full access to the data. Especially when
the goal is developing realtime threat detection and response systems.
Security is a data problem. But how should we represent that data? This is where
Parquet enters the picture. As a vendor-agnostic storage format for structured
and nested data, it decouples storage from analytics. This is where SIEM
monoliths fail: they offer a single black box that tightly couples data
acquisition and processing capabilities. Providing a thin "open" API is not really
open, as it prevents high-bandwidth data access that is needed for advanced
analytics workloads.
Open storage prevents vendor-lock-in. When any tool can work with the data, you
build a sustainable foundation for implementing future use cases. For example,
with Parquet's column encryption, you can offload fine-grained compliance use
cases to a dedicated application. Want to try out a new analytics engine? Just
point it to the Parquet files.
Parquet's Little Brother Feather is Parquet's little brother. It emerged while building a
proof of concept for "fast, language-agnostic data frame storage for Python
(pandas) and R." The format is a thin layer on top of Arrow
IPC , making it conducive for
memory mapping and zero-copy usage. On the spectrum of speed and
space-efficiency, think of it this way:
eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1YWVPjOFx1MDAxMH7nV6Qyr+DRffBcdTAwMDYhnMNwL1BbU5SJReKNY1x1MDAxYltJOIr/vrJcdLbjXHUwMDFjJMBcZmFr/Vx1MDAwMHFcdTAwMWZSq/V9arVcdTAwMWaXKpWqvlx1MDAwZlV1tVJVd1xy23OdyO5Xl1x1MDAxM3lPRbFcdTAwMWL4RoXS9zjoRo3UsqV1XHUwMDE4r37/boehlXtZjaDz7Kk81VG+jo3t3+a9UnlM/1x1MDAxNuaKVEPbftNTqUOqyqdjXHUwMDEwlKU/XHUwMDAzP51cdTAwMWFcIilcdTAwMTGHXGbAzMKNN8x8WjlGfWN7sco1iahaXHUwMDEzXHUwMDBluz66VPZcdTAwMTa62t7cOli53HA28mlvXFzPO9H33vPC7EarXHUwMDFiXHUwMDE1gop1XHUwMDE0tNW56+hWMntJnvnFgUlB7lx1MDAxNVx1MDAwNd1my1dxPORcdTAwMTOEdsPV94lcZuRcdTAwMGJ8zsJqJZfcJVx1MDAxNkxYXGJByaGAiFFcbkmmTlx1MDAwNyDSglx1MDAwMkuMqUBcdTAwMTJwTkqR1Vx1MDAwMi+Iksh0ZPtxaEdmO/L4ru1Gu2mC9J3pdv3Bulx1MDAxOeBcdTAwMTbnXHUwMDFjiST5XHUwMDAws8ygpdxmSydcYpHCXHUwMDEymFx1MDAxMSokhcDEm8ej0p2BhFx1MDAxMCCoWUumSVwiXGJ3nFx1MDAxNCW/irnznUHu/K7n5UEninpcdTAwMDFZuU83dOxnXHUwMDAwQMYoRFx1MDAwMiFh0pPpPddvl4fzgkY7x0wqfVpcdTAwMWVcdTAwMGZWO4qC/jigXCI6XHSnXGYjXHSBkHxmmFx1MDAxZVx1MDAwYre5JVx1MDAxZlx1MDAwMoxcdTAwMWbYX9FcdTAwMDM42mXh/lx1MDAwNJiW4PZZIMVcZlxmoZJcdTAwMTQ8SjD8XHUwMDA20mcqXHUwMDA0v91cYuVcdTAwMTRtXuCHXGJcdTAwMThFXHUwMDFjXHUwMDE4QZikXGJcdTAwMTBzPrA/gjAoMWBzIKyQXHUwMDE5O9Lrru+4frPsonxngsazY11cdTAwMGI6XHUwMDFkV5swXHUwMDBlXHUwMDAz19dli3TctVx1MDAwNKotZTtjRi7qXGbf3dL5XHUwMDFiJoPmR3by5L8qeb7Tl+z3r+Wx1oUtK9kvXHUwMDE1/8/NOMLLwqwyQCwpRlxmy5kpXHUwMDE39m/xtXPudVx1MDAxZvCF8K9aP/r+5aTKsDiUs1xm/Fx1MDAwMKBEMs5BqS5cdTAwMThcdTAwMDZawtRcZoxcdTAwMTmV3Jy3v4WPY9iI0MSJXHUwMDA37ORcdTAwMTBSKFx1MDAwMFx1MDAxM/+z89PZOWS9MrJ3c5J1+l1cdTAwMGXBsjRjrGREIEpcdTAwMGJgeY2xXHUwMDExj2nnkrTOOsf983pPXFz0vO3tXHUwMDA1Z6zgVlKWmOD5Olx1MDAxM1dcdTAwMDSFRSBcdTAwMWZWvIWmXHLlXHUwMDEwx1x1MDAxZaWpOSZGiUpG6ibChGCIwcdcdTAwMTEzw89jXHUwMDAxZoNcdTAwMWTc6zf80/jiwOPBvrjr1U92NftZLeIxw5VWd7qaKZ5esPhcbuvzXHUwMDAy8c5bXzr92O6ETUI0XHUwMDExgJj7XHUwMDA3nFx1MDAxZNDT07GYgJZoXHUwMDAyoNFcdTAwMDdcdTAwMDF6Ut2BcFxc5Vx1MDAxOb1cYkKCsGlcdTAwMTLpn7tcYs5cdTAwMDO6fHNcdTAwMDNfn7hcdTAwMGbpUciGpJt2x/Xuh3YoRaNJzqaydUtFxVx1MDAwNMbKTJqOQobM1zy3mVx1MDAwMLbaMMsoulx1MDAxONRq13TtmUHHdZzi8d0wMdhmzGhnllM3iNym69veaSnEN7FcdTAwMGIhOYldXHUwMDEwc0whL7aQr9ErPr3QtfaP/av+Wq2u8caGs/twsNj0XCJCXHUwMDE4eo2Qi0BiXHRcdTAwMDQwRO/jXHUwMDE2XHUwMDAwNrmB47iFZ+FcdTAwMTZcdTAwMDNcXEhcdTAwMDYgmoNaeVx1MDAxNXjZfTSQPH1cdTAwMDXG1Vx1MDAwZc8qXHUwMDA3XHUwMDA2iund7ENpp4NwXHUwMDEy54ZWUybYUERvY1x1MDAxOZ7MMrPB5kpcdTAwMDDh7F/Yzk6u5FWPdu/r/T1+21xcu9hvXHUwMDFmLvqtXGZKi1x1MDAwZZEp9ZPUXHUwMDEyXHUwMDEysN/EMYxmoVx1MDAxOCRcdTAwMTRLYZqlecrXXHUwMDE351jqsFx1MDAxMNxKI5nKqentXHUwMDBlmXg5ZFxiXHUwMDExyFx1MDAwNJz9k2C7fbdcdTAwMTn0erdcdTAwMTe189M1vLK/8892Z3exeUU4tFx1MDAwMIScYtN/XHUwMDEzVIBQ4o8xtiSgxGiEuaBcdTAwMTXw8Vx0fVx1MDAwZoSSXGKKXHUwMDE5x3Pw7O2NT1x1MDAxZHWdeFx1MDAwZrVv1jnnnd3NW/f4qP21XHUwMDFhnylcdTAwMWbfsKBcdTAwMTJzIWZcdTAwMDf39HwsKLjZNHCTj1x1MDAwNPd7eyBcdTAwMDExhlx1MDAxNFx1MDAxNLbsv9NcdTAwMDNcdTAwMWTa0W1X6Y8tXHUwMDE4r/RAr5zF5TLyXHUwMDEy4jPRllx1MDAwNuyt2mF4ok3usopd7bmqvz5u/9Mn8U9pmvBBpYX+aenpX1x1MDAwNNVcXP8ifQ==Feather CPU Overhead Size Parquet
Before Feather existed, VAST had its own storage format that was 95% like
Feather, minus a thin framing. (We called it the segment store .)
Wait, but Feather is an in-memory format and Parquet an on-disk format. You
cannot compare them! Fair point, but don't forget transparent Zstd compression.
For some schemas, we barely notice a difference (e.g., PCAP), whereas for
others, Parquet stores boil down to a fraction of their Feather equivalent.
The next blog post goes into these details. For now, we
want to stress that Feather is in fact a reasonable format for data at rest,
even when looking at space utilization alone.
Parquet and Feather in VAST VAST can store event data as Parquet or Feather. The unit of storage scaling is
a partition . In Arrow terms, a partition is a persisted form of an Arrow
Table , i.e., a concatenation of Record
Batches . A partition has thus a fixed schema. VAST's store
plugin determines how a partition writes its buffered record
batches to disk. The diagram below illustrates the architecture:
eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1dWXNcdTAwMWHJsn73r3D4vFx1MDAwZX1qX85cdTAwMWJcdTAwMDIhQCBcdTAwMTCLXHUwMDE27r1BNHuzr1x1MDAxMnBi/vvNwrJoXHUwMDA0XHKNJY9cdTAwMWFcdTAwMWLCM5Lopqiu+r5cXKoys/775evXb9PFsP7tP1+/1edVu+vUxvbzt7/M+0/18cRcdTAwMTn04Vx1MDAxMln9PVx1MDAxOczG1dWdrel0OPnPv/9tXHUwMDBmh9b6U1Z10Pv+yXq33qv3p1x1MDAxM7j3f+Dvr1//u/q/67u6Tr++unf17vqbhNDs7ds3g/7qa1x01ZJhSeTrXHLOJFxuXzWt1+Bqw+5O6usr5q1vj7XMaFxcTDJcdTAwMTK/XHL10tPCXHUwMDE1yti59dc2nG43P110Vz2aXGbgKdbXJtPxoFO/d2rTXHUwMDE2XFzFb973+tR4MGu2+vXJZOMzg6FddaZcdTAwMGLzXHUwMDFlQq/v2v3mqo31O3P4i1x1MDAxMmxcdKmR0oRSwsjrRfNxoqmlMUaEaalcdTAwMTlCWL7pV2TQXHUwMDFkjE2//oVWr3XPKna104Tu9Wvre1x1MDAxYbhBXHUwMDFhZH3P84+nlcJCXFxKyqhcdTAwMTSKXHUwMDEyvf6aVt1ptqamK0RahFwixoUkhFxiSdW6K/XVhFx1MDAxMEwx4pjQ11x1MDAwYub7h4naXHUwMDFhXHUwMDE2q3dzXHUwMDBmOrysLuOl0t1cdTAwMDN7YNPnp/zg/rVTcIMo3JOLfjY9fnyMkuvQc7RcdTAwMWR/brhvXHUwMDE4Pd8ss/GwXHUwMDFkLXWTXHS7XHUwMDFii84roUf3XHKt0TI3XHUwMDE5cVx1MDAxNsPPXHUwMDA1lHyadKdcdTAwMGWfum8oLFxuuXnsenxcdTAwMTHKX96k6W39fjBMf3u5/n/u6e3XXqb3v+tPv4CavLzz93rQzf2XLjKsm5pccmv2d+BiIWCUtMCYofVAXHUwMDAzQTpwsT/rdtfvXHKqnVx1MDAxZFifTO3x9MLp15x+8+1H6v2ax5WuPZlGXHUwMDA2vZ4zhW5kXHUwMDA3Tn/69o5Vu+HxePDcqtu1XHUwMDFkLXteXHUwMDFimuY2p3n929c14ld/vP7+f3/tvtviXG5xJrVmTHItlHJ/XHUwMDFjS2xJquE6V4wzrlx1MDAwZjeHiMRCXHUwMDExXHUwMDAwtvnHhNhsUGOLaEyZXHUwMDA2dEuk8KFcdTAwMDa1hVx1MDAwMP6CXGLgJFwiXHUwMDE4i83WtOlcdTAwMWVjQFx1MDAwNaEplfJQc1xmnlx1MDAxN75bKSFcdTAwMTHldC3tzIsgYSlcdTAwMTBccoKAXHUwMDFjVFJcdTAwMWXuXHUwMDFjtaRcdTAwMDCxgUB2gvykb1rTXHUwMDE2xlxcIC1cdTAwMDSGxlxiPdRcdTAwMWNmzFx1MDAxMohpjlx1MDAwNHJcdKfvjXHLNIW1lERwTlx1MDAwZbZcdTAwMDUzXHUwMDA3Xytg0GDgXHUwMDE443xz4CTIIJhzijXDmlx1MDAxY5xXLLnFiGSrudVcXOHNWVXaUlx1MDAxYcZcdTAwMTNJ6DnQ7eA8mPa0IJxBe1x1MDAxYZ5cdTAwMTlvoo5ZmFx1MDAxM1x1MDAwZaNcdTAwMDazq6Tw01x1MDAxYWeEXHUwMDFiqGLon9zsXHUwMDFks4D7WmkmXHUwMDE4plxi5Onh9pjF4SkpVkIwXCLoxuCFkCVcdTAwMTTT0D+BKYUxPlxmXHUwMDE0LKiBPWZmXHUwMDAyXHUwMDAx+YxuNFxiQCEg7Fx1MDAxOSNaXHUwMDEzLPjhXHUwMDBlUm0xxTUoIcwoXHUwMDEym2BcdMFcdTAwMTMjxKHvgGRG4TZ+qEHFQd9cYs0px4aYjG22p1x1MDAwMMlMXHUwMDAxYVxyPFx1MDAwNeZcdTAwMDehzEBuQMdcZithSrDQm+1xXHUwMDBixlVwXHUwMDAyYOZcdTAwMTSzQ61JXHUwMDBiOsZcdTAwMTBcdTAwMTEw1Fx1MDAwMFxuvcGzkLRcdTAwMDB5QFtcdTAwMTAnIMZg2lx1MDAwZTVcdTAwMDdcdTAwMTOIoFdAdFx1MDAwNepcdTAwMTVkXHUwMDAxXHUwMDE4XHUwMDAzbyZcdTAwMTgjYFx1MDAwNkFgXHUwMDBlwW9cdTAwMDJgcFDweUjdL+6fL7pry16rd7vOcLLTZJPw2F4mXHUwMDFi1mBcdTAwMDMggMHaXGI4ZLNdLybJQaEy6ebsi6tu7dqpXFw25kG32YhBXHUwMDBiXGIrjTCIXGb+qlx1MDAwMr5bbVx1MDAxMqw294u96dmRVlujsctkY5ZcdTAwMDZlZoQ4XHUwMDE3XHUwMDAwtPWAv5pslFugfzRcdTAwMThs0FnpXHUwMDEyQT8sNsqRxFxuJNDvabFtmChbptlr02vD7lx1MDAxNZPD+mjuxPtOoVtJVlxu1fk9XCK5i29uPr1cdTAwMTLFNjbRt9crf2/16P2G316ijuvV6XeU7vKuiPJiKkhWsIS064ZDRNXV0Fi10+3B9CGvU1c31Uj6Llx1MDAxNHCirpRcdTAwMTJYQVx1MDAxYzQwuFeb3lx1MDAxNZXvI6ZcdTAwMTKqrsVcdTAwMGVuMrRNRnCfNmSCS0K+sFx1MDAxMSwjsC+YPEDG8k31rtnv0UGr0I+GI7FItjojn8aUq2EsO728rcZcdTAwMDbNrlxutTqlSmeZ282UaX0+9UtcdTAwMTQpjFxcQiC36EdcdTAwMTFl9fU7OKKwpzZcdTAwMDOvwNjJvlx1MDAxObJ/MDZcdTAwMTnSsqut2bhcdTAwMWVcdTAwMDCOgIm/hyOKvIcj07Hdn1xm7TFAaVx1MDAwN0/oXHUwMDBlnrhm44VcdTAwMTdg2ylwL8BcdTAwMWH9XHUwMDA0Zlx1MDAwNMfrb1xm+tO8s1xcWVnI0lxmXFxQxVxiuJngXGZs3Fx1MDAxNLN7TnexgYdcdTAwMTX2YTqy9ng0q0+/XHUwMDBlxl9jdXvaqo/dszepr1bpXHUwMDAw91x1MDAxYlx1MDAxZlxmd52mIcq3Kjyf+1x1MDAxM8CWqVO1u6839Jxaza2IqtBcdTAwMWJcdTAwMWKaXHUwMDFjJ/wokMHYaTp9u1vw7uw7NCFcdTAwMTVv3/3BcilcdTAwMTXh4Fwi+uf5dFx1MDAxML6fzKKLsug6XHSbXHUwMDEz5zJcdTAwMWKfnrImdFv0XHUwMDFmz/I3im89XHUwMDExr6RcdTAwMTf6zT1bMlx1MDAwMGFwusE3Xz99ULRjQCw9l83x1idDYFlcYlx0nrR/gM8z5Ztxvd3I2O2ySLTsbKyTXG44wDk9aYBzLZFWiugzwD1cdTAwMDS4pytjlpPAXHUwMDEz1r7h3Wja6VK5XHUwMDFkm15UqstxNcPuUqVIwOEt5EnDXHUwMDFiMWJcdTAwMTa4UPC8m+DDXHUwMDFiK6W4kv7F9+P9oNNsJef8xlned1x1MDAxYe1ev3NXXHI4vlx1MDAxNT5lfFOQ31STT3FRTlx1MDAxY95cdTAwMTiGzWx9XHT/9nchfp+Ljzqd7ih3N9aY9a5cdTAwMWV6POD41vyU8Y3B09RcdTAwMTjpXHUwMDAwrk5cdTAwMDVcdTAwMWbglHCJuFDYN8Dtx3g+2osvaHeK0+PxQz8xeVx1MDAxZVx1MDAwNVx1MDAxYuBcZp22g0mpYtB/dLa/vVx1MDAwMK69XHUwMDAwTiSVXGJJ7d9cdTAwMDBcdTAwMWYlm5NurZG5qlX5/CGc7EYqaSfg+Can7V9cdTAwMTKCTdBcblx1MDAwZlx1MDAxZb5fm96xvTBcdTAwMTk1XCKdYtl+vrNcdTAwMWKzXHUwMDFisixnmo3sKW7EeatcdTAwMDemTUhcdTAwMDei/s17h4azPSfbbUWyd5JcdTAwMTRcdTAwMWVQolCvXHUwMDA0nD30pN1XQjnCoMBcdTAwMGZtlP+5ysFcdTAwMTPeRFx0JKBD3De8e6RcdTAwMTLvNVJJtVx1MDAxY9zeZ1xuXHJVXHRcdTAwMTFcdTAwMTVwePOT9l4xU1JzzNXZuj9efIPnyoRcdTAwMTL+8T3k1dlFkrJGt1x1MDAxYZ+W5pMlwYlywPEtTtt7lYBcdTAwMTaORPBsn39cZt5e0Vx1MDAwZmB7eCHbhJoqgrF/t3Upx81cdTAwMTlpRap3qefn1u31nCdRXCLYyFx1MDAwNs/F0t7RXHUwMDBm5F1cdTAwMTFCe5EtdyRZuDapf0BXMMKwZOpcdTAwMDB0f5fQXHUwMDA2VzzagViG/HTgXHUwMDBln3GFL1x1MDAxML5xs//4helg6Fx1MDAxNbyw8Vx1MDAxOG8jXHUwMDE1vndlL//2xNNiyr3jaWFEkeRCMN8kfKpcdTAwMTVcdTAwMTfjfppg2n7K86dyqcOZXHUwMDFk/CCk/atH72Hhv1xiUZX6rjg9sjP+XGJtcZAqXHUwMDAy9lx1MDAxMTrEwXC+k78sXHUwMDBlUHR5Zef44rb6dOdcdTAwMTRcdTAwMDNcdTAwMTii+te+dvk0U7ZxQ/SitWr8qoNcdTAwMGIzLiv+2t160u2IPoJcdTAwMDVdz+0v0mlUeVprXHUwMDFjcamlXHUwMDEw/p3tVrSGXHUwMDE39ZR+rsXonVN9YO1q+zbYOk26IGw+od5Fn/3mmcTbXHUwMDE02qHFKFx1MDAxMVxmY9fUu1x1MDAxOfRbqqdsOFdIXHUwMDE0XHUwMDEymZtgqKh1d/ZS6juld3GKe0eSY0nBvFx1MDAxNv7txP2yK5CcYkhZXHUwMDAwISEwUVhK1zbB6vPggjDGXHUwMDE1opqCsl4nZ3044ZBFXHUwMDE5XHUwMDE1mHGMtTIhoDv8IS0sxVx1MDAwNdOcSsGY3lx1MDAxNVGLKKgzsluhXHUwMDA1nY5v0l9dXHUwMDFke0lDT/iwg1ZcdTAwMDSuziarIUXQXHUwMDFmXHUwMDA00kkqk75E0XrEzNDYQzOmML9SIbhBsVWW4tbDb2TeenVqf7KTq1MmIVxmKarB+OOaXHUwMDEzLpk7lfOlU9JcdTAwMTLapFx1MDAwMCm4USCxo1NcdTAwMWac9Fx1MDAwYth03iySfHDqr1x1MDAxN7rNa1x1MDAwYtfr5r64f3pcdDfPXHUwMDFhXHUwMDA0ck9Cm1x1MDAxOV1MJPW/vjOviyzheT0t3nRoKPfYX5JeNtjSjTPwgjlmq1FHaO1sXHUwMDA0vFxigcs7/7GSybE28a67LY01gZ5SnaosJm9cdTAwMWUuZbM2j5SVqj5F3US8XHUwMDEzXHUwMDE32W5cYrPBcnJlk1o75lxcXt65b+jM25XbJUN2ZHkvMs+X9zx3W3LfINvD3qhZmzTHzi1tLGflevKy6L4h+fxgX1x1MDAxMbuSu3lsRO5cdTAwMDcpMntM1k7FZz9cdTAwMTchOFx1MDAxNyE4XHUwMDE3IThcdTAwMTchWF89XHUwMDE3IThcdTAwMTch2Grz11x1MDAxNSFw7UtsJ3RcdTAwMDG3JfJvsonb3Kw6qTWv5jIxtGu34TauXlx1MDAwNt1kw1x1MDAxNkhWSjj8RkFcdTAwMThs2mynUoLAWGuUgar9TVxytp9f4KXiKXWnl70ozuZu5WKBW+TuI1x1MDAxNmKDXHUwMDE0OFxi1lx1MDAxM1x1MDAwNbeV+CZq4TaUzFRnuJxcXOaK1ftZnmaXMuBE5VxurCFcZuJcYuiK9Jtcbm9cdTAwMDGrQVx1MDAwMFpcdTAwMDf46l5A381Gvri45lx1MDAxMVx1MDAxOW310rlkoaRUYo6yn0aVwTNZ4FxcRbcxt8PXxetLveDObqpcdTAwMWNfhFx1MDAwMIM1jj6KKZ5FXGKI91xuXHUwMDA02O/gaCDiX53tXHUwMDFmj4BuXHUwMDAxckH38eTz61x1MDAxMIBcdTAwMTlNjIkqPoFcdTAwMWLB8ftPv1xmwVx1MDAwMVx1MDAxZPJry1x1MDAxMDDPcFx1MDAxYkHBwTkqUDIxJaV4qiRyj/1x9imUbFb66v6UlWHgXHUwMDAzybQkXGJpd1RQUNRjQGw97l2FYNVcdTAwMTVcdH68b3w3pjfNW13ONJ9auoyytzd9Vlx1MDAxYlx1MDAwNFx1MDAxY9+SnDK+MVx1MDAxOOtgblDXc55cdTAwMDG+Kb89t8FcdTAwMTVHXHUwMDAyU3dHXHUwMDBlXHUwMDA2uo/69JrWmvZFqi2qzb5NbqaxgONbiZPGt1x0LmMghT7DhjtxfEvCsNl69Vxy76dWqfmczUYvxGX8odNshuKdRTPY8Fx1MDAxNlxinTS8XHUwMDA1VUxr5Fx1MDAxMdhxhvdcdTAwMWV4Y4Ukl5xQ//bJmF90J81CJlFLtKKLp1Yu1ZuOXHUwMDAzXHUwMDBlcMxOXHUwMDFk4IRcdTAwMWSOhj/je1x1MDAxYt9cdTAwMDRRysFb94/vQirmlOJXkVx1MDAxYlm6ibF2WSO8ZFx1MDAwMcc3OW3/0uxcIiopXHUwMDBmbYac8b29l4BcdGfiqNNiek54IFx1MDAxZVx1MDAxYpVFJtVcXM5vW+NaMY1cdTAwMDOOb3ba/iVCmkiAzVx1MDAxOeA/XHUwMDAxcIolQ1xu+1x1MDAwN3gjXHUwMDFmXHUwMDFhXFyU0ogubrlDRfgqkSlcdTAwMDa8TpLgJ+1gaqlcdEVYnN5cdTAwMDKh+nR8K1x0XHUwMDAzh7V/+yTRjUSc7qx0XHUwMDE5vnYmeDlrRLK9fsDhLU/bweTCXHUwMDA0XGLi01s++XR4QyewicXD/lPPyqnLm6faqDa+vH8ktUXm6np+XHUwMDE38NPshDpt/5Iyok5zXHUwMDAx5cNcdTAwMDDuWSlAc29sYy5cdNJHyO5JYt7uP01mqtlcdTAwMWOMq62r2sx+XGY4trlGXHUwMDE28Vx1MDAwZVD4/FJcdTAwMDHEbEFweTBPOSjxXHUwMDA3x0B2jYw/vVaAd71cdTAwMGUqOFfIheODR2/V7sNVNo9cXFx1MDAxNePJTm6UXHUwMDFj6mwy8OeVcLF/iec9LPyAUlx1MDAwMVxmbFh1OICufH/Vo/O7xsK5nl1cXLZqic5VY1x1MDAxMMBQ0r/2tZvSaTabkFn+KVx1MDAxZJ5cdTAwMTZRhS7KoeRcdTAwMDeEqP6CWlx1MDAwMZ6JzUR6hyyAPJUmTda/x71/pFx1MDAwM6nWzJIpoVx1MDAxNJS3Jtid+nOSmc2SMYpcdTAwMTVcdTAwMTK7XHUwMDAzXHUwMDE4gq7cfKY275fbX71Tm7nrNKuvXHUwMDFmnNq8P4fi657UZlx0ndvq1Tm3+UdzX9w/f8ZmcJtcdTAwMDRbi4rgKDF9xFx1MDAxOWdcdTAwMTVF2vE0enq4vF10UjI56dVuXHUwMDAyXHUwMDFmW7y/vFCIkPdZXHJcclx1MDAxYmC8K6WZXHUwMDE4qLteOzJkdlx1MDAxOVx1MDAxMVx1MDAxOLpKXHUwMDA1XCLHXGKxn7dcdTAwMGXeocX3Wlx1MDAwN++oJLS33ens4aY4ni/zN33Nylx1MDAwZnfR0bTkXHUwMDEx7f+TiTFcdTAwMWbmS3taXHUwMDFkQnua8VKaTHt0RFx1MDAxY/D+gVx1MDAwZaTRYarFc85cYjypXHUwMDA2Wr7ho1LAViZcdTAwMThcdTAwMTdcdTAwMDRcdM1cXHVcdTAwMWI/3uhcdTAwMDCViFx0oTDmyizc611cZsVcdTAwMTaWQpn1XHJT6Ny1yrEu0mdKJVKPuITfxOrYL/k3rFx1MDAwZVxmXHUwMDAwlkbPmelVXFy7VN2LesfEwqamXHUwMDA052ZHXHUwMDEwXHUwMDE0kNx6eF9WxzFVXlx1MDAxMPhcdTAwMTVYm4wzjMBDcyfzvlx1MDAxYVx1MDAxZNTcXHUwMDAxRj+iXGYw+pogfLJWR8hcdTAwMWLh5rWN7SPtXHUwMDBlb1x0hzzzczFFXHUwMDEyXGYgdMSBXHUwMDE4+3VUMEVcdTAwMWNcdTAwMDdcdTAwMTNcdTAwMTagJE0tXHUwMDEzrF3DsZJxXHUwMDFhZJxcdTAwMTZgXHUwMDEwmsKC5vyyXybjsHHwmFx1MDAwMr3ClVx1MDAwNlG1o2JcdTAwMWJm0FdTUIJrpcFcdTAwMWHfqqtcIowljok4XHUwMDBiuFx1MDAxN1x1MDAwMadNXHUwMDA1XHUwMDA0+E9yXHUwMDEz0+AurPDBXHUwMDAy7ihfXHUwMDBmXFwmQrmp0cFcdTAwMTFcdTAwMDd9tNUrYYGDwVZyUIP2xVps9erEXHUwMDA0nCe6V1x1MDAxN9/i+kjp5llhUntcbjfGXHUwMDA0XHUwMDA3wlx1MDAxZrFcdTAwMTUyv6h1i05IhEim1L7qJWOsNppcdTAwMDRbtlH21oNcdTAwMTLizZd/5M6er+1cdTAwMGZp1Dv1XG69XGK6iPqpbY1IuFx1MDAxME5lroKxsfGjM3tcdOVdglxyezpEeFW+hJAjXHUwMDBlQORPnet5qT+5mtvhe7S8SpdcdTAwMWVijWBTXG4jbDHOQHSwlVx1MDAwN+jKpj21XCJsXFxTXHUwMDA0flx1MDAxYj9cdTAwMTQlUi7xXG5cdTAwMWRVScwhldDysdpcdTAwMWPr+a1btSVJrT1Emevac6FbXGKRdn+yrGv3XHJV5ylB6lx1MDAwZZ/ifHHp9NupyXC0UdJj8XBRvetdtjPtZaWermWuXCKtUM19Q+E51SzKNlx1MDAxZC/aOEVYbFx1MDAxNFx1MDAxM93pqeyFnmuwnWuwnWuwnWuwra+ea7Cda7BttfnrarC5NovfrmIzU0b5mDMhZ4lk+sIpZFx1MDAxZtslsWiT+eipfFx1MDAxOfDDY8BcdTAwMWOzXHUwMDE4zD0gXHUwMDEzXHUwMDE4gtSmU3Q6NdhcYtFcdTAwMDZr6lDU+olcdTAwMWFsP7811lx1MDAxYbGLcDjc7EqVvZ4kcss0uk1cdTAwMDdzq+lAXVx1MDAwZc/1XG4q0MqK8c3T1EL2xV0pVcXV2d3dZJp6XHUwMDEw417AeYq1RUCoY1Mr0WiLzbXYgNVgwyZcbtksXCJcdTAwMWSiY6TRfmqNeYbNZvlEb5hq5KqP+tO4knmIXHUwMDE38+XLXsSJLiOlu+tw9j58tZsrx1x1MDAxN2FDYIP88lxiZ7VeMN0+h8mIV7C7/C/r7Vx1MDAxZo+AXHUwMDA2SmDC9jLl86uwXHUwMDExZKpGXHUwMDFht+FcdTAwMTPYXHUwMDExXHUwMDFj1//0y7BcdTAwMWTQI7+2XGab92k2Zj9cdTAwMGV8IIb8W65hNe2kl1x1MDAxN5dp0a93tKrhzrB4c9JcdTAwMWEx+Ik6mlFTsONgIZ9/XkdcdTAwMDbE4lx1MDAxM94xf+CwmFx1MDAxMHXpX5el06N2bj7IXCJUw6FEXHUwMDFmbJN4LuClfDClm1xiZyeGcFx1MDAxM5SBXHUwMDE1PliK7Y9FOPfMRyOYXHUwMDExXCJMgohvhFx1MDAxN1wiLFpfxmPJ7FReXFxcdTAwMTVGyW5cdTAwMDM/XHUwMDA0XHUwMDFj4UyeNsJcdCGaXHUwMDEyeTCb+IzwXHUwMDFk1XxAOijCuX8rJY9V/25cdTAwMTCN2Fx1MDAxN1x1MDAwZvViWee65WE04Fx1MDAxOZdY4JNGuFxcpYNcdTAwMDXPjVx1MDAwZlxuvL3dbVx1MDAwNY4oUeKImufLzLRWLYSq6cdxL3dcdTAwMTmpNOfLy1nA4S35JrxPXGbdZuNVyDO+f1x1MDAwMt9cZnFFzDGcvvFNXHUwMDFjVbl9ciqD3jI7W4yn+WEsh1x1MDAwMo5vpU9cdTAwMTnfmn6vXHR5qFbVn4tvb1x1MDAwM1x1MDAxY0mqpcJHXHUwMDE0XHUwMDFiXHUwMDFjqFFDO/N2OX9tYoey44fqLODF2FxioqeMb0KVidM6WIstWNtcZmBPtZz2JJ9PId7qzlx1MDAxNvWHWeje1ZuvJ7Ml561cdTAwMWRcdTAwMDSSXHUwMDE4/lx0/1mZqJh3JoVONVpMt1Kx2Fxm50fPw4CzXHUwMDA3y1NmXHUwMDBmRkqZwFx1MDAwZnQ2f45cdTAwMDa4lkav6iNcdTAwMGXoy1xcXHUwMDE1q09Xi4fM9dOodOHEyj1se2VcdTAwMWRcdTAwMDdcdTAwMDXfXHUwMDE0nzK+XHQyiXLCq5LCXHUwMDE53/tcdTAwMDQ4XHUwMDE1pnaJ0v5cdTAwMDF+XHUwMDE5I/NrWlx1MDAxZqdbXHUwMDBi1S32XHUwMDFi0+hDKuBJIISdtPtcbtZcdTAwMWLCJlx1MDAxMTF49s+n13ojrsnbcl21MJtv3L9xXCLxvILojMWa9e5cdTAwMTBF5TBLhvFgY1x1MDAxYlxcc0t6rzxcdTAwMDag2Fx1MDAxYuWCI65cdTAwMGWeRve7RDn8kcXepGdSXHUwMDE0QJNhTl1RMIdYXHUwMDE4WUZcdTAwMDcjmP5FXkZZIcZcdTAwMWVcdTAwMTa1kNdpcVx1MDAwMYpH2r+E9Fx1MDAxZVx1MDAxNr672Fx1MDAxYlxiQqJ91HqLTvLjsaJOc7Zs61Kz7YxcdTAwMWVKoVx1MDAwMIas/rWv3VOr5vJyeKt0XHUwMDA38vyqai7MtdG8bVxuXHUwMDEyU3eI+1/p3T+DwVSXSlmSXG6NTGpcZjyr65TLkyxcIidcdTAwMDVhXG57rPxcdTAwMDZdafqsdrBfXHUwMDFmfPUuXCJnXHUwMDEyO1xct31oXHUwMDExuf1JIK5ObVx1MDAxNZFjQu+q53IuXCL3vbkv7p/HXHUwMDE3c2GeS/3wbVxuSerf090v8Fx1MDAwMyneKN90JsWmeFx1MDAwYkFcdTAwMGJcdTAwMWJ13ugvLIaAN7uyy1tcdTAwMDDBsdFcdTAwMWSy7T1gXHTmo2fozW9cIuGOqeeClMn5I0qb431cdTAwMTXarpJJXHUwMDE4cIsosMlcdTAwMTkx3i/+SVx051vsfpdwUq6SXG5cdKhUxlx1MDAxNN/qXHUwMDE2Vlx1MDAxNpecml5rXCLJdpGZXHUwMDEzXHUwMDEzcCFvgJvXNrSPXHUwMDE0cXuX9LhnOiPWXHUwMDFhgVx1MDAxN4KOqEEhS2OVmbQji+tEenI9XHRV9TK2XGa2nFx1MDAwYlx1MDAxMdctq1x1MDAxNEbk7WHVhZTvkWTuttfZUWrLy1wipnZcdTAwMTYo919dXGZz55qYaz4nsUkxfkk7KDpcbkcu5lx1MDAwM1XM6Mkn7i56ntMgPVGsXHUwMDE1XHUwMDAya1x0nGnfIN790MFcdTAwMDax+6CK7yD29jfeXHUwMDBiYsDmNojllkdhjjzDiHnkLFx1MDAwNV3d/tQq3Eu+zv/2w327u5g61Yl7lF+X5MTmJz9kSe6Q6PVILXJ39efMZOpKo9mKiOHm9E3J/HNvf6RDQLlnXG6LMMy0MnlUppjRXHUwMDA2XHUwMDE1mdSWMO9jaZS3a+XsJ4j5r4ZdQYjv0CxaWeBcdTAwMTcyXG5uXHUwMDEwOEKuMKX17pBxpLSQilx1MDAxOFx1MDAxM8MsXHUwMDEzvaWsllpTpH6PQvLelYG8zNT94VibZirGMNZcdTAwMThcdTAwMGJKsZZCrXPr1lYqsyhFXHUwMDAyhlx1MDAxNC4jXHUwMDAyXHUwMDA29KnbqeRccs7pRlmXbXhcdTAwMWRsT7xpUL6zPS9cdTAwMGWYXHUwMDE3s4hcdTAwMTJUXHUwMDEzZUL0XHUwMDE4lq5cdTAwMTI7voxo74VQ4blvSDBcdTAwMDVcdTAwMTFIjrE9Ro1Ip1i2n+/sxuyGLMuZZiNcdTAwMWJs+YfFpv3M9+xQvEvCcWwxJMwqN2NY7yqQyLXFhGKSXHUwMDBiKlx0Q3RHXCI1k1x1MDAxOGGPKlx1MDAwM7+9gFx1MDAxYiWbk26tkbmqVfn8IZzsRippj8VcdTAwMDFTMpUyczRcdTAwMWOmQuBcdTAwMWTijVhIUYKk4Fx1MDAxNK9cdTAwMTZAT168kSPv91x1MDAwMqR5hbaw+FHyRnhvkFx1MDAxMkBcdTAwMTYyqyb+Q5BvplxynMrOSbz8eN2ZOvUyn4VcdTAwMDJcdTAwMWVESdU/JXCoZVQ3N2mpkrnKQKxcdTAwMDWOsLSpULdafaacbtc14ZIxXHUwMDAxrP8ttlU+p9hi8HjvgVx1MDAwYvNcbm1B4kje712so9h7tVx1MDAwZUQwXHUwMDAy20f5j464bs/Tz/krdFx1MDAxN32K3pUnMbuSaLKgR0eE3tpcdTAwMWL0nVx1MDAwN9lU6zVWs7fp7/v4O1x1MDAwMjpAM36wdJF0ruMle15LXGZvnUGhxDvhWY1cdTAwMWNcdTAwMWKV9KO04dGS4OV8OTB+f/35clR6rlx0gLVPQE0p6n9RuVJcXFx1MDAxNkkjXyh3M91ea3LzMMlFSsFWUSF3XHUwMDE5rNVcIsAvOm1cdFlcdTAwMWGD+yRcdTAwMTVIXHUwMDFhXHUwMDEzZeAqwb5emtNcdTAwMTbVXFyasolcdTAwMWPG3bVe81p2XHUwMDAx/FwiZGy9j0fwP1x1MDAxN/T5Zykt74k3r9DWnH+U9Um9V9rBiafY1Nb17+5cblx1MDAxMnOKIVx1MDAxNSpcdTAwMTWa8aeGaF7fXHUwMDBlI171wv40aqtcdTAwMWTqZ1v5wJhcdTAwMGJBztQ9Ieoqr9t9MXNP7Czfc04y0spcdTAwMWOS4t8xXFzEL1x1MDAxZu7tRvmid38xj8VcdTAwMGKDbKZCg05Noi1cdTAwMDHSTmhToVx1MDAxY71ZiFx1MDAwN1x1MDAxOWmt/HHCJaKYe1x1MDAwN6xUNbGJ/ZO0tbhcdTAwMDSPglx1MDAxYv+Ac1fNtVdcdTAwMTJ73vF67pCpXHUwMDEyfbhEzIfYkz48y9fP7Ihk3W+bbVx1MDAwMPeoXGLZ/Yphb7tbXHUwMDAz8Iv3pPdcdTAwMTBSYM+lYa2IJIxJ/7VseKV9e1e4TOQj42Ym2ehcXFxc96pcdTAwMDGvZVx1MDAwM4RcdTAwMTSr+v7YlO2RxlneZKRgXHUwMDE2NqdcdTAwMGVcdTAwMTCigJKMXHUwMDA2lJFcdTAwMDBcdTAwMTdKtTqY9npmZNBcdTAwMTnJmXeSXHUwMDE3JVx1MDAxMlx1MDAxMe4+eelcdTAwMTAldaQyiKhQ/DF2g+PFfihdXG4vXHUwMDAyflxiKVCSWERxLMxeNCdcdTAwMWFvxnVSyS2FXHUwMDEwR0xIXHUwMDE4XGZCgqolMZaamCDAQ6mMZ1JcdTAwMDaelNS75ptQXG5TmH7/y0VcdTAwMTNncdfslyOVjjMkiXAq0WldXHUwMDA2/NjMXHUwMDEwxsTixKzRgU9PzG7aXHUwMDFiPYktYlLCQFx1MDAwNSlBJPc+XGLrc0lJpTm6mFx1MDAxZaxQe+ZkIDjpdTJcdTAwMWTjnoV0sVxceU/iiPXbWaq9XGIvOolOTCwnzVF/QkhhXHUwMDE0dEJSbFx1MDAxNtBMXHUwMDAxfFx1MDAwNFY63eSjOclbYrPrjUxcdTAwMTZcdTAwMGVj70ru8uSjMHHfQoBVojFWTKBcdTAwMWRBXZyY03bAk1x1MDAxMFpcdTAwMTBmXHUwMDBlq3rLSVx1MDAwMq4/wpxcdTAwMWQsanFeXCJcbsD5b95zbl6h7eleN/jF/fNnvFWXd/aG9caHXHUwMDEzRFx1MDAxMP+kf4pcXNUzMlx1MDAxYp9mKqn2vNzJhVx1MDAxZiN3XHUwMDAxJ73mXHUwMDE2k1ibXHUwMDEz3CWjXHUwMDFhbVx1MDAxZW1cdTAwMDSywKKUUJPdyo2qXHUwMDBlqFx1MDAwZTYnXHUwMDFimT7+glx1MDAxNeGzXHUwMDBl/kftYkm8q+3A1JvEU3JELWQ+TC5GLHdfXs6e5096XHUwMDFl7eTsgDNcdTAwMTIjYWFQsFxcYMI1pfitXHUwMDFlJlx1MDAxNlx1MDAwMvdAIYVMXGaWd4FcdTAwMTKsXHUwMDA0syv7KelVXHUwMDFh4Vx1MDAwMyhcdD6MRib78MzJXHUwMDEz56TQnlx1MDAwYkgw94Iy5X/56HZY7KfiuWY5NZO14uP9XHUwMDE0L0XAT/9cdTAwMGJp46hyqZiiXGZjdyGBl7OSwFHVwFfNNFx1MDAwMW/We0X3k1x1MDAxOSnMQaHk7Kn+XHUwMDA2jFSeWlJJbtJx/Mcj5KfFWIct47FEpeXcXHUwMDEw+/k2MoxcdTAwMDackcqcxlxu5lx1MDAxZdisiJvaXHUwMDEwm4zUysLgK2COqVx0XHUwMDE18V45+mRCUi2p5Ppg5ekzIVx1MDAwM09IuedcYlx1MDAwZkRMpORcdTAwMTHbnvlcdTAwMTAvdGj4onp5n8gtyuXhpMKCno0rhcXBgV/5kMZV15uUlMpi4GNqpczRtFRcdTAwMDeUkkQyU5X5YK3IMyP/WUZ+eWn0mz1cdTAwMWPmp9Dk64B+e3Lqz1x1MDAxN7vPUTZHKX95eVxcw5r6alx1MDAxZf7+8vf/XHUwMDAzY5iZlSJ9Parquet or Feather Store PARTITION Parquet or Feather Store CATALOG Parquet or Feather Store Parquet Analytics
This architecture makes it easy to point an analytics application directly to
the store files, without the need for ETLing it into a dedicated warehouse, such
as Spark or Hadoop.
The event data thrown at VAST has quite some variety of schemas. During
ingestion, VAST first demultiplexes the heterogeneous stream of events into
multiple homogeneous streams, each of which has a unique schema. VAST buffers
events until the partition hits a pre-configured event limit (e.g., 1M) or until
a timeout occurs (e.g., 60m). Thereafter, VAST writes the partition in one shot
and persists it.
The buffering provides optimal freshness of the data, as it enables queries run
on not-yet-persisted data. But it also sets an upper bound on the partition
size, given that it must fit in memory in its entirety. In the future, we plan
to make this freshness trade-off explicit, making it possible to write out
larger-than-memory stores incrementally.
Imbuing Domain Semantics In a past blog we described how VAST uses Arrow's extensible
type system to add richer semantics to the data. This is how the value of VAST
transcends through the analytics stack. For example, VAST has native IP address
types that you can show up in Python as ipaddress instance. This
avoids friction in the data exchange process. Nobody wants to spend time
converting bytes or strings into the semantic objects that are ultimately need
for the analysis.
Here's how VAST's type system looks like:
eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO2dWXPiyLLH3+dTdPR5XHUwMDFkfGpf5lxyMGaz8YJZ771BXGIkXHUwMDE2s1xiXHUwMDBiXHUwMDAxhlx1MDAxM/PdT2F3t9VcdTAwMTJcdTAwMTKoxVwi7rQjpmMswCpK+a9fZVZl1n/++PLlq72aXHUwMDFhX//68tV462ijgW5py69/bq4vXGZrNjAn6iX0/vvMnFud93f2bXs6++vf/9am06vPT111zPHHJ42RMTYm9ky993/U71++/Of9X8e9LKNja5PeyHj/wPtLn7cjkLuvlszJ+61cdTAwMTFcdTAwMDCCXHUwMDAxySD78Y7B7FrdzzZ09XJXXHUwMDFizYzPVzaXvlx1MDAwMrNxXHUwMDAzXHUwMDFlJ2xV6errZ/QwLC1qt5+37Vx1MDAwZUajsr1cdTAwMWG9N2tmqq/y+drMtsyhUVx1MDAxYuh2X71cbl3Xf3xK12Z9w/Exy5z3+lx1MDAxM2M2++lD5lTrXGbs1eZcdTAwMWFcdTAwMDA/rn50wl9fPq+8qd8o+vx981x0SYDr5mlzZFqbm/9cdTAwMGK8/3zeva11hj3VhIn+4z22pU1mU81Sz+TzfctvX4s4WtM3XHUwMDA2vb6tLmLnXHKN976FXHUwMDAyYoxcdTAwMTh0vLK5zTSvvz/n/3N+/Yn+7etP5qPRZ8s2L2TctuG0XHUwMDBmx2Mz9MGwdVN7XHUwMDAx7afZa8rMXHUwMDExXGLl3Y/W/2RMtvFmf/3xwt/f/u+zQfOprn3YXHUwMDA3ZJxBQVx1MDAxMMRcdTAwMWOjXHUwMDFmr49cdTAwMDaTobutI7Mz/DSp96t//7ndlt9vv82MXHUwMDAx8jNjQdVcdTAwMGbAguxtxcHdcVxiK3Z9KrpcdTAwMTEzga6oy4zp0cyYU69cdTAwMTUj7DFiLlx1MDAwMJBcdTAwMTRcdTAwMDJcdTAwMTHCiD+t8/szR9+u/O1v24c0v8/HbE7s8mD9MVx1MDAxMv509UZcdTAwMWJcdTAwMGZGq5+e1btdqm5Lm+PpyHhzdu3MUDc13vvjp7cnR4PexnS/dtTXMKyfrNpcdTAwMWWogf7HXHUwMDFibHP6+WpHNUBTf9DK7zPimtagN5hoo2dX+1x1MDAwMkVcdTAwMTZcYlxmiqCf0iChVHX3/rgwe83UaFWeMpKoVpmRx7bV1GKOXHUwMDBiXHUwMDA0TodcdTAwMGK8Ly5cdTAwMDBlVDKEwigtXHUwMDAyLtZ6coZKObnOvVx1MDAxOfpcdTAwMGIpisr14rJwQXxnPVAgXGbVwFx1MDAwNfa24uDuiCUusGO0PjYsKPHasFx1MDAxN1x1MDAxNlxiSiFcdTAwMTQx/kGsSGmzQed0pNgx2LpJ8dG6X+dcdTAwMDSh2FdiUlx1MDAxMEjUP/tr7Fx1MDAwMVhcdKtav0/z20Ve/UdcdTAwMTLD5TLeXHUwMDFhQ26/QkRcdTAwMDLFv7qwi7rIqy+ItkHCO1x1MDAxYsPKm+BcdTAwMWMzXHUwMDFlSWFwt8KC0PFozTJcdTAwMDau3fOH6X1cdTAwMDb19NqcjpaHRMfn9z5cdTAwMTY6uPS1a8QxXHUwMDA3kjhcdTAwMDaxXXZcdTAwMWTcXHUwMDFm8bRrKtyuhjhcdTAwMWU9XGL2XHUwMDFh91x1MDAxNleDXHUwMDAxZdyQXGJcdTAwMTjJuFx1MDAwZoCPMPZcdTAwMTdcdTAwMTFcdTAwMWamOTosPcZcdTAwMDNdd1x1MDAwZeYugOxcdTAwMTiDPVx1MDAwMNm0L1x1MDAwMj9cdTAwMTjx05lcdTAwMWHFXHUwMDA0VXPj/WWWSb7peJVqy4d+oZjsaPqsp+kxl5lcdTAwMGJcdTAwMWZcdTAwMTBEczRC8oM4NP5NZFx1MDAxOHNElLtcdTAwMTNNY1x1MDAxMVx1MDAwMVx1MDAwMlxu1/xtPlx1MDAwND04xfdv5jPLIY1dXHUwMDE2QKQ/QDDiklNBQ0RcXFx1MDAwM/sjnpZNoduyj+h9XGKvcW/hXHUwMDA3wZJcdTAwMGIs8D+IXHUwMDFm+YnNyElcdTAwMDGyY1x1MDAxNHZcdTAwMDPko4FcdTAwMTFcYlwifT1cdTAwMTCMKaNcYoZcYlXdzPL3Wu3hIVx1MDAwN9NTszjPXHUwMDE2XkaFecx15iaI8yNnIVxiXHUwMDAygCNcbiDAkWRcdTAwMTZcdTAwMTEhndtEIzGy5Cr//DLW7uuPov5qXVx1MDAxNEIoYn6WXHJcdTAwMTmRlHBcdTAwMThiuSO4P+Jp2oS4TfuIq1x1MDAxZMhr3VtcdTAwMTBcIoCaXHUwMDFkQUJkJNu+KIRUTs+QXHUwMDFk47CbIZWoXHUwMDEwof5uiJCYQIHR/lGsertnlqbz3trMXGbsbFxyXHUwMDE2XHLzsVx1MDAxM2+lYXZWN8QrM0opXHUwMDEygJCzeiFoTmdcZoPCQ/dcdTAwMTWn9afF87BdXHUwMDFiX1x1MDAxNEJcdTAwMTjwXcYjSKrhlIYgSHB3xNOuJXRFsY7rhnCvcW9hXGJgXHUwMDEwQ1x1MDAwZfg/iCFl21x1MDAxYUx6J2XIjmHYzZBvLYzCXHUwMDEw4Kc1obx9XHUwMDA2MNhfa9Yzzk9cdTAwMGLjqn3N7sxcdTAwMWPQXHUwMDFlRNVcdTAwMDQx15qbIWd3RCBVXHUwMDBloFx1MDAxMjyikYRcdTAwMTaRXCLl/M1k2p92RtdVblx1MDAwZWU7+TZHrVx1MDAwYqOIfyxcdTAwMGKqNlCGQkRpg/sjnqYtgFx1MDAxYiNHdUWk1769XHUwMDE44ZRz5Vx1MDAwMtJ/XHUwMDEwRVx1MDAxZTRbIWFyUozsXHUwMDE4id1cdTAwMTj53sRf51xiw76+XGLjhCGI2P5cdTAwMWO5MVx1MDAxYULWZP/JXFyV0+K6fdfWWqmYi83DXHUwMDExdmaOiI2xI3DWJfVEoT67eXotZFx1MDAwYrnR81ujZuu2Vr0silxi3/lcdTAwMTFcdTAwMDJASoZcdTAwMWMhmF12XHUwMDFk3Fx1MDAxZLG0a1x1MDAwMrhcdTAwMDdcIux4XHUwMDEwQXvt3iWUQyCJjGbbXHUwMDE3XHUwMDA1kfzDaUNZwSOwZznkIVx1MDAwMjo49N1cdTAwMWaPIODKXHUwMDAymdx/MeRFy8+5ZONVOdO8q+qpam6Vj3nE2MNcdTAwMGXn6sg54lhcdTAwMTBxJiSEZ11cbnkj+VJ5NilcdTAwMTTEk9lNvpRcdTAwMTJrOE9dXHUwMDE0OzjzXVxuwZxcdTAwMTHBwyymXHUwMDA3d0c87Vpwt11cdTAwMWaPXHUwMDFjjr5cdTAwMGXayssoY5ucmX9cdTAwMGU5yvP2xLBPSo9cdTAwMWRjsCeI9dHCXydcYiP+rj7Bgql+XHUwMDBmsWc+O6jQLJzO06uXxjKbmT6CtVx1MDAxZPOVXHUwMDEw73L62b1cdTAwMGZcdTAwMDKkXHUwMDAwQkRcdTAwMTNaRIS0rEZcIq3dWLPkXTNptWVcdTAwMDPfzy9rRy9cdTAwMDe+ySBUclxuXHUwMDAxXHKxTyS4O+Jp2OSk7lx1MDAwN9sveVB1u3I/OI9cdTAwMTahvSiKXFyb87Zz8D1cdTAwMDFFdozDbop8a2FcdTAwMDSKcF9XXHUwMDFmcjUjRpCEmK9cdTAwMTVfRGLR76Fii5mNXHUwMDE0V0KYIVx1MDAxYXOxuSlybj+EQ0whkuKsfkh7OVuWima+lHtBqfzdtTZcdTAwMWIlxGVBXHUwMDA0+UKEXHUwMDBixKXkcv9cdTAwMThWcHfE066pXHUwMDA3XCLH9ETIXlx1MDAxMKGKIWqWXHUwMDE2cZXvolx1MDAxOPI8XHUwMDE4n5YgO8ZgN0He21x1MDAxN4FcdTAwMWaO/dxuflCKJccgRKyYNFx1MDAwYqPE7Vx1MDAwYlx1MDAxZM1cdEktXHUwMDBiXHUwMDBiaCRXuXjrzFx1MDAxZMc6d1YhZ5gzSVx1MDAxZGmzZ8BHjra6r1xyy1x1MDAxNmS6KoJaxUom5EFcdTAwMTPST4BcdTAwMGbfvepcYlx1MDAwM4yxXGJh1sHdXHUwMDExT7Pm3GXWx2OH2CuKXHUwMDA1pZpcdTAwMTRR9fijWfZFweN6bmn2xiBPXHSQXHUwMDFkg7DHXHUwMDA1+d7GX4dcYlx1MDAwZShhXCI5UfNcdTAwMDWIQyyGdJF2fS1vR8mbZrNSX0+XY1xci7faKDkjRKC3flx0plxcQiBcdTAwMWOb+p1S+9RUb9FcdTAwMWXX8s+4WX+aXHUwMDE3m7rZ6JRn8vtoflwi1pg8abZLYNWoybuWrGasXHUwMDBlSKcvijXYv/hcdNps/Vx1MDAxNSHiuMG9XHUwMDExT+N3RPOOnr2+V/YhUqavXHUwMDA2XHUwMDFkdlx1MDAxMvO/KCBlJvPxYWFcdTAwMTRUIWXHSO4m0XvjXCJQiPvLUFxynFxmQ4723zuZ7b3cavXXp4TWXuRxq5Cr42TMQ1x1MDAwNtSTWlx1MDAxMjFcdTAwMTTW1jtdvb1lwrfNlfFcdTAwMTbRYpJcdTAwMTFcdITYJcPp9KFYzaxcdTAwMTYj2uznmjdPrYr+UHZcdTAwMTAgXHUwMDE2mMqCdeG18YJcdTAwMWF6t5BcdTAwMWOLdFd0xGVlqFx1MDAwNJR0lFx1MDAxMFx1MDAwMlx1MDAxOcrTXHUwMDBm7o54ysPFKVxijlx1MDAxOU/bXHUwMDAyKsdcdTAwMDL+Z1xyIU4hwlx1MDAwZUGdU1wiMUCZozbuXHUwMDBllN1cZoyR/lx1MDAwNW6nXHUwMDE5+enth1vdXHSGglx1MDAxYmjfm1x1MDAxOIFpwt+zXHUwMDAyarynXHUwMDEwhkiX1LOp5v1cdTAwMDKZ3WUtUdGnicw9XHUwMDFkj2IuWlx1MDAwZtNcIrpW0ZgmuZCUcp9cbqxcdTAwMTeGtLRtP1ty3Vo+rK5cdTAwMWZcdTAwMWJcdTAwMGaD+0oq3b8wpFx1MDAwNZWdJIhcdTAwMDFJ9t/BXHUwMDFm3Fx1MDAxZvGUXHUwMDA3x255nLbw5Fx1MDAxNqZJ9VQkQFx1MDAwZdr+ZlooppVOyrRcdTAwMWRQ2M60UjDT/PSqROmrV4wxIDBMlrRhXGa4yI/7i7fE3Zi2n8xcdTAwMTf2XHUwMDEy89UmKl11NoCjqudBI4XbisR6cEal+iHCJyR/XFypXHUwMDA2l0uOjyavrq5C6XFkdO1cdTAwMDA1XHUwMDA2xEt++lxubt1tmvHr80hcdTAwMDJ9M92oXHUwMDFhqlx1MDAxMVxysZlcIvfYWfSqXHUwMDBmiYqRTT1pjX7Veiy+xFt2zoSoY8bnkWMhJDA+jyVgbLfuKjiXL6x6tbJ2y3DvujBvtErZXHUwMDEzz1x1MDAxMpuv+US18XD/XCJhdV6rVlatalx1MDAxMlxc1izRsbnFbfyQM1x1MDAwNkNcdTAwMTh/cG/E0vg5Pd1SMNuvLFx1MDAwN9xcdTAwMDRkXHUwMDAx27k+dVx1MDAxMPuPwVxmcP9cdTAwMDD9k9ExLX07cI5cdTAwMTGi3zGYuyn0rXlcdTAwMTFA5Fx1MDAxOFxmPdWeXHUwMDA1wlxcjZb7XHUwMDA36XH65m5dTZnLR1J8ta/bL2O7XHUwMDFh81x1MDAwMlx1MDAwN1x1MDAxY8QqSE8lxkIyn4MuPrVEykPLtseZ14GNa3dccoNXXHUwMDFh1so5XHUwMDAzjFx1MDAwM6qqmUx18GRVXG5cYk/q+TRMaelZ97JQ5V9cdTAwMWRccmKlXGYo2f7qXGLujniqXHUwMDAzxi5Gr1x1MDAxZbvAXGbuXFxMPo1CYlx1MDAwMLN4h+h3IOHwIXpC/CUrXHUwMDAxUpNPXHUwMDE5olx1MDAxYdVieN9cdTAwMWPOp1x1MDAxNsP49vr1LYuHpVx1MDAxN1x1MDAxOXPNeoh21lx1MDAxML2aQGAunCc9XTDRWrPbZX74srBW98+5gllePCWfLmsjLmFcdTAwMDHHeyApkXOFZ2cyYGB3xFNcdTAwMWQwdlx1MDAxMXoh1U2kYPFQyFx1MDAwNVx1MDAxMu20XHUwMDAx+lx1MDAxZEg4aIBcdTAwMWX5h0ogRlx1MDAxMjDAQlx1MDAxY8aTT/VTXHUwMDE5s97PXHUwMDE3s4lm/7neMu7HMd/Jy3GsXHUwMDAy9Fx1MDAxMFFK1Vx1MDAwNFx1MDAxNJ1Dq78j9IeN0P/Kqlx1MDAxOGRQqlx0VohaQpOncsl6fV0/0fLjIPEmJ3qWXHUwMDE1Yy46wa8wRcpsqJCceo4zQcjVlMPMJ7elrXhqQqj5i4RcdTAwMTRcdTAwMWMjVH9efe1cdTAwMWaT/Gu7usRJ1fVXpKNcdTAwMTP9qUZcdTAwMDSgm1x1MDAxM633X1x1MDAwMqiul5O7ZX5BZqm7UlOv00ltsYq3wMShg45cdTAwMDBopFx1MDAwYr2S2s9FU5KiWFwisCukgnNWm1eydmfWS5urVatXXFxo8OBcdTAwMTPQiC5a8qayfFx1MDAwMylLX+qoM6+bmWpq9nhZLlx1MDAxYffPXHUwMDAxXHUwMDA2QmJOYVxieVx1MDAwNPdHPOWBPMQ5no+G94o6XHUwMDEyRFx1MDAwMKbQJ1xy+NRcdTAwMTK5KFx1MDAxZu150+ZTOmg7gODJ2N+0L1xuzPzPKpJcdTAwMDRjysNULb6b1tLilj8kXHUwMDE3+lwiUZ2sKzOUXHUwMDFhxFxcrYeON0aDmcRcdTAwMThcdTAwMDHOdma5XFxcdTAwMDTMUuXsfbrFm294gcv9+2SzQ2v0smAm/LdcdTAwMDRcdTAwMTPIOVx1MDAxNyzEXHUwMDAyc3B/xFNcdTAwMWVcdTAwMWWYXHUwMDFkMeC4XHUwMDFmzCCiXHUwMDEwQizhri3Bv2l2fprtIEJ4mvnGXHUwMDFhqX/Yg1xuhCRcbnOMS4ZcZrLLZHIxvi9pLL1Ao7pcdTAwMTn3sy5EvGKNUlx1MDAxMCZcdTAwMDHcmYt2XGaR/lx1MDAwZTWeJtSoVOVPRySwgFxm7lx1MDAxZmqUaZB/ztVvszc6LrR0ar1cZjoxT5jZXHUwMDE1alx1MDAxNPBcbmMgletcdTAwMDWEYPKMgUe0ObxcdTAwMWFcdTAwMDPIf0dcdTAwMWW/uMRcdTAwMTaryKP/UppvXHUwMDA1KoJcdTAwMTBcdTAwMTc0zFauYXGp1+fauviWv1x1MDAxYuX1vN3IXHUwMDE0Yl5cdTAwMTaEU3DF0Kbi02azL3LE8D+KXHUwMDE5QnRcdTAwMTVpXlx1MDAxYU1dcLPpkSlfYLvb9ls251xy2Fx1MDAwN1x1MDAxNP9kXHUwMDA0U4JDpIlcclx1MDAxNo+V8nxWnPdt0n5h44KWqjzEWzvufFx1MDAxNVxij3RILNpaUGrLOrREXHUwMDFjKs34TFx1MDAwZU9cdTAwMTSduHnqaFx1MDAwZuOUbopRbS2G/UVcdTAwMTnbjcuKTjDffH6ElYOMeYjS6MHdXHUwMDExS8Pm3GPYR9zfu8W2tySjXHUwMDEwXGIhwLs3+Fx1MDAxYZnObbWVXHUwMDFkXHUwMDE058Pr+6dS8rVmd54vMPawP0futOl2klx1MDAxYyNcdTAwMTNlxzDtxsumbb9cdTAwMGVcdTAwMThcdTAwMWHgXHUwMDA3SVxmMME8xLbExEDa5nw5yK6MXHUwMDE5XHUwMDFiXHUwMDE1R2n7VlxmYy5Ed1x1MDAxMFx1MDAxZJ4wiE63bNrlhFxitDv4cFx1MDAxMFx1MDAxMUbEXHUwMDEwXj6/JG56elaiJZ/fjJP9Orys4urU8fTdhzwpXHUwMDE3WPnHZH/rXHUwMDBm7o54Wr87Rlx1MDAwZU9cdTAwMWMjd1xc+74nglx1MDAwYs4o3Fx1MDAxOVwi//9Cof1jbkVj9eV/J75xcEdLXHUwMDBlXHUwMDFhXHUwMDA33zGou3m0aWXElV1cbv2hhFx0XHUwMDA1XHUwMDE4yFx1MDAxMJnKpfzojrJMpfCceL6To8RcYtjzbLxl6VnZPVx1MDAxNpT4ljRlL5SUl8k5xDv3YMSBSaDEK6PMNX6dVNdcdTAwMTnjIb9cdTAwMWGmpviymER9XSM1QedCXHUwMDEwQfZcdTAwMGaYXHUwMDA190c8rVx1MDAxZmLPsVHHzFx1MDAxNdm2u8GDJUhcYt9cdTAwMTTMl7+55OZSVVx1MDAxYs2Nc5Bpx8juJtNHO4+464hcIsCospL92fSsm6Ny18ise1x1MDAxM6Nccsq94VxmV+bxVqe7xPvRQnJwa1xymW2pIZuwOsZ0uzJPxJ23tVZcXDdK9U570kz20q326qZxaVx1MDAxYoZ8tyFQwFx1MDAxOMdhSpJcdTAwMDV3RzxccltcdTAwMDBcdTAwMGZ2zlx1MDAxZpRjXHUwMDAyYembdnFBPNk/2nY7mFx1MDAxZPjE26Bw244h2FxykffG/To+KPbfYi74plx1MDAxNlCYM0Gh9TSr6uypWIBVO/PQXFxncst6zFXmrmN7tHjbXHUwMDE2enhdXHUwMDFitNkqXGbOfMpcdTAwMTTLTlZcdTAwMTkjN2hft4qJ3Gt73VpcZqaHZMfnuH0sn4X7rvFDXHUwMDAxXHUwMDEx2Vx1MDAxNFx1MDAwYt5/Vlx1MDAxNNxcdTAwMWbxNGtOvT5cdTAwMGKLtrB/XHUwMDAwr4VcdTAwMTPlOSmCRJtcdTAwMWFcdTAwMWSAXHUwMDFlYSzwQr2RXHUwMDFkg/FxvFx1MDAxMeyb0Kd8XHUwMDExXHUwMDAyQpVJ6rfyw2x5xlx1MDAwYq3Z6u1xMC00st1JvGXnPvRWUHmlZm1cdTAwMWbH2lx1MDAxMemYMFx1MDAxY1x1MDAxMi1sXHUwMDFiW5jXMWFcdTAwMTBwuSlcdTAwMDN9XHUwMDFluGxcdTAwMWS0XHUwMDFkzzvR6qjZTGJsLW70bNZqXHUwMDE1pk+tdni4fFrgsVx1MDAxY1x1MDAxM+zvclx1MDAwM4o4JSjE0c7bv3WsrZzin1x1MDAwYldcbs6v2KGsPNhJ2bOMpeCSUL9K5yfETFx1MDAxOFuM5qT4pyNcdTAwMWPpNMNcdTAwMWSj84GT69TI5bsyKjGTm01Q+0dcdTAwMDOejZVl669txPoylVkk9ZvrcswndJzDK+V3XHUwMDBiXHUwMDAw6SZJXFz+vGtTMHIlxOZcdTAwMWPPTdI8h9G2R3e1Nlx1MDAwMNSrvq1cdTAwMTGwLXtcdTAwMDY2xctcdTAwMTElkkeSX9SFl+lcdTAwMWRaX2duW/VeSdZZQmQzj/tcdTAwMDXA/lxm+rP9XHUwMDFlwOZcdTAwMDJOilSb2KJrzIxy8m37n9Usy1xcxpBfXHUwMDEwSt9cdTAwMTVcdTAwMWSsjFxiXCJcdTAwMWPiVNDgfo6nliS4XCJcdTAwMDFakofTUvD5vFvSf7w+XHUwMDEzQZhTTOTZz3aPXG6zUDtcdTAwMGJcdTAwMTKLb35T0ratQXtuXHUwMDFis5N6TztcdTAwMTCxZZfBt1x1MDAxNjvaXHUwMDFiXHUwMDAxd1x1MDAxMPvijmGinkqY46XqxelbM1mdPT9ep1vtW9lcdTAwMWQ2Zq/xligj7Fxuc8aUSDmUjsTg77TDQklCcNVcdTAwMTHQUefz6LRzTEB/LMRcbkJcYoZURtJnRNpcclx1MDAxZUs34+mT0cwuevWl0b17zKXt37Tb3Fxm+++pg0x5K1hcdTAwMDFg/6BEcEfHU0tcXFxcXHRfLW1ePJSWgiOEW/J/ttRXYUJsXFw3XHUwMDFjSU1cdTAwMTdFO4UkxbPteDtWMvlcdTAwMGUkuPH2vYlcdTAwMWZcbvzjm6y/atNp2VZ99+NcdTAwMTl8XVxmjGVq2yD7/rP5/Psj2ejEeH90f//x939cdTAwMDG6g1x1MDAwMX0ifQ==Complex Basic Bool Int64 UInt64 String Pattern IP Subnet Double Time Duration Enum Field 1 Field N ... Record Field 1 Field N ... : Type Type ... : : Map Key Type Value Type List Value Type Type Key-value Attributes Aliases
There exist two major classes of types: basic , stateless types with a static
structure and a-priori known representation, and complex , stateful types that
carry additional runtime information. We map this type system without
information loss to Arrow:
eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1dW1fiyrZ+71/Ro8/r0l33S7+BoICAKHg9Z1x1MDAwZkeAXHUwMDAw0Vx1MDAxMDCEm3us/75cdTAwMTPalphcdTAwMWKJXHUwMDExXGKnl1x1MDAwZt2aXHUwMDA0Uql83/zmnFWz6j/fvn//YS3H6o+f33+oi46ia11Tmf/4yzk+U82JNjLsU2j192Q0NTurK1x1MDAwN5Y1nvz817+U8fh4/anjzmj465Oqrlx1MDAwZVXDmtjX/q/99/fv/1n967qXqXYsxejr6upcdTAwMDOrU+vbXHUwMDExXHS9R+sjY3VrXGIgXHUwMDA0WFIm3q/QJlx1MDAwNft+ltq1T/dcdTAwMTR9oq7POId+8Puydjq+n7a7haVep/KodMlcdTAwMWLr2/Y0XW9aS33VrMnIfpT1uYlljp7VW61rXHKce3uOh33KXHUwMDFjTftcdTAwMDNDnUw+fGY0VjqatVxcPVx1MDAwM3g/+qtcdTAwMGZ+fl9cdTAwMWZZOFe4L3E+XCJcdTAwMTjw3PxkpI9M5+b/XHUwMDAzVj/r27eVznPfboPRXV8jUEdCV1/P31x1MDAxZYmJdVx1MDAwM1x1MDAwN6rWXHUwMDFmWM5B173UVbdcIrvLoaBQvp9wbjAud1dv+N/uJze6b0/++5WvXzp8O/L3uqnO9UUvWNyAcb1H+HLeOOpU0OvTw7NSqJxMXHUwMDFh+m3v/ZE+oMtSXHUwMDE31o/3XHUwMDEzf7/9tm7ndNxVflx1MDAwMVx1MDAwNjLOoCBcYmKOyft5XTOe7ZPGVNfXx0ad5zXGvrlcdTAwMWXEXHUwMDA37tXtg3AtcCiuOWdcdTAwMDBcdTAwMTFcdTAwMDFiwzq6O7JcdGssPbDm4pimXHUwMDAxtmUqxmSsmDZ+/OC2bYVcdTAwMWbcXGJ7wVxyXHTGiEPBaCp0o83o/kpcdTAwMDCuX/TIsJra66pcdODD0VNlqOnLXHUwMDBmb2uFTLvfXG6KpbScdrs6d6Lad/2FxVx1MDAwZtfndK3voPdHx35cdTAwMGXV/Fx1MDAwMGxLs43/+1x1MDAwNUOt23Vb9I7dXGLF/k6zXHUwMDFjx1x1MDAxMI9Mra9cdTAwMTmK3vK2MZJrkULCMFx1MDAwYiOcXHUwMDE0QtikIyQ24Z5NVYyUy8tKuzIr14dcdTAwMTcjvixbX0q4rjJcdTAwMTmoX8s4ID4yTpJUQlx1MDAxMsk3jlx1MDAwMviGiU9NIEFcdTAwMThzXHRdKr+ZcFx1MDAxZqiwVWZ9XHUwMDFlbpSEwo0hXHUwMDAxXHUwMDE5SGDeS8y6a1x1MDAxOFx1MDAxZL19pKuT237BrD9cdTAwMTVaXHUwMDE5N+9er0WKdF5LXHUwMDBm9lBcdTAwMGZcdTAwMDVcdTAwMTj2QKD5XGY7XHUwMDAyXHUwMDA0QyFcdTAwMTDhXHRw9uVuy9lw3uaD2dUrnNJcdTAwMWFkSlx1MDAwMZQq1kG5LZTzMFgjICnlXHUwMDAwU1x1MDAxNFx1MDAxYtjR/ZFRYGPpXHUwMDAx9va8XHUwMDE2gv3YXHUwMDBlclpcdTAwMDBcdTAwMTVcdTAwMTRcdJHOJT8opyU/XHUwMDFh6Tt1WDbYYK/DsmpfXG71oKFRL1x1MDAwMoxcdTAwMDNcdTAwMDZAfPmQd/npS+d2IKFxNjRcdTAwMDeVSZkqlayzzCNcdTAwMWZcdTAwMTCkc1bS6lx1MDAwNyRcdTAwMDTaXHUwMDE0g/tccnvNWevkajAtPZ3Pp890+jzKvZw9XHUwMDFmln5IXHUwMDFhXHUwMDA2bCZcdTAwMTmSXHUwMDFjy/jyXHUwMDEx3Vx1MDAxZFx1MDAxOVx1MDAwNTaGrjD3XHLa21NcdTAwMTAq/OhcdTAwMGVQXHUwMDEwhFx1MDAwNWOSU5xcbt1cdTAwMDelIGXDYmSnXHUwMDEyssFcdTAwMGV7JeRXXHUwMDAzU2hIeIaJXHUwMDAzXCIwwVwifsB7Nlx1MDAxOetDneKB8lBcIpXqKF/rjUHWqebVXHUwMDEw94F9aFxiXHUwMDE1TqRL9lx1MDAxYoPA2e1cdTAwMTAhq1x1MDAwZZ7vNF4vXHUwMDFh8qrTkFx1MDAwN6UhzEVyXHUwMDBmsFx051x1MDAxMFx1MDAxMpHAOYrujoxcdTAwMDJcdTAwMWJcdTAwMTGvhkCwPVxy4ciPbr+GYGTHhlx1MDAwMvA/SEKud68hXHUwMDFi7LBXQ67Tilxio6Hxvu1cdTAwMGLbXoNkJP7wW58u+jewOSiXjpQnJMGdclvNeryPSMZcIlx1MDAxMU5cdTAwMDWQtlxy2KuKaCeVhSws5/hOL7GXe4OSNtBcdTAwMGVLRcIjXHUwMDExSO0uXHUwMDE2xI73YiM7uj8yimyewVCEUi7Fn1x1MDAxNYlcXLdOxU5FZINcdTAwMTn2iYjTvs9LXGLHXCKUaJhLXHUwMDA0XHUwMDAwdlxyzW1cIlpcdTAwMWVW7yvofIhecrNcdTAwMDeaL5k3J0Yn60TzSlxiTDmFXHUwMDAzUkVp9z4vIZRcdTAwMTNcZumeXHUwMDAzkfa8WFx1MDAwMqAyrZpcdTAwMGYt/dQoI9HoVVx1MDAwZkpCOFx1MDAwZlx1MDAxZONzMiqCcFx1MDAwMuJLSHR/ZFx1MDAxNNmUeJG9PVx1MDAwMZGxRkM450BcdTAwMDLMklxmKFx1MDAxZriAXHUwMDE0XHUwMDE3lmqsMLlLXHUwMDE12WCJvSqybuTnpUSgXGKfjWPKJGbxQ//F9dFzQY6fauPc/dHywWxdXFzOedZcdOeVXHUwMDEyhPYqJVx1MDAwMttRIEMw3XyplEpyZVx1MDAxOdPq6Uu9sKxcdTAwMDB89mhcdTAwMTVKkOdcdTAwMGZKSYRcYlx1MDAxZO+DiElJWJKcVnR/ZFx1MDAxNNheJUGIbnE+YDwtIcR+MYz9SbNcdTAwMDH3oyVcdTAwMWJM8Ta0hIfPXHUwMDA3hEzYeFx1MDAwNIzEp9xzjvbu+nBycSfwZa1RbF42ulx1MDAxN1x1MDAxOaecf3wkZViSNrNcdTAwMDUggZImm1x1MDAwYvjlYtKqNbVlXHUwMDFk5Vx1MDAxZVxu6rDUtCxyrqpnXHUwMDA3JSZcXIbmbO3eXHUwMDA1UPD4Q+zRvZFRXFy74Lb1oIRLP7RcdTAwMDNcdTAwMDZHICZcdTAwMTCDP0hHTvWRsuvBkVxyRtirXCK/m/h5XHKRJLyIg1xiKVx1MDAwMadcdFJbYorKXHUwMDE3+lx1MDAxOC67Svf6fNExK88vl1nnmldD0sYjqTWEcEYoYenyxyk1pG6eWS9LVVx1MDAxZV1cclvNi+ZcdTAwMDCAVm9xUFx1MDAxYVwiWGhAXCIlkoInwHV0b2RcdTAwMTXX0ovrbVx1MDAxNifFm+criURcdTAwMDBi9lx1MDAwN83zbWlDdWIpw/FOhWSDJfZcbsm6kZ+XXHUwMDEyzlBcdTAwMTjhXHUwMDE45Vx1MDAwMkNcdTAwMTQ/XHUwMDE4XHUwMDExMl+rXHUwMDFhlTP15pRcdTAwMTBYqU3w7SPLOOG8ia2d1ov465Io4EjS/Y6xn9SPjpaF25x1b91cdTAwMTWfXG6tQWvxfHNYKuKqlfD5R5hBit1DKJtgXHUwMDFk3Vx1MDAxZlx1MDAxOYU15Z4xdim2WecqmFx1MDAxZt1+JWFcdTAwMTgzLIFMXHUwMDA374NcdTAwMTKSwtRUrF2ntTZcdTAwMThiX5Xr7zZ+XkYoIGGMc4osk1W55rBerVx1MDAxN8HQmtPH6zp9viSwamaccJTtRkdQkI7AgFx1MDAwMldmg50y98jVXHUwMDFlpKR5xzqFa2Zqk9ua1jbMy/ZVfXhQUkJJuJRcYsYlZjRB5Uh0f2RcdTAwMTPZXGb7pWR7QsJiXHRcdMJcdTAwMTJcIkHxXHUwMDFmlNhqWua0Y32tjFijcaiGbDDCXlxyeWteXG5cdTAwMDVcdJ+uxTnEXHUwMDAw29YsNs9aXHUwMDE31nR40Sm85MSAV41bhu7us1x1MDAxZYlQzzJcdFx1MDAxMKRMabW7nV63XHUwMDFk4KtcdTAwMDE/xbB/vVx1MDAxZFwiJCBuqrsptuZS6+6sPepfXGZ4jmrWjC2rZWNx99uQ70hmarlho1g3h/NcdTAwMDeFkHbnbNDM5ZexZOavqK9cdTAwMWT0XHUwMDAxXHUwMDFlzaBxTlx1MDAxNcNcdTAwMTI9daI2cyHpNMU0R/Msylx1MDAxN1xyzVx1MDAxNDNBXGLiLMH4fnQ3Z5RVknlZtcW6+YCpxq7K3d+umWBcdTAwMTJcdTAwMDBcdTAwMDJQcK74i6mVXHUwMDAxkYPsw9Go0Vx1MDAxYk3Vu99hsMqRXHUwMDBml39ZsLRBK3yjN29NTKN0obFcdTAwMTKEkCEseIKl5azxZUObt7VG80F/oVx1MDAwNrpcdTAwMWbfkXLWSemTupTRUjqp45QzKmDIMGm2pK6aJ/fX1LhcXCr5Rak+MJqXRdiOJXXZkaTwefm2tVx1MDAxNlx1MDAwNIpcdTAwMDSzl6P7I6Pwd81cdTAwMDJ7g/9cdTAwMTbLX4ifXHUwMDAyXHUwMDAxmoRcdTAwMThcdTAwMTdcZoKQXHSV/2hSfaeatMGoXHUwMDA3a1I9WpPC+Ihx+Fx1MDAxY1CKnFwiXHUwMDE5XGZcdTAwMTJcdTAwMTTsXHUwMDEzk+Y76uK5vchccuv4ofIoXHUwMDE2t1x1MDAxOecjg545oMDlNX/pIFBcdTAwMDBcdTAwMTeRP3UnMVx1MDAwMJSElVx1MDAxMqTi4u6WsEtHuuPj40SE09WeXHUwMDE1QbeIRMeHR/BcdTAwMTLLacanSIV4xFpcdTAwMDHOu8Xxk4ZDPjfv6eL0qD64yVx1MDAxNWea0m9Psj5cdTAwMTeOMX6MKbJRQ52qSteyUm9BXHUwMDE4SkWwMH8vKHlIffzCXHUwMDFjSCpYojK0/Vx1MDAxMid+mvBnMG3ETmnzM010XHUwMDE0PiFcdTAwMDFcdTAwMTLGIFwiKIF7mFx1MDAxYnShyL8ok3Lhnlj5Qcm0lndZ585XJ1x1MDAwMsNW3lx1MDAwZVp421x1MDAxZlx1MDAxZDEhOEU05eyflGHPqS6KZvdBXHUwMDEy7bHcXHUwMDFk5lxu/Fx1MDAxYdyvXHUwMDFkolx1MDAwZujKathcdTAwMTOuXGK2MVx1MDAwMihR2X90d2RcdTAwMTPWXHUwMDFj+Mv+t5iLw/Fycc6iXHUwMDE2XHUwMDAwU3jwZZvxfavwRbe3XHUwMDE0zWwwwr5pbelcdTAwMTbcpiy0WFNcYlx0IVx1MDAwNVx0XHUwMDA2krpcdTAwMDK8ni5LuHp/M6v1XHUwMDFmYa+ab2W9VtOvXHUwMDFmKbNr6fRDMihcdFx1MDAxNyBcdTAwMWTD0upcdTAwMDdjeFK8qjTrRuloQF5woXT5emD6XHUwMDExPlx1MDAxMVx1MDAwMUBcdTAwMDRcdTAwMTlcdTAwMTIyPq6j+yObuFx1MDAwZVx1MDAxMpAtJs5iXG5cYpJAMFx1MDAxYZY4+0dAvkJANljh5Fx1MDAwMlx1MDAxMppcdTAwMGIjobkwbkdcdTAwMWacw1x1MDAwNCMzr+3yglpgNn25ar9cdTAwMGVcdTAwMWVcZuOhU37MOseylVxuQ1x1MDAxMNixOsIkXHS7/slx7SbHhWH4XHUwMDFhfVx1MDAwMFx1MDAxMERcdTAwMTN5Wu2+2WtcdTAwMGaKevmsNn8pz3StNVx1MDAxYo8zzpZNWS5cdTAwMDGPMVx1MDAwNtJcdTAwMGUvgFx1MDAxMEzuM+dla1x1MDAxNKOIZ3O7kyBcdTAwMWX9/0p5hVx1MDAwZr6EZlx1MDAwNSBcItzuyiRV0+fWslq8O1x1MDAxOSxq7OVcdTAwMTSJ6WNhYWR9glx1MDAwZcPg2PZdKbFphFx1MDAwMHIlhn/Vv0GUrmwhJW+QxIhcdTAwMDHM/8lcdTAwMTVnMVdcZsOnXHUwMDEyXHUwMDAwwCHnIMFaXHUwMDFh589cdTAwMTTw89qTcfTSb55UK7jUJoWMs8dbdlx1MDAwMOGWVol111evw6GAwUvOJJGE0L3WXHUwMDFk3L/Mli1RsKao/3BTbE9nUz5f75ryXHUwMDAxYFlccvdZaLhvv3MqQZI5YtHdkU1k2zG1XHUwMDE32VucuFx1MDAxOVx1MDAwMO6g7SpsX1x1MDAwZsE/apHYmvLFJdBRNVx1MDAwN1x1MDAxYiywVzqctn1ePFx1MDAxOFx1MDAwZVx1MDAwZl+kQFJynGBE5rZ5ad3MX4emSjulx+uH/FidXHUwMDE1M04x3zRMuK1EcVx1MDAwML2oTzo4x1Jcblx1MDAwMfZa/Px8g6tm/1x1MDAxMpnkkVxmXHQjrfvXq5PDUlx1MDAwZVx1MDAxOVx1MDAxZVJcdTAwMTDulD7TXHUwMDA0XHUwMDFisET3RzZxzVx1MDAwMPTierdpYtex9zldXGI7K/OSP2ic8VxcXX7/PyM0WexaROdLk8VcdTAwMWIssVdEnFam3eJcdTAwMTdFLXxcdTAwMDaxSLKiXHUwMDFmPZ93b9q3J+3766p1cnnWXHUwMDFilfok64TblZC4wvBcYiGBXHUwMDFjISHgnpfROK23mk+m+mS0jlx1MDAxYcb1/XLWMfuTg1JcdTAwMTJcdTAwMTaxzFx1MDAxOGZcdTAwMDA7m1UkmLNcdTAwMTLZXHUwMDFmXHUwMDE5XHUwMDA1tsS+XHUwMDFkj1x1MDAwNNviOlx1MDAxYTTAU1xuUFx1MDAxM85cdTAwMTCxXHUwMDExcPgrMsVXk1x1MDAxYkWfqvvQk1xyXHUwMDA22asnv9qZdlx1MDAwZUvE3lx1MDAxNVBcYmlcdTAwMDeiLL5cdTAwMGZXK3KzputoVnvUXHUwMDA246FBnpq3XCLjzCNoR4mtwIWZXHUwMDAyXHUwMDEyW1xiXHUwMDEwSVx1MDAxMSZ8r/MgjeH5k7hoWDcqvkFqvbssXFyV51x1MDAwNyUqXHUwMDEx8yAhsiNcdTAwMTMgk2zFXHUwMDFh3Vx1MDAxZlx1MDAxOYU2XHUwMDAzPlHJQG5cdTAwMGIzTv+opZmq2mSH62lsMMJeXHUwMDE5WTXu81x1MDAwMsJcXMst+UJcdTAwMTKObI4lqOnqXFzU9cH1uHZbXHUwMDFjX54vltVL3Mv8QprEt/fRXHUwMDBlJ0H6Q1x1MDAxMlx1MDAwNFx1MDAxOKZEXHUwMDEyuddhkX7tYnh9ZlaVxoyWZ4WBYVx1MDAxNFx1MDAxZvFBqVx1MDAwN1x1MDAwYldcdTAwMGZcdTAwMDSRwMKpII5ccuzo/sgqsNluQ1x1MDAxMlx1MDAxNivBxZ0qSoLhwVx1MDAwZo3Ej0jeWrWPmGSDRfbtW/HW0pRRiTva929daXOPJ9lcdTAwMDZcdL3c6oujeWVqNfvthjEot08metbJ54lK0q7yl2hcdTAwMTekoFX+oJPNR2y/QVx0oVbxtdK7rzVcdTAwMWG9I+1EqT8tZO6gZEWC8ExcdTAwMTdcdTAwMTBcdTAwMWNRIFx1MDAxMsTb0f2RUWRj78RfvM31YuPtg1x1MDAwNLGzXHUwMDExUlx1MDAxNlx1MDAxNoylXHRcdTAwMTCYLirZz0ZIXHUwMDFijPE2NkKSXCJcXE0kXHUwMDAy1Fx1MDAwZZNcdTAwMTNcZr9XT1/z89ZEIVx1MDAxNz3Z6t51lp3z04xTjnvFJO02SEpcdTAwMWJcdTAwMDBcdTAwMWFTTIg/qYxtI4BcdTAwMThcdTAwMTPphihTasnwoW6oj93T0lx1MDAxY95YzeqDvMovL2JpyV9RX7v9pfySWIhPaVx1MDAxNIThXCLlxD7O5uFcdFx1MDAxNvOL7uiMMlx1MDAwNktcdTAwMGZjtriieYBCXHUwMDA1hD2221x1MDAwYihcdTAwMTNcdTAwMDcvUImG9Y9+XHUwMDBmxtRUS7Fbo+x2gD/a1lx1MDAwN1xm8L+19721kfz7xf+g8Cd85z5cdTAwMDFsN4XKXHUwMDA0e2VEXHUwMDFipFx1MDAwNPTzXHUwMDE2lcShXHUwMDFm+CT9oJd+4Fx1MDAxOCBoXHUwMDA3IJxISEF4fYvKOP+8fNmOKHeUiWFJXHUwMDAxxlx1MDAwMZVjXHUwMDE0XHUwMDFmY8SZ/YacXHUwMDFhXHUwMDAy6VpE+j1QXCLMXHRRU4pbKqJS6pSwfoqoXHUwMDEzSzGtvGZ0NaP/sWHqr1vHYcaK2p3pyv5cdTAwMWWDXHUwMDBmP+tssdMxyjhQx1Wju7lcdNGrabqacFx1MDAwNI6h80JcdTAwMTCjmDpcdTAwMWKeXCJ/XHUwMDFi2DGjgDsrkNmn7a7jvjbpysQ6XHUwMDE5XHKHmmX3dGOkXHUwMDE5lrdHV12Xczg9UFx1MDAxNV81gv1M7nO2JGhcdTAwMWWHdex86Ue3Zf3b9zVFVn+8//7vv1x1MDAwMq8+XG5cdTAwMDez84OOuc0kRihznDFcdTAwMDcym79cdTAwMTCiYyYoYlx1MDAxMiFMmWvevfPj48X6+765//9cXDpcYof6I9TZXGZNwlx1MDAwNPNcZovjwahxM1x1MDAwNyar663JdccyXHUwMDExsTLujvg2xXZ/Zlx1MDAwZpti21x1MDAwMYXgXHUwMDA0ptw2+NNcdTAwMGV8oFx1MDAwM+t6xYtxk5jNx6JcdTAwMWNWW4MpnY2GVTzMoKMtXCJcdTAwMDJTXGZtjmGeYGJ48FNnXHUwMDFj2N5NsSHY/6bY0LaYyFx1MDAxNtBENayZ9LWznlxm2mCLNyWDvr1x+IcyXHUwMDFlNy27/97fw4+Zps7zQb7f6sf5/Oq1OKxQV6/v729//1x1MDAxN8WLXHUwMDAxziJ9DataType Bool Int64 UInt64 UTF8 Extension Extension Float64 Timestamp Duration Struct Field 1 Field N ... : Type Type ... : : Map Key Type Value Type List Element Type Extension Key-Value Metadata Extension
VAST converts enum, address, and subnet types to
extension-types . All types are self-describing and part
of the record batch meta data. Conversion is bi-directional. Both Parquet and
Feather support fully nested structures in this type system. In theory. Our
third blog post in this series describes the hurdles we had to overcome to make
it work in practice.
In the next blog post, we perform a quantitative analysis of the two formats: how
well do they compress the original data? How much space do they take up in
memory? How much CPU time do I pay for how much space savings? In the meantime,
if you want to learn more about Parquet, take a look at the blog post
series from the Arrow team.