Format Atlas

Comparar

Avro ou CBOR

Apache Avro codifica registros conforme um esquema e oferece resolução entre esquemas de escrita e leitura e arquivos contêiner. CBOR é um formato binário geral com modelo de dados que amplia JSON, incluindo bytes e tags.

Qual formato você deve escolher?

Considere Avro para esquemas gerenciados, registros tipados e evolução de esquema em pipelines. Considere CBOR para valores binários genéricos, tags e mensagens de protocolo definidas por padrão IETF.

Indicado para Avro

Trocar registros com esquema definido

  • Eventos e pipelines com versões de esquema

Indicado para CBOR

Troca de dados estruturados em dispositivos e redes com recursos limitados · Representação de dados em COSE e protocolos de IoT

  • Representar dados semelhantes a JSON em formato binário compacto
  • Usar tags padrão ou definidas pela aplicação para indicar significado

Informações básicas

CampoAvroCBOR
Extensão.avro.cbor
Tipo MIMEapplication/avroapplication/cbor
Usos comunsTrocar registros com esquema definidoTroca de dados estruturados em dispositivos e redes com recursos limitados · Representação de dados em COSE e protocolos de IoT
Como abrirUse ferramenta Avro para conferir esquema, campos, tipos e registros.Leia com uma biblioteca ou decodificador CBOR e examine a notação de diagnóstico ou uma visualização semelhante a JSON. Confira como aparecem os valores sem equivalente direto em JSON, como tags e sequências de bytes.
Exportar ou converterAo converter para JSON ou Parquet, confira nomes, tipos, nulos, tipos lógicos, quantidade de registros e compatibilidade.Na conversão para JSON, sequências de bytes e valores com tags podem exigir representações próprias da ferramenta. Para assinaturas, hashes ou chaves de cache, siga as regras acordadas pelo protocolo, como a codificação determinística da RFC 8949.

Escolha por finalidade

Eventos e pipelines com versões de esquema

Trocar registros com esquema definido

Avro

Representar dados semelhantes a JSON em formato binário compacto

Troca de dados estruturados em dispositivos e redes com recursos limitados · Representação de dados em COSE e protocolos de IoT

CBOR

Usar tags padrão ou definidas pela aplicação para indicar significado

Troca de dados estruturados em dispositivos e redes com recursos limitados · Representação de dados em COSE e protocolos de IoT

CBOR

Ponto principal 1

Avro exige o esquema de escrita para decodificar; seu arquivo contêiner pode carregá-lo. CBOR codifica itens tipados como mapas e tags, mas a evolução de esquema da aplicação é definida à parte.

Mais sobre as diferenças

Ponto principal 2

Avro define registros, unions, enumerações e tipos lógicos por esquemas. CBOR define inteiros, bytes, arrays, mapas e tags sem impor um sistema de esquema para registros.

Mais sobre as diferenças

Mais sobre as diferenças

Use Avro quando produtores e consumidores gerenciam esquemas compatíveis e evolução de registros. Use CBOR quando o protocolo precisa de um modelo binário geral compacto, com bytes ou tags. Verifique distribuição de esquemas, codificação determinística e suporte das implementações.

  • Dados Avro são interpretados pelo esquema de escrita; arquivos contêiner podem incluí-lo. Itens CBOR carregam informação binária de tipo, mas contratos de esquema da aplicação não vêm automaticamente.
  • A resolução do Avro pode conciliar esquemas de escrita e leitura. Tags CBOR acrescentam semântica a itens comuns, mas as partes precisam concordar sobre significado e tratamento.
  • As codificações não são intercambiáveis. Na conversão, confira unions, tipos lógicos, padrões, dados ausentes, tags CBOR, limites de inteiros, bytes, codificação determinística e extensões desconhecidas.

Perguntas frequentes

CBOR decodifica dados Avro sem esquema?

Não. As codificações são diferentes e Avro precisa do esquema de escrita. A conversão deve mapear explicitamente o esquema e os valores para itens CBOR.

Saiba mais

Referências e especificações