Bringing together the Apache Cassandra experts from the community and DataStax.

Want to learn? Have a question? Want to share your expertise? You are in the right place!

Not sure where to begin? Getting Started

 

question

baid_manish_187433 avatar image
baid_manish_187433 asked ·

DSE Graph 6.8 vertexes/edges modeling

In DSE 6.8 Graph, it seems like, in 6.8, an edge (irrespective of whether the label is re-used) from a vertex is created as a separate table, and a materialized view is created for bi-directional traversals.

so, theoretically, if I have 15 vertex labels where each is connected to each other - number of tables would 105 + 15. On top of that, some edges would require bi-directional travel (let say 25), total tables would be 145.

Have the best practices (<200 tables) changed in 6.8? Can you share some capacity and best practices reference for DSE Graph 6.8 as there is substantial amount of re-design?

dsegraph
10 |1000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.

1 Answer

bettina.swynnerton avatar image
bettina.swynnerton answered ·

Yes, DSE Graph 6.8 adds dedicated edge tables for each connection, and it is possible that this leads to more tables than before in DSE 6.7 and earlier, with the same schema. However, the dedicated edge tables will in general lead to a significant performance improvement, especially for edge traversals, and they also now allow the indexing of edge data, so the additional tables are not necessarily a disadvantage.

The guidance to stay below 200 tables is not new, and it is also not specific to Graph. Having too many tables in a Cassandra cluster can lead to performance degradation. It is highlighted here in the documentation about anti-patterns. The document gives some details about the memory overhead for tables. (this hasn't changed with 6.8)

https://docs.datastax.com/en/dse-planning/doc/planning/planningAntiPatterns.html#planningAntiPatterns__AntiPatTooManyTables

For general capacity planning and best practices, this is a good starting point:

https://docs.datastax.com/en/dse-planning/doc/planning/capacityPlanning.html

And if you are planning to use Search with Graph, please also review the guidance for DSE Search:

https://docs.datastax.com/en/dse/6.8/dse-admin/datastax_enterprise/search/tuningIndexing.html

I hope this helps

Share
10 |1000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.