Search code examples
jsonindexingscylla

Can I create an index on maps in Scylla DB?


There is a native map type in Scylla DB https://docs.scylladb.com/getting-started/types/#maps Is it possible to create an index on it? So it would be somewhat like GIN in PostgreSQL.


Solution

  • Since maps are a type of collection, I think this GH issue pretty much sums it and what's supported (or not). https://github.com/scylladb/scylla/issues/3654#issuecomment-479639450

    Validations req mentioned in the GH issue:

    • disallow FULL indexes on non-frozen collections
    • disallow non-FULL indexes on frozen collections
    • disallow repeated creation of FULL indexes on the same collection
    • disallow referencing frozen-map entries in the WHERE clause (only allow complete map values)

    What we have:

    Non-frozen collections are currently not supported at all with proper error message, non-full indexes on frozen collections are also disallowed, repeated creation is by default forbidden for any index too. Also, I think that referencing frozen-map entries in WHERE clause should be allowed, at least with filtering.

    If you find any different behavior, please let us know and file a GH issue.