NoSQL 中什么是先读后写?

2023-11-27

我在一本书上读到:“Cassandra是一个NoSQL数据库,提倡先读后写,而不是关系模型”。

“先读后写”在 NoSQL 上下文中意味着什么?


先读后写意味着您在修改单元格之前先检查单元格的值。

Read-Before write 是 Cassandra 中的一个巨大的反模式。你读过的任何鼓励这样做的书都应该受到怀疑。通常,Cassandra 写入是在没有任何有关数据库当前状态的信息的情况下执行的。这样做的副作用之一是对 Cassandra 的所有写入实际上都是更新操作。这允许极快的写入,但确实有一些限制。

如果您确实需要在写入之前检查数据库的状态,Cassandra 提供了“检查和设置”(CAS) 操作,该操作使用 PAXOS 在修改记录之前建立数据库状态。这些写法就像update table set x = 3 if y = 1。 CAS 查询比 C* 中的正常写入慢几个数量级,因此应谨慎使用。

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

NoSQL 中什么是先读后写? 的相关文章

随机推荐

  • 如何在 python 中创建一个加密安全的随机数?

    我正在用 python 制作一个项目 我想创建一个加密安全的随机数 我该怎么做 我在网上读到 常规随机发生器生成的数字在加密上并不安全 并且该函数os urandom n 返回给我一个字符串 而不是数字 由于您想要生成某个特定范围内的整数
  • cURL 非常慢

    有谁知道为什么 php5 下的 cURL 会如此缓慢地失败 即使在 45 秒超时时 在 speedO light 服务器上下载几 kb 文件 代码按要求放在此处 尽管我进一步提高了超时 以使脚本在执行期间不会失败 并将 useragent
  • 获取 git stash 父提交

    有没有办法检索最初创建存储的提交 使用默认命令创建存储时git stash原始提交保存在隐藏消息中 因此通常如下所示 stash 0 WIP on master abc123 This is the message of some comm
  • Java有立即调用的匿名函数吗? [复制]

    这个问题在这里已经有答案了 例如 我可能想做这样的作业 在 JavaScript 中 var x function do some searching calculating return 12345 在 Java 中 我如何使用 Lamb
  • 旋转 UIAlertView

    我创建了一个自定义 UIAlertView 通过子类化它并弄乱它的show函数 它有一些自定义子视图并且具有非标准尺寸 当我创建并显示它时 它工作正常 但是 当旋转设备时 警报会旋转 然后返回到其默认大小 任何想法要覆盖什么功能 或者我应该
  • 不带参数的类方法会产生 TypeError

    这段代码 class testclass def init self x y self x x self y y self test def test print test if name main x testclass 2 3 yiel
  • 为什么 JavaScript 中是 2 == [2]?

    我最近发现2 2 在 JavaScript 中 事实证明 这个怪癖会带来一些有趣的后果 var a 0 1 2 3 a 2 a 2 this is true 同样 以下工作 var a abc 1 a abc a abc this is a
  • 在 NumPy 中更改数组边缘的值

    我将仅使用 NumPy 工具创建一个数组 就在那里 2 2 2 2 2 2 1 1 1 2 2 1 1 1 2 2 1 1 1 2 2 2 2 2 2 这是我的代码 import numpy as np x np ones 5 5 dtyp
  • 德尔福ADO查询

    有没有比 ADO 数据集更快的迭代方法 while not ADOQuery1 Eof do begin Do something ADOQuery1 Next end 我需要扫描大约 9000 个项目的数据集 并且仅提取与一组预定义的分支
  • 在运行时从扩展坞添加/删除应用程序图标?

    是否有公共 Apple API 允许您在运行时删除应用程序的停靠栏图标 我尝试通过 NSApplication 的 dockTile 替换大小为零的空视图 但这只是擦除了停靠图标 而没有回收其空间和启动指示器 我还了解应用程序 info p
  • 在node.js中设置环境变量然后在终端中使用它?

    好吧 我想在使用 node js 执行 js 文件期间添加环境变量 就像是 process env VARIABLE 值 我使用终端使用模块运行 js 文件 我可以设置变量 然后在 js 文件执行期间使用它 但我想使用 process en
  • 在 R 中创建两个向量的所有可能排列[重复]

    这个问题在这里已经有答案了 我有两个这样的向量 f1 c a b c d e1 c e f g 它们有 4 3 种不同的排列 我需要在 R 软件中创建它们的所有可能排列 例如 1 a e a f a g 2 a e a f b g 而且我的
  • 使用 JavaScript 将字节数组显示为图像

    我正在尝试使用纯 JavaScript 显示图像 字节数组 我怎样才能在 ASP NET 中实现这一目标 如果您有字节数组 请首先将其转换为Base64String然后你把它放在img像这样的标签 对于 PNG 图像 img src dat
  • php - 将“%C3%BC”翻译为 ü

    在一个页面中 我有这个参考 a href Schulte Einf C3 BChrung pdf Page a 我编写了一个函数来查看引用的文件是否存在 但在本例中 该文件名为 Schulte Einf hrung pdf 我知道C3 BC
  • 如何在pyspark中使用log4j配置特定记录器的日志级别?

    From thisStackOverflow 线程 我知道如何在 pyspark 中获取和使用 log4j 记录器 如下所示 from pyspark import SparkContext sc SparkContext log4jLog
  • 防止位图太大而无法上传到纹理android

    我需要以图库形式全屏显示原始图像 对于拇指来说 它将完美地工作 当我尝试使用原始源全屏显示该图像时 它将无法显示 大多数情况下 如果图像分辨率大于2000 则会显示错误位图太大 无法上传到纹理 android 我想阻止这种情况 我搜索谷歌但
  • 在条件作用域内声明隐式类型变量并在外部使用它

    在下面的简化代码中 if city New York City var MyObject from x in MyEFTable where x CostOfLiving VERY HIGH select x else var MyObje
  • 如何从Unity Player返回到之前运行的Android Activity?

    我遇到了与本主题中提到的相同的问题将 Unity 与 Eclipse 集成 单击后退按钮但建议的解决方案不起作用 我有一个嵌入本机 Android 应用程序的 Unity 播放器 我可以毫无问题地启动 Unity Player 但现在我想使
  • 如何修复 iOS 中的“TIC SSL 信任错误”?

    当我尝试使用网络服务登录应用程序时 我也设置了我的plist file像下面这样 我收到以下错误 我的控制台上显示此错误 TIC SSL Trust Error 5 0x1c017fbc0 3 0 NSURLSession NSURLCon
  • NoSQL 中什么是先读后写?

    我在一本书上读到 Cassandra是一个NoSQL数据库 提倡先读后写 而不是关系模型 先读后写 在 NoSQL 上下文中意味着什么 先读后写意味着您在修改单元格之前先检查单元格的值 Read Before write 是 Cassand