systemReplication

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:

Replication factors for different numbers of nodes
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;

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.

Was this helpful?

Give Feedback

How can we improve the documentation?

© 2024 DataStax | Privacy policy | Terms of use

Apache, Apache Cassandra, Cassandra, Apache Tomcat, Tomcat, Apache Lucene, Apache Solr, Apache Hadoop, Hadoop, Apache Pulsar, Pulsar, Apache Spark, Spark, Apache TinkerPop, TinkerPop, Apache Kafka and Kafka are either registered trademarks or trademarks of the Apache Software Foundation or its subsidiaries in Canada, the United States and/or other countries. Kubernetes is the registered trademark of the Linux Foundation.

General Inquiries: +1 (650) 389-6000, info@datastax.com