news.volyx.in

Amazon Ion – A richly-typed, self-describing, hierarchical serialization format (amzn.github.io)

414 points by gjvc · 1766 days ago · 229 comments on HN

Article summary

Amazon Ion is a serialization format that is a superset of JSON, with both binary and text representations. It has features such as comments, trailing commas, and unquoted keys in its text format, and is compact and fast to parse in its binary format. The format is self-describing and does not require a schema. Ion's data model is designed to be flexible and efficient, with features such as length-prefixed fields and a symbol table.

Main themes

  • serialization formats
  • JSON superset
  • binary and text representations
  • self-describing data
  • schema evolution
  • performance comparison
  • format design tradeoffs

What commenters say

  • The naming of Amazon Ion with the company name is seen as unnecessary and potentially confusing due to the commonality of the word 'ion'.
  • Ion's design as a strict superset of JSON is seen as a positive feature, allowing for easy parsing of existing JSON data.
  • The use of annotations in Ion is seen as a useful feature for providing additional context and metadata, but some commenters question the design choice of prefixing annotations to values.
  • Ion is compared to other serialization formats such as Avro, MessagePack, and CBOR, with some commenters seeing it as similar to these formats, while others note its unique features and design goals.
  • The performance of Ion's binary parser is seen as a significant advantage, with its length-prefixed fields allowing for efficient sparse parsing.
  • Some commenters note that Ion's lack of a required schema is a key difference from other formats like Avro and Protocol Buffers.
  • The choice of syntax for Ion is seen as a deliberate design decision, with some commenters arguing that it is more flexible and efficient than other formats.