将空值插入 cassandra

2023-12-28

我有一些字段存储到 Cassandra 中,但其中一些字段在任何给定点都可能为空。由于它们的数量相当多,如果我在将它们添加到 INSERT 之前不检查每一个是否为空,它会使代码更具可读性。

这样做有什么坏处吗?

EDIT!!

我找到了一张 jira 票。但我无法从票证中了解到最终实施了什么解决方案。https://issues.apache.org/jira/browse/CASSANDRA-7304 https://issues.apache.org/jira/browse/CASSANDRA-7304


Cassandra 新存储引擎的美妙之处在于能够NOT存储值。它的意思就是它本来的意思:nullvalue 只是一个不应该存在的值。

这提供了很大的灵活性,因为空值未显式(或隐式,见下文)插入不会占用存储空间,也不会使用处理能力和IO带宽。

事实上,用空值填充一行非常容易:

INSERT INTO mytable (pk, c2, c3) VALUES (0x1234, null, null);

这样,您就明确告诉 C* 在 c2 和 c3 中存储空值。但是,您可以获得相同的宏观的效果与:

INSERT INTO mytable (pk) VALUES (0x1234);

请注意我说宏观的效果,因为当你显式插入一个空值时,C*will在引擎盖下插入墓碑。从长远来看,这会咬住你,因为 C* 执行搜索、压缩等的方式......所以你应该尽可能避免,第二个版本会表现得更好。

现在,还有一个陷阱:你也可以创建墓碑隐含地. This will当你使用时发生TTLCassandra 内置功能。

总之,如果您关心自己,我建议不要执行任何空值插入。在应用程序级别进行检查,您将在以后(例如在读取期间)节省时间(和金钱)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将空值插入 cassandra 的相关文章

  • Cassandra cqlsh 不适用于非分区键的 where 子句

    我的表描述是 CREATE TABLE user id text CustID int static UpdateDate date DateOfBirth date static Gender text static Address te
  • 引起原因:com.datastax.driver.core.exceptions.InvalidQueryException:日期长度应为 8 或 0 字节 (13)

    我正在尝试使用 spring data cassandra 插入数据 但是当我的应用程序使用 Spring Boot 版本是 1 5 3 运行时 我遇到了以下错误 我在spring data中添加了一个实现CrudResposity的自定义
  • 使用 TLS/SSL 保护 Cassandra 通信

    我们希望保护 Cassandra 免受中间人攻击 有没有办法配置 Cassandra 使客户端 服务器和服务器 服务器 复制 通信采用 SSL 加密 谢谢 简短的回答 不 对于客户端 服务器 节俭 151 https issues apac
  • Hector 在执行incrementCounter 后获取结果计数器值

    我们正在执行以下操作来更新计数器的值 现在我们想知道是否有一种简单的方法可以立即取回更新的计数器值 mutator incrementCounter rowid1 cf1 counter1 value Cassandra thrift AP
  • Cassandra CAS INSERT 对于具有毫秒延迟的请求超时

    我们正在对 cassandra 集群 3 个节点 复制因子 3 进行负载测试 并开始偶尔接收到写入超时异常对于一张表上的 CAS 插入操作 CREATE TABLE users by identity account ascii domai
  • Cassandra CQL v3.0 和复合类型

    我正在浏览以下文档CQLv3 0 http www datastax com docs 1 1 references cql index 我们是否应该在更新中指定复合键并选择 a b 1 以防万一comparator or key vali
  • 错误:无法连接到 cassandra 服务器。未配置的表

    我正在尝试使用这个简单的代码通过 python 的 cassandra driver 连接到在本地桌面上运行的 cassandra from cassandra cluster import Cluster cluster Cluster
  • Cassandra 按非聚集键对结果进行排序

    我们使用 Cassandra 的用例是显示前 10 个recent博客文章的访问者 以下是 Cassandra 表定义 CREATE TABLE blogs by visitor blogposturl text visitor text
  • 关于 Cassandra 与 MySQL 的一些建议

    几天前我在这里问了一个问题 得到了一些非常好的答案 我正在考虑做一个带有个人资料 个人简介等的facebook风格的网站 并询问我是否应该使用mysql 答案是使用Cassandra 因为好多了 我只是问这是每个人都会建议的 只是我对mys
  • 性能 - TTL 与在 Cassandra 中删除一行

    我们有大量数据写入 cassandra 中的数百万行 我们还有一个调度程序 需要处理这些记录并在处理成功后将其删除 想知道处理后删除行还是用 TTL 标记行 本质上是延迟删除 Deletion 与 TTL 对于 Cassandra 性能有何
  • Datastax Cassandra Windows 服务

    这可能真的很简单 但真的很烦人 当使用Cassandra BAT文件时 我们可以通过该bat文件中的JAVA OPTS参数设置最小 最大堆大小 我们可以在哪里为 Windows 服务执行此操作 我认为它使用 prunsrv 使用相同的 ba
  • Cassandra 与 ZooKeeper 的事务 - 这有效吗?

    我正在尝试在 ZooKeeper 的帮助下为 Cassandra 实现一个事务系统 由于我认为我在数据库实现方面没有足够的经验 所以我想知道我的想法原则上是否可行 或者是否有任何重大缺陷 以下是步骤的高级描述 识别所有要编辑的行 键 和列
  • Elasticsearch 与 Cassandra 对比 Elasticsearch 与 Cassandra

    我正在学习 NoSQL 并正在寻找满足客户要求之一的不同选项 在提出这个问题之前我已经查阅了各种资源 一个对NoSQL知之甚少的人 我需要以更快的速度存储数据并读取数据 完全故障安全且易于扩展 能够搜索数据进行分析 我最终得到了一个简短的清
  • 聚类键的范围查询

    我有一个表 用于记录在我的网站上执行的用户活动 我的表结构如下 CREATE TABLE key space log id uuid time bigint ip text url text user id int PRIMARY KEY
  • 如何知道 Cassandra 中键空间和列族的大小?

    最近 我开始使用 cassandra 的 Java 驱动程序 cassandra driver core 2 0 2 进行 Grails 与 Cassandra 的集成 因此 我很好奇如何知道我们的表在 cassandra DB 中存储数据
  • 如何过滤 Cassandra 中的数据?

    我在应用程序中使用 mySQL 一段时间了 收集的数据越多 速度就越慢 所以我一直在研究 NOSQL 选项 我在 mySQL 中拥有的东西之一是从一堆连接创建的视图 该应用程序在网格中显示所有重要信息 用户可以在此数据集上选择范围 进行搜索
  • Cassandra cqlsh“无法连接到任何服务器”

    在命令行上执行 cqlsh bat 时收到以下消息 Connection error Unable to connect to any servers 127 0 0 1 ProtocolError cql version 3 3 0 is
  • Cassandra LWT 读取

    据我了解 LWT 插入始终以 SERIAL 一致性级别完成 如果为 true 这是否意味着读取作为 LWT 插入的行可以安全地以 ANY 一致性级别读取 换句话说 我假设 LWT 插入是完全一致的 使得任何后续读取也完全一致 无论一致性级别
  • Apache Cassandra 中的复合索引

    我正在尝试设置一个 cassandra 列族 其中一些列上有二级索引 在读回数据时我需要进行过滤 在我最初的测试中 当我一起使用多个索引时 速度会变慢 这是我当前的配置方式 通过 cassandra cli update column fa
  • Cassandra 服务器抛出 java.lang.AssertionError: DecoratedKey(...) != DecoratedKey

    我目前正在尝试 Cassandra 在客户端 使用 Hector 我查找了一些像这样的键 ColumnFamilyResult

随机推荐