Cassandra 没有地理空间支持是否有原因?

2023-12-19

由于 Cassandra 基于 Dynamo 论文(分布式、自平衡哈希表)+ BigTable,并且有一些空间索引非常适合该范例(quadkey http://msdn.microsoft.com/en-us/library/bb259689.aspx or geohash http://en.wikipedia.org/wiki/Geohash)。地理空间支持尚未实施是否有原因?

您可以将 GeoPoint 数据类型添加为具有内部 geohash 的元组,并指定 CF 包含地理数据。从那里您可以选择将地理数据作为二级索引或非规范化 SCF 的行为。这可以为地理空间开发奠定基础,您可以从实现一些容易实现的目标开始,例如 .nearby() ,它可以只返回共享相同 geohash 的列。 (我知道这不会给你“最近的”,你必须走一圈周围的地理散列或使用形状和空间填充曲线,这可以稍后实现,但这是寻找一些的一般操作附近的列)

我知道 SimpleGeo/Urban Airship 在 Cassandra 中内置了地理支持,但看起来从未开放过。另外,请告诉我是否有更好的地方可以询问这个问题(quora、邮件列表等......)


我认为答案有两个部分。

之所以不存在,是因为向 Cassandra 提交代码的人都没有想到过此功能,或者认为此功能具有足够高的优先级,值得在其上花费大量时间。 Cassandra 的大部分开发都是由 Datastax 完成的,他们作为一个商业实体,了解用户的需求和建议,并且对于什么可以在新功能方面给他们带来最大的投资回报率也非常务实。

如果有足够好的第三方开发人员(或团队)并且有足够的时间,这是可以完成的,并且从概念上讲,C* 提交者在添加这样的主要功能方面可能不会有任何问题。

第二个方面是 Cassandra 支持 blob(字节数组),这意味着您所描述的内容可以以相对简单的方式在客户端应用程序/驱动程序中实现。在这种情况下,驱动器将负责将地理调用转换为适当的原始字节操作。我还怀疑这比在核心存储引擎中支持具有相关运算符集的全新数据原语的工作量要少。

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

Cassandra 没有地理空间支持是否有原因? 的相关文章

随机推荐

  • 仅在生产环境中执行了验证,但 Rails 3.2.0 上未用 field_with_errors div 包围的字段

    我有一个发布模型 对某些字段进行验证 例如标题 我删除了我觉得烦人的错误消息 并设置了一个漂亮的 CSS 以便当输入被包含在 field with error div 中时 用户知道哪个字段未验证 问题是 当我部署到生产环境时 仍然会执行验
  • 使用 pip install 时出错:“无法找到满足要求 的版本”

    我正在尝试安装django trumbowyg https github com sandino django trumbowyg https github com sandino django trumbowyg到我的应用程序 当我这样做
  • Visual Studio 2015 中是否支持 ASP.NET Core?

    现在 ASP NET Core 已随 VS 2017 一起提供 3 月发布 那么 VS 2015 中它们将支持 ASP NET Core 多久 我的意思是project json将不再被使用 那么我们是否需要将现有项目移至VS 2017并且
  • Java类的内存对齐

    假设我在 64 位机器上编译 C 程序gcc 我假设sizeof int 是 8 个字节 并且sizeof char 是1字节 由于内存对齐 以下结构 struct example int a char c 实际上大小不是 9 个字节 而是
  • 石英错误失火处理和作业恢复失败

    我是 JSP 和 Quartz Scheduling 的新手 在这个项目中 我试图让石英调度程序继续运行 以防服务器关闭然后忽略错过的作业 为此 我研究了 JobPersistence 并将quartz properties 文件修改如下
  • Protovis - 这些没有花括号的函数是什么? [复制]

    这个问题在这里已经有答案了 可能的重复 JavaScript 中不带花括号的 Lambda 函数语法 https stackoverflow com questions 5919351 lambda function syntax in j
  • 如何使用 postThreadMessage 传递结构

    我想使用 Windows 的消息队列功能将结构发送到另一个线程 但我发现postthreadmessage函数只提供了两个整数参数 lparam和wparam供我传递参数 所以我决定将结构体的地址放在lparam中 这是 Windows 用
  • 我如何允许 div 不透明度而不是背景图像?

    我如何允许 div 不透明度而不是背景图像 在 ajax 请求中 以下类将应用于选定的 div 该 div 的所有内容都变得不透明 然而 后台ajax加载指示器也变得不透明 如何使背景图像不变得不透明 ajax mask opacity 0
  • Playframework2就像春天的反向路由

    任何人都可以建议我春季的路由机制 我使用 thymeleaf 作为我的视图 我想在视图中使用类名和方法名作为我的 url 就像在 playframework 中一样 但我喜欢在 spring 中在控制器方法声明之前定义 url 等待您的建议
  • 为什么IL要设置这个值两次?

    我尝试了一下尝试罗斯林 http tryroslyn azurewebsites net 当我输入这段代码时 using System using System Linq using System Collections Generic u
  • 是否保证保留对易失性结构的单独成员的写入顺序?

    假设我有一个这样的结构 volatile struct int foo int bar data data foo 1 data bar 2 data foo 3 data bar 4 作业都保证不被重新排序吗 例如 如果没有 volati
  • MATLAB - 加载文件名存储在字符串中的文件

    我正在使用 MATLAB 处理文件中的数据 我正在编写一个程序 它接受用户的输入 然后在绘制它们的目录中找到特定文件 文件命名为 名称 U 速率 name 是表示计算机名称的字符串 rate 是一个数字 这是我的代码 get user to
  • “npm install -g”有什么作用?

    我正在尝试通过运行从 NPM 安装 Lessnpm install g less在命令行中 我检查了文件安装命令 https www npmjs org doc cli npm install html 在全局模式下 即 在命令后附加 g
  • Firebase UserProfileChangeRequest 不起作用

    我正在尝试创建一个个人资料活动 用户可以在其中更改这些个人资料图片和显示名称 我正在尝试更新用户照片或用户名 名为 CompleteListener task isSuccessful true 但什么也没完成 为什么 更新名称的函数 Fi
  • std::map 和 std::variant 的不完整类型

    考虑这个简化且非常具体的递归变体实现std variant include
  • Pyramid.安全问题:双cookies? cookie 不安全?过期?

    我正在第一次尝试金字塔安全模块 我使用此登录代码来设置 auth tkt view config route name LoginForm request method POST renderer string class LoginFor
  • PHP realpath函数问题

    我似乎无法让 realpath 函数处理变量 有办法解决这个问题吗 当我在函数中使用变量时 它不会返回任何内容 我知道路径名在没有 realpath 函数的情况下也可以工作 但我想将 realpath 函数与我的路径名一起使用 realpa
  • 确保 URI 有效

    我试图确保传递给我的 go 程序的 URL 是有效的 但是 我似乎不知道该怎么做 我以为我可以直接喂它url Parse 但这似乎不起作用 package main import fmt net url func main url err
  • 用于获取合并请求中已更改文件列表的 Azure Repos REST API

    Goal 每当拉取请求获得批准并且审阅者在 azure 存储库中完成 合并 拉取请求时 我想确定该合并请求中的文件列表 根据文件扩展名 我必须触发相应的构建管道 Issue 截至目前 从 azure devOps 门户来看这似乎是不可能的
  • Cassandra 没有地理空间支持是否有原因?

    由于 Cassandra 基于 Dynamo 论文 分布式 自平衡哈希表 BigTable 并且有一些空间索引非常适合该范例 quadkey http msdn microsoft com en us library bb259689 as