将数据从一个列族 db 传输到另一个列族

Posted

技术标签:

【中文标题】将数据从一个列族 db 传输到另一个列族【英文标题】:Transfer data from one column family db to another column family 【发布时间】:2016-08-02 06:26:11 【问题描述】:

我是 Cassandra 和列族数据库世界的新手。我有一个场景,我需要将数据从一个列族数据库(例如 Scylla 数据库)移动到另一个列族数据库 Datastax Cassandra。要传输的数据量将是百万。而且我希望这种数据传输在定期的时间间隔内发生,比如说 2 分钟。我正在探索 sstableloader 选项。还没有运气。对于我的情况,还有其他更好的方法吗?任何建议将不胜感激。

【问题讨论】:

***.com/questions/26724662/… 【参考方案1】:

(免责声明:我是 ScyllaDB 员工)

有 3 种方法可以做到这一点:

    从带有客户端时间戳的客户端向两个 DB 进行双重写入 使用 sstableloader 工具将数据从一个 DB 迁移到另一个。 使用nodetool refresh命令加载sstables

您可以在以下文档中阅读有关从 Cassandra 迁移到 Scylla 的更多信息,该文档还描述了如何从客户端执行双重写入(选项 1),以及代码示例 + 如何使用 sstableloader 工具(选项 2 )

http://docs.scylladb.com/procedures/cassandra_to_scylla_migration_process/

对于nodetool refresh 的用法,您可以查看这里:http://docs.scylladb.com/nodetool-commands/refresh/

【讨论】:

【参考方案2】:

一种常见的方法是让客户端并行写入两个数据库,而不是同步两个数据库。这样可以使两个数据库在每次写入时保持同步。

【讨论】:

在我的情况下这是不可能的@Avi Kvity

以上是关于将数据从一个列族 db 传输到另一个列族的主要内容,如果未能解决你的问题,请参考以下文章

将数据加载到 Cassandra 列族的最快方法是啥

关于列族数量的大表设计和查询

将多个列族从 hbase 导入到 hive

列族概念和数据模型

列族数据库的设计

如何从 google bigtable 中删除特定的列族数据