首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Cassandra或MongoDB存储复杂的JSON结构并启用搜索

使用Cassandra或MongoDB存储复杂的JSON结构并启用搜索
EN

Stack Overflow用户
提问于 2014-09-11 19:06:25
回答 2查看 772关注 0票数 1

我是一个NoSQL趋势的新手,我需要开始在一个新的JAVA项目中使用它,我正在致力于存储来自Facebook和\或其他社交网络的用户数据,以便进行一些分析,并从我的产品中为他们提供更好的结果。

我想使用NoSQL over RDBMS的原因是,各种API以JSON的形式返回数据,对我来说,这是一种非结构化数据,我只需要持久化它以供分析系统稍后使用。您可以将我的阅读器看作一个虚拟层,它只执行特定的API并存储响应。

例如,我有以下响应:

代码语言:javascript
运行
复制
{
   "oauth_token": "<ACCESS_TOKEN>",
   "expires": <EXPIRATION_TIME>,
   "name": "..."
   "gender": "...",
   "birthday": "...",
   "email": "...",
   <MORE FIELDS>
}

我正在努力思考这些解决方案(Cassandra,MongoDB)中是否有任何解决方案可以提供帮助。它试图“格式化”响应并将每个JSON键存储为一个列,这与使用RDBMS列启用搜索字段非常相似。

但我觉得我遗漏了一些东西。是否可以将其存储为"key-value“

例如:"user-id“->上述响应

并进行查询以在JSON响应中进行搜索。

我将感谢你的帮助,也许你也可以给我参考,以更好地理解数据技术。

诚挚的问候。

EN

回答 2

Stack Overflow用户

发布于 2014-09-11 20:11:36

您可以使用MongoDB或Cassandra来存储您的响应,并在oauth_tokensome_id等高carnality上创建索引,以支持更快的查询。NoSQL与关系型数据库完全不同,它以类似于JSON的方式存储数据,不像关系型数据库那样支持模式。

假设MongoDB集合data (您可以在关系数据库中将集合与表关联)包含以下文档-

代码语言:javascript
运行
复制
{
  "oauth_token": "<ACCESS_TOKEN>",
  "expires": <EXPIRATION_TIME>,
  "name": "..."
  "gender": "...",
  "birthday": "...",
  "email": "...",
}

执行以下代码在key oauth_token (假设)上创建索引-

代码语言:javascript
运行
复制
db.data.ensureIndex({oauth_token:1})

执行以下代码以查看索引详细信息-

代码语言:javascript
运行
复制
db.data.getIndexes()

执行以下查询以使用oauth_token获取记录-

代码语言:javascript
运行
复制
db.data.find({oauth_token: <OAUTH_TOKEN>})

有关更多详细信息,请参阅MongoDB文档-

  1. http://docs.mongodb.org/manual/tutorial/query-documents/
  2. http://docs.mongodb.org/manual/tutorial/insert-documents/
  3. http://docs.mongodb.org/manual/tutorial/create-an-index/
票数 0
EN

Stack Overflow用户

发布于 2014-09-11 20:39:04

如果您的需求是将带有值的键存储为json,那么MongoDB更适合此场景,因为在默认情况下,MongoDB以BSON(这是JSON +其他数据类型)存储数据。此外,您可以使用其类似Javascript的查询语言来动态查询复杂的json。如果你使用Cassandra,你需要映射json=>columns,这是开销。此外,Cassandra没有广泛的MongoDB查询功能。

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

https://stackoverflow.com/questions/25785829

复制
相关文章

相似问题

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