Loading Batches Directly into ROS

When loading large batches of data (more than 100MB or so), you should load the data directly into ROS containers. Inserting directly into ROS is more efficient for large loads than ClosedAUTO mode, since it avoids overflowing the WOS and spilling the remainder of the batch to ROS. Otherwise, the Tuple Mover has to perform a moveout on the data in the WOS, while subsequent data is directly written into ROS containers. This results in the data from your batch being segmented across containers.

When you load data using AUTO mode, Vertica inserts the data first into the WOS. If the WOS is full, Vertica inserts the data directly into ROS. For details about load options, see Choosing a Load Method.

To directly load batches into ROS, set the DirectBatchInsert connection property to true. See Opening and Closing the Database Connection for details on all of the connection properties. When the DirectBatchInsert property is set to true, all batch inserts bypass the WOS and load directly into a ROS container.

Example usage:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using Vertica.Data.VerticaClient;
namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            VerticaConnectionStringBuilder builder = new VerticaConnectionStringBuilder();
            builder.Host = "192.168.1.10";
            builder.Database = "VMart";
            builder.User = "dbadmin";
		builder.DirectBatchInsert = true;	
            VerticaConnection _conn = new VerticaConnection(builder.ToString());
            _conn.Open();
	    //Perform some operations
            _conn.Close();
        }
    }
}