原始网页:https://www.cockroachlabs.com/docs/stable/migration-overview.html


CockroachDB支持从以下的数据库或是指定格式的数据文件中导入数据:

本小节将罗列出用户在迁移数据到CockroachDB时需要注意的地方,同时用户还需要根据具体的数据源,查看以下页面:

导入期间的文件存储

IMPORT功能会与外部存储文件进行交互,需要每个节点对该文件有完全统一的视图。换句话说,就是CockroachDB从一个文件中导入数据,需要每个节点拥有该文件相同的文件路径。

Schema和应用变更

通常来说,用户很可能根据需要变更Schema,或是修改应用程序与数据库的交互方式。因此我们强烈推荐用户测试其连接CockroachDB的应用程序,确保:

数据类型大小

不定长的数据类型(例如STRINGDECIMALARRAYBYTEJSONB)可能因为写放大导致一些性能问题。详见相应的数据类型的文档,查看推荐的数值大小。

不支持的数据类型

CockroachDB目前不支持ENUMSET数据类型。

在Postgres当中,用户可以使用CHECK约束模拟ENUM数据类型(示例如下)。对于MySQL,可以在导入的时候自动完成该转换。

CREATE TABLE orders (
  id UUID PRIMARY KEY,
  -- ...
  status STRING check (
    status='processing' or status='in-transit' or status='delivered'
  ) NOT NULL,
  -- ...
);