gpt4 book ai didi

nosql - Cassandra 复合型

转载 作者:行者123 更新时间:2023-12-04 15:01:29 25 4
gpt4 key购买 nike

我在 Hector 和 Cassandra 教程中看到有 DynamicCompositeType .

任何人都可以详细说明两者之间的区别

   create column family Composite with comparator ='DynamicCompositeType
(t=>TimeUUIDType,s=>UTF8Type)'
and default_validation_class=UTF8Type and key_validation_class=UTF8Type;


create column family Composite
with comparator = 'CompositeType(TimeUUIDType,UTF8Type)'
and key_validation_class = 'UTF8Type'
and default_validation_class = 'UTF8Type'

我在 Cassandra 文档中没有找到它

最佳答案

了解 Cassandra 如何存储数据以及复合实际上是什么可能会有所帮助:

  • 无论您使用哪种验证器/比较器,所有数据都存储为字节。当您指定验证器时,您只是要求 Cassandra 确保这些字节按照您的意愿进行编码。相比之下,比较器只是根据特定于您提供的编码的自然顺序对列进行排序。
  • 那么,组合就是具有特定编码的字节数组。这种编码非常简单:对于每个组件,它存储两个字节的长度,然后是字节编码的组件,然后是一个终止位,用于确定它是包含的还是不包含的。由于任何东西都可以存储在字节数组中,因此您可以拥有不同的组件类型——但您必须知道它们是什么并自己解码/编码它们。
  • 为了实现动态组合,Hector 将额外的类型数据写入字节数组,以便在读取字节时知道如何解码字节。静态组合无法做到这一点,因为没有类型信息。
  • 关于nosql - Cassandra 复合型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13601406/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com