数仓的两种轻量级数据交换格式:json与jsonb

💡 原文中文,约5600字,阅读约需14分钟。
📝

内容提要

本文介绍了JSON和JSONB的概念和区别,以及DWS中JSON和JSONB的使用方法和功能。JSON是一种轻量级的数据交换格式,而JSONB是对JSON数据进行解析和存储后的格式。JSON和JSONB的存储方式和性能有所不同,JSON在插入时性能较好,而JSONB在查询时性能较好。文章还介绍了JSON和JSONB的输入格式和常用函数及操作符。总结了DWS中JSON和JSONB的功能和优缺点,并提出了后续的演进路线。

🎯

关键要点

  • JSON是一种轻量级的数据交换格式,基于键值对的集合。

  • JSONB是对JSON数据进行解析和存储后的格式,具有更好的查询性能。

  • JSON在插入时性能较好,而JSONB在查询时性能较好。

  • JSON和JSONB的存储方式不同,JSON保留输入的空格和顺序,JSONB则删除无关细节并排序。

  • DWS支持创建列存JSON和JSONB,提供多种函数和操作符。

  • JSONB会丢弃空格等无关细节,并默认对输入键值进行排序。

  • DWS的JSON能力基本完善,支持函数、操作符和索引功能。

  • JSON的优点是支持Schema Evoluation,缺点是查询时需要完整解析,可能导致性能退化。

  • 后续演进路线包括提升JSON存储方式和查询性能,但可能增加运维和开发负担。

🏷️

标签

➡️

继续阅读