cassandra CQL 中的内连接

2024-01-26

如何在 cassandra 中编写子查询/嵌套查询。 CQL 中是否提供了此功能?

我尝试过的例子:

cqlsh:testdb> select itemname from item where itemid = (select itemid from orders where customerid=1);

它只是抛出以下错误 -

Bad Request: line 1:87 no viable alternative at input ';'

由于其分布式特性,Cassandra 不支持 RDBMS 样式连接。当您想要加入之类的东西时,您有几种选择。

一种选择是执行单独的查询,然后让您的应用程序本身加入数据。如果数据相对较小并且您只需执行少量查询,那么这是有意义的。根据您上面给出的示例,这可能对您来说是一个很好的解决方案。

对于更复杂的连接,通常的策略是对数据进行非规范化并存储物化视图的加入。这样做的优点是,获取这些数据比每次需要时都必须将其构建到应用程序中要快得多。现在的代价是您有多个位置存储相同的数据,并且您需要保持所有数据同步。您可以在新数据进入系统时更新所有视图,也可以使用定期批处理作业来重建它们。

您可能会发现这篇文章很有用:您真的需要 SQL 在 Cassandra 中完成这一切吗? https://maxgrinev.wordpress.com/2010/07/12/do-you-really-need-sql-to-do-it-all-in-cassandra/它有点旧,但它的原则仍然适用。

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

cassandra CQL 中的内连接 的相关文章

随机推荐

  • Gitignore 不会忽略 .vs 文件夹

    我们已经尝试了 gitignore 中的各种显式和通配符条目 但是隐藏的项目 vs文件夹作为 Visual Studio 的一部分不断得到提交 由于这些是开发人员的个人设置 因此它们显然总是不同的并显示在 git diff 中 我该如何解决
  • ASP.NET MVC 应用程序默认为实时站点上的登录视图、本地主机上的主页视图

    我正在使用 ASP NET MVC 创建网站 我将其发布到网络上 由于某种原因 出现的是登录视图而不是主页视图 我根本没有实现 不确定我是否打算 任何形式的登录 因为这是一个相当简单的网站 我 99 确定我忽略了一些极其简单和明显的事情 但
  • git 从远程存储库拉取所有分支

    如何将所有远程分支拉到我自己的存储库 如果我输入 git branch a 我得到一长串分支列表 但如果我输入 git branch 我只看到其中 2 个 我该如何拉ALL分支到我的本地列表 我知道我能做到 git checkout tra
  • 如何将 Bootstrap div 与“spanX”类居中?

    我使用 bootstrap 并尝试将 div span7 居中 如下所示 div class row fluid div class span7 Lorem ipsum dolor sit amet div div 我的CSS代码是 mai
  • 从父视图控制 NSTabViewController

    我正在使用故事板和 swift 我目前有一个 NSWindowController 其中有一个 NSTabViewController 作为 contentViewController 我现在尝试通过代码从 NSWindowControll
  • 在 Apigee 中,如何使用 AccessEntity 政策以及稍后在 Javascript 中为开发人员获取自定义属性值?

    有一个分配给开发人员的自定义属性 称为 XYZ 在API代理中 AccessEntity策略 以及教程中给出的AssignMessage和ExtractVariable策略 如何 http apigee com docs api servi
  • IntelliJ IDEA 无法解决良好的工作 gradle 依赖关系

    我目前正在使用 Gradle 开发一个 Kotlin 项目 源代码在这里 https github com axelrindle Broadcaster Plugin 这是一个 Bukkit 插件 依赖于我维护的库 库源代码在这里 http
  • AngularJS $scope 表单属性在 ng-submit 后未定义

    我从 Angular 开始 但我仍然对语法和许多不同的编码方式感到非常困惑以获得相同的结果 我最新的问题是 当我提交表单时 我无法通过执行以下操作来获取其值 scope attribute name HTML div src div div
  • Rails 4:带有关联的 form_for

    Rails 和 ruby 新手 挣扎着form for和协会 我正在尝试设置一个 Rails 应用程序 允许用户从客户端列表中进行选择 客户通过以下方式关联has many through关系 我让模型按预期工作 并且我可以通过 Rails
  • 使用 androids 可视化器类获取可变频率范围

    我想获取智能手机播放的声音的某些频率范围的值 以便我可以通过蓝牙将它们转发到可视化这些范围的设备 这些范围是 0 63Hz63 160赫兹160 400赫兹400 1000赫兹1000 2 500Hz2 500 6 250Hz6 250 1
  • MySQL“错误 1046 (3D000):更新查询时未选择数据库”

    我有一个 UPDATE 查询 其中明确引用了数据库 但 MySQL 仍然抱怨以下消息 ERROR 1046 3D000 No database selected 其他结构相似但使用 INSERT 的查询可以正常工作 其他仅执行 SELECT
  • Endpoint包含授权元数据,但未找到支持授权的中间件

    我目前正在将本地开发的应用程序迁移到数字海洋中的 Ubuntu 16 04 Droplet 我正在使用 NET Core 3 1 并已为其配置了我的服务器 但是 当我导航到控制器上使用 Authorize 属性 我仅在我的生产服务器上 而不
  • LINQ to XML 和 DataGridView

    您好 我第一次尝试使用 DataGridView 和 LINQ 这就是我正在尝试做的事情 我想使用它 尽管它不必使用 DataGridView 来读取和显示 XML 文件的内容 这部分是下面的工作代码 但我想在表单或 DataGridVie
  • 两个ArrayList 一个RecyclerView Adapter

    我有一个聊天屏幕 我可以在其中与其他用户聊天 我正在将聊天数据 通过列表的消息 时间和发件人 发送到 RecyclerAdapter 后者用数据填充聊天视图 现在我还有一个列表 其中包含不同布局的数据 像这样 这是我将第二个数组列表调用到
  • 使用 url 重定向下载文件

    我可以通过 url 下载文件 但是当我从 bash 尝试时 我得到的是 html 页面而不是文件 如何使用curl wget 或其他方式下载带有url 重定向 301 永久移动 的文件 UPD 来自 url 请求的标头 curl I htt
  • 使用命令提示符修改 cmd.exe 属性

    这不是很好的递归吗 我的外部驱动器上有一个便携式命令提示符 它有一个很好的 bat 文件来配置一些初始设置 但我想要更多 这是我知道如何从 bat 设置的内容 颜色 颜色 XY 其中 x 和 y 是预定义颜色的十六进制数字 Prompt p
  • ini_set("upload_max_filesize","200M") 在 php 中不起作用[重复]

    这个问题在这里已经有答案了 可能的重复 覆盖 upload max filesize https stackoverflow com questions 949415 overriding upload max filesize 我使用这些
  • 我需要一个循环遍历日期间隔

    我有开始日期和结束日期 我需要遍历这两个日期之间的每一天 最好的方法是什么 我只能建议这样的事情 Date currentDate new Date startDate getTime while true if currentDate g
  • xcode 无法识别类的更改

    由于某种原因 xcode 无法识别我对程序 这是一个 C 命令行程序 中的某个类所做的任何更改 例如 如果我为此类创建一个新方法并尝试在另一个文件中使用它 该文件已经包含该类的 h 文件 并且我已经在该文件中广泛使用了该类 它会给我一个错误
  • cassandra CQL 中的内连接

    如何在 cassandra 中编写子查询 嵌套查询 CQL 中是否提供了此功能 我尝试过的例子 cqlsh testdb gt select itemname from item where itemid select itemid fro