我正在使用OrientDB开发POC . 我已经在3台服务器上进行了设置 . 我阅读了OrientDB文档,并希望了解以CSV文件形式加载数据的最佳方法 . 具有3个类顶点和3个类边的模式应该彼此互连 .
以下是我的一些问题:
1)如果我为每个类创建3个集群并将每个集群分配给其中一个服务器,那么它在ETL性能方面是否有意义? (基于这个链接:http://orientdb.com/docs/2.2.x/Distributed-Sharding.html我现在不担心容错性)
2)关于ETL存储过程,我正在考虑3种选择:
-
OrientDB提供的ETL工具(包含所有可能的优化)
-
使用OGraphBatchInsert
-
以文件形式存储(http://orientdb.com/docs/2.2.x/Graph-Batch-Insert.html)
对于第二种和第三种方法,我需要手动提供记录ID,我的疑问是如何确保不创建重复顶点 . 索引会帮助避免这种情况吗?以上3种方法在性能方面有何比较?
3)是否可以使用ETL工具中的“plocal”选项将OrientDB集群的一台服务器存储在该机器中?
4)即使OrientDB在分布式模式下运行,是否可以对ETL使用plocal选项?
1 回答
有道理 . 还要注意副本,因为如果你将3个服务器复制到所有服务器,它会更慢(当然)
我建议你使用ETL如果你慢了't need complex transformation. if it',你可以用Java编写你的代码片段
和4.它受支持,但不支持来自oetl.sh脚本 . 您必须编写一个带有几行coed的Java类,它们(1)启动分布式服务器作为embedded,然后运行ETL主类(com.orientechnologies.orient.etl.OETLProcessor) .