我正在使用OrientDB 2.0.0来测试其对批量数据加载的处理.对于样本数据,我使用的是谷歌GDELT项目的GDELT数据集(免费下载).我正在使用Java API将总共~80M的顶点(每个具有8个属性)加载到空白图数据库的V类中.
数据在一个制表符分隔的文本文件(US-ASCII)中,所以我只是从上到下阅读文本文件.我使用配置数据库OIntentMassiveInsert(),并将事务大小设置为每次提交25,000条记录.
我使用的是带有32G RAM和SSD的8核机器,所以硬件不应该是一个因素.我正在使用Java 8r31运行Windows 7 Pro.
前20M(左右)记录很快进入,每批25,000个记录不到2秒.我很受鼓舞.
然而,随着该过程继续运行,插入速率显着减慢.减速似乎非常线性.以下是输出日志中的一些示例行:
Committed 25000 GDELT Event records to OrientDB in 4.09989189 seconds at a rate of 6097 records per second. Total = 31350000
Committed 25000 GDELT Event records to OrientDB in 9.42005182 seconds at a rate of 2653 records per second. Total = 40000000
Committed 25000 GDELT Event records to OrientDB in 15.883908716 seconds at a rate of 1573 records per second. Total = 45000000
Committed 25000 …Run Code Online (Sandbox Code Playgroud) 我正在使用OrientDB 2.0.2.我正在编写一个SQL脚本,它将创建一个新的DB,构建模式,然后使用静态初始数据填充数据库.我知道如果我只是开始加载数据就会自动创建数据库,如果我开始插入记录就会自动创建这些类,但是我想在开始之前确保我的类具有正确的继承和属性和索引.数据加载.
SQL语法很简单 - 我只需要知道如何从命令行运行SQL脚本以实例化数据库,就像我在新位置部署新数据库实例或新客户一样.
谢谢.