在记录级别使用 RDBMS 的二进制编码

问题描述 投票:0回答:1

因此,如果我理解正确的话,当我们想要更好的性能时,我们可以选择二进制格式(protobuf、thrift 或 avro),因为数据以更紧凑的方式表示,并且我们没有 JSON/XML 解析的额外开销(或者甚至 CSV)。
我可以理解,这在文件包含大量记录或通过网络连接发送数据的情况下非常有用。
我不清楚的是,二进制格式是否也可用于在 RDBMS 中保存单个记录。在我看来,这不可能是因为我们没有能力根据任何属性搜索记录,而 RDMBS 已经支持这些属性,例如MySQL。
那么,将二进制协议与 RDBMS 结合使用有哪些有用的用例(保留复制整个 RDBMS 以二进制格式进行备份)?

mysql optimization protocol-buffers avro thrift
1个回答
0
投票

我不知道protobuf,thrift或avro的细节,但我假设它涉及(1)压缩,(2)以二进制形式存储,(3)读取时解压缩。

如果您没有千兆字节的数据,则建议的优化被认为是不成熟的。

文本(英语、JSON、CSV、XML、C 代码等)压缩率约为 3:1。 虽然这减少了所需的磁盘空间和网络成本,但它是以 CPU 进行压缩和解压缩为代价的。 XML 明显比 JSON 或 YAML 庞大。 (所以我从不“选择”XML。)

大多数图像格式以及 PDF 都已压缩。 因此,压缩它们会适得其反。

© www.soinside.com 2019 - 2024. All rights reserved.