Hacker News new | ask | show | jobs
by jonhohle 3715 days ago
In practice there are three properties that help with schema evolution:

    1) open types - typically applications consuming Ion data 
       do  not restrict the fields included (that is, they 
       gracefully ignore, and often even pass along additional 
       fields). Schemas may grow while being backwards 
       compatible with existing software.
    2) Type annotations allow embedding schema information into 
       a datagram without the need for agreeing on special 
       fields. Datagrams may have multiple values at the top 
       level, so its possible to provide multiple 
       representations without introducing a new top-level 
       container.
    3) The only data might need to be shared between a producer 
       and consumer is a SymbolTable which may be applicable to 
       several schemas and may be shared inline if necessary.
       Otherwise, objects in a datagram are always inspectable 
       and discoverable without additional metadata.