systemReplication

How to set the replication factor for the graph system keyspace of a new graph.

Synopsis

system.graph('graph_name').systemReplication("{'class' : 'NetworkTopologyStrategy', 'dc1' : 3, 'dc2' : 2 }")

Description

Create a new graph. The graph_name specified is used to create two DSE database keyspaces, graph_name and graph_name_system, and can only contain alphanumeric and underscore characters.

Examples

Create a new graph and set the graph_name replication configuration using replication()as well as the graph_name_system configuration using systemReplication(). DSE database settings for replication factor are used, either SimpleStrategy for a single datacenter or NetworkTopologyStrategy for multiple datacenters.

The default replication strategy for a multi-datacenter graph is NetworkTopologyStrategy, whereas for a single datacenter, the replication strategy will default to SimpleStrategy. The number of nodes will determine the default replication factor:
number of nodes per datacenter graph_name replication factor graph_name_system replication factor
1-3 number of nodes per datacenter number of nodes per datacenter
greater than 3 3 5
system.graph('food').
  replication("{'class' : 'NetworkTopologyStrategy', 'dc1' : 3, 'dc2' : 2 }").  
  systemReplication("{'class' : 'NetworkTopologyStrategy', 'dc1' : 3, 'dc2' : 2 }").
  ifNotExists().create()
The resulting list:
==>null
The system replication settings can be verified using the cqlsh tool, running the CQL command DESCRIBE keyspace food_system command:
DESCRIBE KEYSPACE food_system;
with a result:
CREATE KEYSPACE food_system WITH replication = {'class': 'NetworkTopologyStrategy', 'dc1: '3', 'dc2' : 2 }  AND durable_writes = true;
Important: Because the graph's schema is stored in graph_name_system, it is extremely important that the replication factor is set consistent with the table values above. If the graph's schema is lost, it renders the entire graph inoperable.

In addition to setting the replication factor for the graph_name_system keyspace, the replication factor for the graph_name must also be set.