当前位置:  开发笔记 > 后端 > 正文

Cassandra或MongoDB我们基于位置的应用程序

如何解决《Cassandra或MongoDB我们基于位置的应用程序》经验,为你挑选了1个好方法。

我们正在考虑将NoSQL数据库系统用于大型项目.目前,我们已经阅读了一些有关MongoDB和Cassandra的内容,尽管我们对这两者都没有任何经验.我们非常精通传统的关系数据库,如MySQL和Microsoft SQL,但NoSQL(键/值存储)对我们来说是一个新的范例.

基本上,你们推荐哪些NoSQL数据库供我们使用?

我们做重写和读.基本上我们有成千上万的设备报告:

device_id(int),纬度(十进制),经度(十进制),日期/时间(datetime),标题char(2),speed(int)

每一分钟.因此,在高峰时段,我们需要能够每秒处理数百次写入.

然后,我们还有用户,它们以形式查询此信息,在最后一天或上周向我提供来自device_id 1234的所有消息.此外,用户进行其他查询,例如,给我来自device_1234的所有消息,其中速度大于50且日期为今天.

因此,我们最初的想法是MongoDB或Cassandra将允许我们使用传统数据库更容易扩展.

MongoDB或Cassandra中的文档或值可能如下所示:

{
   device_id: 1234,
   location: [-118.12719739973545, 33.859012351859946],
   datetime: 1282274060,
   heading: "N",
   speed: 34
}

你们推荐哪个系统?非常感谢.



1> mstearn..:

MongoDB内置了对地理空间索引的支持:http://www.mongodb.org/display/DOCS/Geospatial+Indexing

例如,您可以找到距离该位置最近的10台设备

db.devices.find({location: {$near: [-118.12719739973545, 33.859012351859946]}}).limit(10)

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有