百万节点和边从0.44迁移到0.5的方法有哪些?
What are the methods to migrate millions of nodes and edges from 0.44 to 0.5?
我正在将整个 Titan 图形数据库从 0.44 迁移到 0.5。大约有 1.2 亿个节点和 9000 万个边,它们是千兆字节的数据。我尝试了 GraphML 格式,但它没有用。
你能建议迁移的方法吗?
按照您描述的大小,您可能会使用 Titan-Hadoop/Faunus 执行最有效的迁移。一般过程是:
- 使用 Faunus 0.4.x 从图表中提取数据作为 GraphSON 并将其存储在 HDFS
- 使用 Titan-Hadoop 0.5.x 读取 GraphSON 并写回您的存储后端。
确保在执行第 2 步之前已在目标后端创建了架构。
顺便说一句,GraphML 不是这种大小的图表的好格式 - 如果它能正常工作,它将花费太长时间并且需要大量资源。您可能想知道如果您使用 Faunus/Titan Hadoop 为什么不使用序列文件...在这种情况下您不能使用的原因是因为我相信 0.4.x 之间存在版本差异和 0.5.x 关于 Sequence 文件的文件格式。也就是说,0.5.x无法读取0.4.x序列文件。 GraphSON 对两个版本都是可读的,因此它是一种理想的迁移格式。
我正在将整个 Titan 图形数据库从 0.44 迁移到 0.5。大约有 1.2 亿个节点和 9000 万个边,它们是千兆字节的数据。我尝试了 GraphML 格式,但它没有用。
你能建议迁移的方法吗?
按照您描述的大小,您可能会使用 Titan-Hadoop/Faunus 执行最有效的迁移。一般过程是:
- 使用 Faunus 0.4.x 从图表中提取数据作为 GraphSON 并将其存储在 HDFS
- 使用 Titan-Hadoop 0.5.x 读取 GraphSON 并写回您的存储后端。
确保在执行第 2 步之前已在目标后端创建了架构。
顺便说一句,GraphML 不是这种大小的图表的好格式 - 如果它能正常工作,它将花费太长时间并且需要大量资源。您可能想知道如果您使用 Faunus/Titan Hadoop 为什么不使用序列文件...在这种情况下您不能使用的原因是因为我相信 0.4.x 之间存在版本差异和 0.5.x 关于 Sequence 文件的文件格式。也就是说,0.5.x无法读取0.4.x序列文件。 GraphSON 对两个版本都是可读的,因此它是一种理想的迁移格式。