大对象(LOB,Large Object)是指数据库中存储的超大文本或二进制数据,如文本文档、图片、音频等。在数据库应用中,大对象常用于存储非结构化数据,为应用提供完整的数据存储解决方案。
OceanBase 数据库支持两种大对象存储方式:行内存储与行外存储。行外存储的大对象,每次访问都需要额外的 I/O 操作,会带来一些性能挑战。大对象存储性能最佳实践介绍了应对该挑战的几种方案,并给出了具体示例,也涉及了解决 JSON 数据大开销的优化内容。
《OceanBase 最佳实践》会持续发布和更新,想要查看更多和更新内容可以访问这里。
3 个赞
JSON 列数据量大的时候空间占用还是挺大的,如果这个文档能增加一些查看 JSON 列空间消耗的 SQL 脚本 就更好。
此外,性能如何还有待观察。
顺便反馈一个 OCP 显示问题。租户里数据库里表有 JSON 列,但是空间大小看起来是统计到“索引”里。这个是不对的。
3 个赞
兹拉坦
#3
如果用 varchar 或者 test 可以完成 longtext 的存储任务,longtext 是不是可以基本等价于 varchar(8192)?也就是扩大了字符数上限的 varchar?
行内存储的场景下,longtext 和 varchar(N) 一样,都是变长字符串类型,个人理解这种情况下直接用 longtext 也不会带来额外的内存占用和影响访问速度吧?为啥需要 “使用更小的存储类型可以减少内存占用和提高访问速度” 呀?
2 个赞