首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MongoDB和Cassandra -哪一种是物联网数据的最佳选择

MongoDB和Cassandra -哪一种是物联网数据的最佳选择
EN

Software Recommendation用户
提问于 2015-12-28 15:39:19
回答 2查看 1K关注 0票数 4

最近,我的一位客户让我决定为一个工业项目选择数据库(那里可能有很多传感器,包括相机、照片或视频)--那里的数据流很大。

我想要么用MongoDB,要么用卡桑德拉。此外,我的客户还要求选择编程语言与T( Server) 我不确定这些语言中是否有一种类似于这个,如果不是,那么可能需要让客户机理解这一点。类似的DB --如果他们有能够理解T的人的话。

有谁能告诉我哪一个是最好的,为什么?还有其他DB可以用于此吗?

EN

回答 2

Software Recommendation用户

发布于 2015-12-28 16:25:34

我要说,卡桑德拉可能是你更好的选择。

可能是很多传感器,包括照片或视频摄像头]--那里的数据流很大。

由于其基于日志的特性,跟踪传感器数据是Cassandra的一个很好的用例。处理大量写入吞吐量的能力是Cassandra的优势之一,您可以通过添加处理工作负载所需的尽可能多的节点来进行线性扩展。您还会发现,在多个节点上对副本进行切分将更容易使用Cassandra (因为它实现了虚拟节点)。

客户端请求选择其编程语言与to类似的DB。

Cassandra查询语言(CQL)与SQL非常相似。其中几条命令完全相同。这样做是为了试图降低卡桑德拉的学习曲线。

然而,这也是一把双刃剑.虽然感觉相似,但CQL和SQL并不相同。我在StackOverflow上的大部分代表来自于帮助开发人员进行CQL查询,这些查询是他们以SQL/关系模式处理的。长话短说,通过对CQL进行基于SQL的假设,您可能会陷入麻烦,因此您和/或您的客户需要对此保持谨慎。

MongoDB使用基于Javascript的查询语言。尽管与SQL一点也不相似,但经验丰富的Javascript黑客往往在这方面做得很好。

关于Cassandra的一些其他警告要点:

  • 同样的基于日志的特性,允许Cassandra在处理大量的写吞吐量时表现良好,在删除数据时也会带来麻烦。如果您计划经常删除数据,那么Cassandra可能不是最合适的。
  • 数据模型就是卡桑德拉的一切。您将不得不采取基于表的设计方法来建模。这意味着您可能会为可以执行的每个查询构建一个表,并且通常意味着跨几个表进行反错和/或复制数据。MongoDB的工作方式也是一样的,但我的经验是,如果数据模型不好,卡桑德拉就不那么宽容了。
  • 辅助索引有时有助于提高查询的灵活性。但他们有着表演杀手的美誉,所以最好还是避开卡桑德拉。如果您构建了一个适当的数据模型,那么您应该根本不需要它们。我没有在MongoDB中使用它们的经验,但是它们的性能可能会更好。

总之,Cassandra听起来更适合您(假设您构建了一个良好的数据模型,并且不经常删除),因为它符合以下条件:

  • 处理大量数据的能力。
  • 许多现有的Cassandra用例用于基于传感器的数据。
  • CQL应该作为一种"SQL熟悉的“查询语言传递。
票数 3
EN

Software Recommendation用户

发布于 2016-03-31 09:57:21

首先,如果你的客户问你一些根据你自己的知识和经验你无法彻底回答的问题,提出任何建议都是非常糟糕的业务做法,伊霍。

对卡桑德拉vs/和MongoDB

的评论

至少可以说,这些要求也有点模糊。

在那里数据流是巨大的

如果设置得当,Cassandra和MongoDB都可以处理大量的数据。再次:如果正确设置。这两种数据库管理系统都需要相当多的知识和经验来有效地处理负载。因为两者似乎都是不存在的,无论是在你的一方,而不是从客户方面,雇用一个有知识和经验的人是不可避免的短期到中期。这样一个高影响的技术决策应该建立在事实和分析的基础上,而不是仅仅基于假设或简单的文件。

此外,我的客户还要求选择其编程语言与to类似的DB。

当然是这样,因为客户认为公司现有的知识可以被重用。通常情况下,这是错误的推断,如@Aaron雄辩地描述。我强烈建议不要通过访问语言来做出决定,而是通过适合于预期的目的来做出决定。如前所述,这种适应性必须通过分析用例和其他需求来确定。

替代品

虽然没有明确说明,但我们大概是在谈论时间序列数据。也许值得看一看InfluxDB,它是处理时间序列数据的整个软件集合的一部分,从收集到元分析。

票数 0
EN
页面原文内容由Software Recommendation提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwarerecs.stackexchange.com/questions/27549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档