4

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 .

Erick Ramirez
  • 13,964
  • 1
  • 18
  • 23
Prakash P
  • 3,582
  • 4
  • 38
  • 66

1 Answers1

6

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

RyanQuey
  • 705
  • 1
  • 9
  • 29
phact
  • 7,305
  • 23
  • 27
  • I have a use case in which random properties can be placed at vertex and edges as properties. How this can be achieved if schema changed is not allowed in production mode. – Prakash P Jan 24 '17 at 09:30
  • Suppose I deploy my `DSE` server in `development mode` instead of `production mode`. What issues I can face in future. – Prakash P Jan 24 '17 at 11:12
  • `But will require users to make manual schema changes when in production mode` could you please elaborate `manual schema` and how to do it . – Prakash P Jan 28 '17 at 08:11
  • I'm not positive, but I believe that this changes in DSE 6.8 however, which does not seem to have an option to go "schemaless", even in development mode - I haven't found an announcement about this but just have not found any docs mentioning such a development mode, and the old command does not work either. – RyanQuey Aug 16 '22 at 16:59