VoltDB 在加载数据时耗尽了 RAM
VoltDB is exhausting the RAM while loading the data
我正在尝试使用 VoltDB 的 csvloader 实用程序将数据库 tables 加载到 VoltDB 数据库中。当我尝试加载一个 table 大小为 5GB 时,Voltdb 消耗 RAM 的速度如此之快,以至于可用 RAM 从 55 GB 变为 200 MB,然后 VoltDB 进程被系统终止。
这可能是什么原因?为了避免这种情况,VoltDB 的推荐设置是什么?
您正在加载的 table 是分区的吗?这是要检查的第一件事,因为如果您在单个服务器上有默认的 sitesperhost=8,并且 table 没有分区,那么在每个 8 中都会有 table 的完整副本分区。如果 table 已分区,则根据分区键列值的散列分配在分区之间分配数据。
如果它已分区并且您仍然无法加载所有数据,那么接下来要查看的是架构。规划指南中有一些公式描述了给定数据类型和索引的内存使用情况。 VMC 界面还有一个大小调整工作表,可以根据架构为您提供最小值和最大值。您还可以 post 您尝试加载的 table 的定义,以及您在其上定义的任何索引,我们可以详细解释它每行将使用的字节数。
我正在尝试使用 VoltDB 的 csvloader 实用程序将数据库 tables 加载到 VoltDB 数据库中。当我尝试加载一个 table 大小为 5GB 时,Voltdb 消耗 RAM 的速度如此之快,以至于可用 RAM 从 55 GB 变为 200 MB,然后 VoltDB 进程被系统终止。
这可能是什么原因?为了避免这种情况,VoltDB 的推荐设置是什么?
您正在加载的 table 是分区的吗?这是要检查的第一件事,因为如果您在单个服务器上有默认的 sitesperhost=8,并且 table 没有分区,那么在每个 8 中都会有 table 的完整副本分区。如果 table 已分区,则根据分区键列值的散列分配在分区之间分配数据。
如果它已分区并且您仍然无法加载所有数据,那么接下来要查看的是架构。规划指南中有一些公式描述了给定数据类型和索引的内存使用情况。 VMC 界面还有一个大小调整工作表,可以根据架构为您提供最小值和最大值。您还可以 post 您尝试加载的 table 的定义,以及您在其上定义的任何索引,我们可以详细解释它每行将使用的字节数。