Working with advanced data types: tuples and UDTs

Guidelines and steps for using DSE Search with advanced data types, including tuples and user-defined types (UDT).

DSE Search supports indexing and querying of advanced data types, including tuples and user-defined types (UDT).
  • The tuple data type holds fixed-length sets of typed positional fields. Use a tuple as an alternative to a user-defined type.
  • A user-defined type (UDT) facilitates handling multiple fields of related information in a table. UDTs are a specialization of tuples. All examples and documentation references to tuples apply to both tuples and UDTs.

    Applications that require multiple tables can be simplified to use fewer tables by using a user-defined type to represent the related fields of information instead of storing the information in a separate table.

Performance and memory

Tuples and UDTs are read and written as a single unit of information. Consider performance and memory impact when working with tuples and UDTs. Subfields are managed as the full tuple or UDT, and are not handled individually.

Tuples and UDTs limitations 

  • Tuples and UDTs that are used inside primary key declarations are not supported.
  • Tuples and UDTs that are used as CQL map values are not supported. Use a workaround to simulate a map-like data model.
  • Dynamic fields cannot be tuples or UDTs.
  • Tuple/UDT subfield sorting and faceting is not supported.