大概有多快JSON - > Postgres 9.4中的JSONB列转换

时间:2015-12-02 12:11:42

标签: json postgresql database-migration postgresql-9.4 jsonb

我正在寻求从Postgres 9.3迁移到9.4,并在JSON列中拥有大量数据。虽然很好,但我想看看迁移到更高效的列存储(JSONB似乎是一个非常令人兴奋的技术!)。

要实际迁移,我想了解类似

之类的迁移特征
ALTER TABLE table_with_json
    ALTER COLUMN my_json
    SET DATA TYPE jsonb
    USING my_json::jsonb;

(来自this helpful question)。

理想情况下,了解迁移1mil和10mil条目需要多长时间以及它如何扩展将是一件好事。

虽然我自己可以得到这些数字,但我认为这个问题可能对其他人有帮助。如果我最终自己尝试这个,我肯定会为其他人提供答案,但不确定何时会发生。

2 个答案:

答案 0 :(得分:5)

从JSON迁移到JSONB需要282秒。它基本上匹配使用SQL INSERT插入数据所需的时间。

测试环境:

  • PostgreSQL 9.5
  • 4核,16GB RAM
  • 2KB /行JSON内容
  • 520万行

答案 1 :(得分:2)

一些用于测试实例迁移的后台编号:

  • PostrgeSQL 9.6
  • 2个vcpu内核,8GB RAM,EBS最大带宽,450 MBit / s
  • 93万行
  • json的20KB /行

花66:40分钟-4000秒。
在迁移期间,写入IOPS约为250,读取为50,在整个运行过程中cpu保持在60%。