Я планирую использовать объект Java как пользовательский тип и сохранить его Cassandra. Я вынимаю 2 члена данных из класса и превращаю их в первичный ключ и сохраняю остальные члены данных в настраиваемом типе. data members of my class: name, date_of_birth, occupation, last_visit, family_members, total_income
primary key: name, date_of_birth
cassandra custom type members: occupation, last_visit, family_members, total_income
Будет ли пользовательский тип данных имеет преимущества в производительности во время записи или чтения по сравнению с хранением отдельных элементов данных в терминах типов данных Cassandra.Cassandra - преимущества пользовательского типа
ответ
Будет ли пользовательский тип данных иметь какие-либо преимущества в области производительности при записи или чтении по сравнению с хранением отдельных элементов данных в терминах типов данных Cassandra.
Не совсем. Данные для пользовательских типов (UDT) хранятся в одном столбце в строке, и это должно быть быстрее, чем несколько отдельных столбцов. Но независимо от того, какую производительность вы достигнете, будет быстро стираться, поскольку данные будут сериализованы для набора результатов. Хотя CQL позволит вам читать отдельные поля UDT, если вы хотите, Cassandra все равно должен прочитать все содержимое этого столбца независимо.
Важно отметить, что определенные пользователем типы не касаются улучшения производительности. Они предлагают гибкость для достижения небольших объемов денормализации.
И просто предложение, но, возможно, имеет смысл иметь members
в качестве коллекции, с каждым элементом, содержащим данные для каждого члена семьи?