0

我正在创建从 Oracle 到 Vertica 的流程!我们正在寻求创建一个可以运行大量报告的 Vertica 数据库。现在一切都很酷 Vertica 快速空间使用非常好,一切都很好,直到我们进入将数据从 Oracle 传输到 Vertica 的主要部分。好的,初始加载没问题,从 Oracle 转储到 csv 到 Vertica,加载时间是个玩笑,到目前为止,每个人的事情都是不好的玩笑,或者发生了一些神奇的事情!好是简单快速。现在坏部分 -> 数据库正在运行 ORACLE/VERTICA - 我在 ORACLE 中更改了数据,因此我需要在 VERTICA 中复制我的数据。现在做什么:根据我的测试以及我对 Vertica 插入的了解,除非每秒最多 20 次,否则不使用更新 - 所以实时复制是不可能的。

因为 VERTICA 中的显式数据更改会导致性能下降。

所以我正在寻找一些关于如何解决这个问题的想法,我知道我不能:

  1. 改变我的 ORACLE 生产结构。
  2. 使用 ORACLE 环境资源过滤数据。
  3. 无法在我的 VERTICA 加载过程中使用插入、更新或删除语句。

我依赖的东西:

  1. 复制命令的使用
  2. 数据一致性
  3. 最多 60 分钟的窗口(每 60 分钟 - 新/更改的数据需要转到 VERTICA)。

我看过Continuent data replication,但现在好像有人想卖他们的产品,我联系不上他们。

4

2 回答 2

0

将整个数据加载到新表然后替换它们是否可以接受?

copy new() ...
-- you can swap tables in one command:
alter table old,new,swap rename to swap,old,new;
truncate new;
于 2012-11-06T15:42:20.970 回答
0

从 Oracle 中提取数据(以 .csv 格式)并使用 Vertica COPY 命令加载它。编写一个简单的 shell 脚本来自动化这个过程。

我曾经使用 Talend(ETL),但它非常慢,然后转移到传统工艺,它对我真的很管用。目前处理 18M 条记录,我的整个过程不到 2 分钟。

于 2017-04-27T19:55:53.503 回答