Search code examples
cassandradatastax-enterprisedatastax-java-driverdatastax-enterprise-graph

Dse graph schema full or schema less


I am confused if DataStax graph is schema full or schema-less.

I am asking this question because getting started tutorial tells to create schema. But I inserted random key-value on edge properties and DSE graph accepted it without error.

Will it be problem if I insert random Vertex or edge properties (key-value) on DSE-Graph .


Solution

  • DSE Graph does schema changes automatically when in developer mode:

    schema.config().option('graph.schema_mode').set('Development')
    

    But will require users to make manual schema changes when in production mode:

    schema.config().option('graph.schema_mode').set('Production')
    

    The data for DSE Graph is stored under the hood in DSE which means there are cassandra tables representing your graph's adjacency lists. Those tables have a schema which allows the database to scale linearly and horizontally while maintaining high performance.

    Schema changes are transparent to the user during development, but deliberate and required during Production.

    See the DataStax docs for more details: https://docs.datastax.com/en/dse/6.7/dse-admin/datastax_enterprise/graph/config/configGraphOverview.html?hl=graph%2Cschema#configGeneralGraphSettings__schemaMode