replication
How to set the replication factor for a new graph.
Synopsis
system.graph('graph_name').replication("{'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 replication settings can be verified
using the cqlsh
tool, running the CQL command DESCRIBE keyspace
food
command:DESCRIBE KEYSPACE food;
with a
result:CREATE KEYSPACE food WITH replication = {'class': 'NetworkTopologyStrategy', 'dc1: '3', 'dc2' : 2 } AND durable_writes = true;
In addition to setting the replication factor for the
graph_name
keyspace,
the replication factor for the
graph_name_system
must also be set.Restriction: The replication factor and system replication factor cannot be
altered once set for the
graph_name
and
graph_name_system
keyspaces.