标签: nosql

使用Django会话来存储登录用户

我正在创建一个以REST为中心的应用程序,它将为大多数特定于域的模型使用某种NoSQL数据存储.对于我打算围绕REST数据框架构建的主站点,我仍然希望将传统的关系数据库用于用户,计费信息以及域数据模型范围之外的其他元数据.

我被告知,如果我可以尽可能避免在同一请求上对RDBMS和NoSQL数据存储执行I/O,那么这种方法只是个好主意.

我的问题:

  1. 这是个好建议吗?(我这样假设,但如果第一个前提是错误的话,其余的这些问题都是无用的.)
  2. 我想尽可能多地缓存登录用户.是否可以使用Django会话以安全,可靠,正确和容错的方式执行此操作?理想情况下,我希望会话API是一个安全的替代品,可以用尽可能少的与users表的交互来检索当前用户.我需要做些什么来完成所有工作?
  3. 如果这样做太麻烦了,那么在不使用django-nonrel的情况下将用户信息存储在NoSQL存储中(即完全消除RDBMS)是多么容易?自定义身份验证/授权后端可以执行此操作吗?

django session nosql django-sessions

3
推荐指数
1
解决办法
1691
查看次数

用于审计数据的NoSQL或RDBMS

我知道在这个问题上提出了类似的问题,但我还没有看到任何完全包含我所有请求的人.

我首先要说的是我只有RDBMS的经验,所以如果我对NoSQL有任何错误,我很抱歉.

我正在创建一个包含大量审计日志(大约1TB)的数据库.

我用它来:

  1. 快速数据写入(大量审计日志一直写入)

  2. 搜索 - 搜索审计数据(由某个用户执行的搜索操作,在特定时间或某个操作...数据库应该支持非常快速地搜索任何'列')

  3. 分析和报告 - 生成每日,每周,每月的数据报告(它们是目前预定义的......如果它们更具动态性,是否会影响我应该选择的解决方案?)

可靠性(支持故障转移或任何类似功能),可扩展性(如果我增长到1TB以上,2TB,10TB或100TB - 任何解决方案都不能支持这么多数据吗?)当然还有性能(在使用中)我指定的案例)对我来说非常重要.

我知道RDBMS,这将是我开始的简单方法,但我真的担心,过了一段时间,数据库根本无法跟上节奏.

我的问题是我应该选择RDBMS或NoSQL解决方案,为什么?如果是NoSQL解决方案,因为它们是如此不同,你认为哪些适合我的需求?

database rdbms database-design bigdata nosql

3
推荐指数
1
解决办法
3216
查看次数

Neo4j如何向节点的属性添加多个值

虽然我正在为其中一个问题创建节点,但我陷入困境,经过文档后我意识到我无法找到节点的多值属性赋值

例如:节点1有属性网站访问,因为它不能是一个网站,如何添加属性到节点1"网站",这样它可以采取两个值,如www.abc.com www.def.com

node1["websites"] = "www.abc.com" "www.def.com"
Run Code Online (Sandbox Code Playgroud)

这样,在访问节点的每个属性时,可以单独访问节点属性中的每个网站.

谢谢你的时间 !

neo4j nosql

3
推荐指数
2
解决办法
2989
查看次数

MongoDB是否适合某些用例?

我正在考虑将MongoDB用于Web应用程序,但是我已经阅读到在某些情况下不建议使用它。我想知道我的项目会是其中一种情况。

这是我系统中实体的简要概述-

  • 有具有标准用户详细信息属性的用户
  • 每个用户可以有多个收据,一个收据只能有一个用户
  • 收据包含许多产品
  • 产品具有标准的产品详细信息属性
  • 用户可以有多个朋友,每个朋友本身就是一个用户
  • 用户可以对产品进行评论
  • 在Stackoverflow上将有一个类似信誉系统的系统,用户可以在该系统中获得积分和徽章

如您所见,有许多相互之间具有各种关系的实体。数据完整性很重要。这种类型的架构是否适合MongoDB?

mongodb nosql

3
推荐指数
1
解决办法
275
查看次数

Elasticsearch中的求和查询

我对Elasticsearch很新.我正在尝试编写一个将按字段分组并计算总和的查询.在SQL中,我的查询看起来像这样: SELECT lane, SUM(routes) FROM lanes GROUP BY lane

我在ES中看到这样的数据:

{
  "_index": "kpi",
  "_type": "mroutes_by_lane",
  "_id": "TUeWFEhnS9q1Ukb2QdZABg",
  "_score": 1.0,
  "_source": {
    "warehouse_id": 107,
    "date": "2013-04-08",
    "lane": "M05",
    "routes": 4047
  }
},
{
  "_index": "kpi",
  "_type": "mroutes_by_lane",
  "_id": "owVmGW9GT562_2Alfru2DA",
  "_score": 1.0,
  "_source": {
    "warehouse_id": 107,
    "date": "2013-04-08",
    "lane": "M03",
    "routes": 4065
  }
},
{
  "_index": "kpi",
  "_type": "mroutes_by_lane",
  "_id": "JY9xNDxqSsajw76oMC2gxA",
  "_score": 1.0,
  "_source": {
    "warehouse_id": 107,
    "date": "2013-04-08",
    "lane": "M05",
    "routes": 3056
  }
},
{
  "_index": "kpi",
  "_type": "mroutes_by_lane",
  "_id": "owVmGW9GT345_2Alfru2DB", …
Run Code Online (Sandbox Code Playgroud)

nosql elasticsearch

3
推荐指数
1
解决办法
2892
查看次数

使用upsert和多语法进行Mongodb更新

我是mongodb的新手,所以因为mongodb不完整的文档而让我感到压力,因为我没有错误,所以我的所有尝试都无法正常工作,让我对发生的事情和调试内容感到困惑......

我只需更新符合特定条件的数据库上的多条记录,并为非现有记录创建新条目.我相信我可以使用update,upsert和multi进行单一数据库访问.这是我想出的:

dbschema.Person.update( { person_id: { $in: ["734533604" ,"701084015"] } }, { $set: {"scores": 1200} }, { options: { upsert: true, multi: true } } );
Run Code Online (Sandbox Code Playgroud)

我也尝试了多种组合甚至旧版本,例如:

dbschema.Person.update( { person_id: { $in: ["734533604" ,"701084015"] } }, { $set: {"scores": 1200} }, { upsert: true }, { multi: true } );
Run Code Online (Sandbox Code Playgroud)

它们都不起作用......

请帮助我这个如此微不足道的东西......我可以轻松地在sql中做到这一点,但是nosql thingy是如此限制我..谢谢!

编辑:

find上的相同查询完美无缺:

dbschema.Person.find( { person_id: { $in: ["734533604" ,"701084015"] } }, function ( err, results ) {
    console.log( 'result: ' + results );
    console.log( 'error: ' + …
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb nosql

3
推荐指数
1
解决办法
4575
查看次数

HBase:原子'检查行不存在并创建'操作

我建议这应该是常见的情况之一,但可能在谷歌搜索时使用错误的关键字.

我只需要用完全随机的密钥创建新的表记录.假设我获得了具有良好随机性的密钥(几乎是随机的).但是,我不能100%确定没有行存在.所以我需要原子地做什么:

  • 有行键检查还没有行.
  • 如果行存在则拒绝操作.
  • 如果没有退出则创建行.

我在这个主题上找到的最有用的信息是关于HBase行锁的文章. 我认为HBase行锁是合适的解决方案,但我想在没有显式行锁定的情况下更好地做到这一点.

  • ICV看起来不合适,因为我确实希望密钥是随机的.
  • 如果他们可以在"行不存在"条件下工作,CAS会很棒,但看起来他们不能.
  • 显式行锁具有区域拆分问题等缺点.

有人可以加一些有用的建议吗?优选的API是基于Java的,但实际上它更多的是概念而不是实现.

java hadoop hbase acid nosql

3
推荐指数
1
解决办法
4457
查看次数

如何在NoSQL世界中实现数据库抽象/独立性

我们正在考虑在我们的Java服务器端应用程序中使用MongoDB作为我们的数据库.在我之前的项目中,我们使用Hibernate抽象底层SQL数据库,以便我们可以在不更改应用程序代码的情况下从MySQL切换到Postgres(例如).(这是Hibernate给我们提供的除了通常的ORM功能之外的一个+).
我为面向文档的NoSQL数据库搜索了一个类似的抽象层,结果没有结果!

虽然MongoDB满足了我们今天的要求,但如果一个更好的面向文档的NoSQL DB出现3年后,我们不想更改我们的应用程序代码以转移到新的数据库.

一个解决方案是我们自己编写抽象层(如果我们没有其他选项,我们就会这样做).

但是如果来自ORM世界的人们直接编码到NoSQL数据库接口上,我会感到惊讶吗?数据库独立性在NoSQL世界中不是一个问题吗?或者通过其他方式实现?

database couchdb database-migration mongodb nosql

3
推荐指数
1
解决办法
1716
查看次数

如何将数据从Amazon DynamoDB导出到MySQL服务器

我没有处理像Amazon AWS DynamoDB这样的nosql数据库的经验.

我在Amazon AWS DynamoDB中存储了一些数据.

是否可以将数据从DynamoDB导出到MySQL服务器?如果是这样,如何实现呢?

谢谢,

mysql nosql amazon-dynamodb

3
推荐指数
1
解决办法
5094
查看次数

mongoDB - 数组值的平均值

我正在尝试为我的集合中的每个文档计算数组的每个值的平均聚合操作.

Document structure

{
   myVar: myValue,
   [...]
   myCoordinates: [
      myLng,
      myLat
   ]
}
Run Code Online (Sandbox Code Playgroud)

因此,我试图通过查询集合来计算整个文档集合的myCoordinates数组的myLngmyLat值的平均值,如下所示:

myColl.aggregate([{
   $group: {
       _id: 0,
       lngAvg: { $avg: "$myCoordinates.0" },
       latAvg: { $avg: "$myCoordinates.1" }
   }
}])
Run Code Online (Sandbox Code Playgroud)

但不幸的是,它不起作用,并为lngAvglatAvg字段返回值0 .

你有什么想法吗?这至少可行吗?

mongodb nosql

3
推荐指数
1
解决办法
4881
查看次数