问题标签 [aws-documentdb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
354 浏览

database - 在一个水平扩展的架构中,当多个实例同时读/写同一行时,如何处理数据库并发?

我知道 SQL Server 在这个意义上是非常强大的(事务和锁定),但是它如何与 NoSQL 数据库一起使用,比如带有 Mongo API 的 AWS DocumentDB?

0 投票
3 回答
3463 浏览

spring - com.mongodb.async.client.ClientSessionHelpe 从集群描述 ClusterDescription 中没有选择服务器

我正在尝试使用 async mongoClient 连接到 aws DocumentDB。

我在 aws 中创建了一个 DocumentDB 集群,并通过 ssh 命令行成功连接。

我去了这里并创建了 MongoClient 并成功连接并插入事件。

但是当我尝试创建 com.mongodb.async.client.MongoClient 时,连接失败并出现以下错误:

WritableServerSelector 没有从集群描述中选择服务器 ClusterDescription{type=REPLICA_SET, connectionMode=MULTIPLE, serverDescriptions=[ServerDescription{address=aws-cluster:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketReadTimeoutException: Timeout while接收消息},由 {io.netty.handler.timeout.ReadTimeoutException}}]} 引起。在超时之前等待 30000 毫秒。

你有什么想法,为什么会这样?

0 投票
1 回答
539 浏览

mongodb - Aws 文档数据库在查找查询中不使用 elemMatch 运算符中的索引?

我正在为文档的数组字段使用单独的索引。在查询文档时,正在使用 elemMatch 运算符。但是当我尝试运行解释命令时,它告诉我没有使用索引。

我得到以下解释查询的结果:

这意味着它没有使用我为此集合创建的索引。

aws 文档是否在 elemMatch 运算符中不使用数组索引。?

0 投票
2 回答
2580 浏览

node.js - 无法确定与 DocumentDB 的 Mongoose SSL 连接错误

我在 AWS Elastic Beanstalk (EB) 中有 2 个环境,运行一个使用 Mongoose 框架连接到 DocumentDB 的 Node.js 应用程序。其中一个环境莫名其妙地停止工作,而另一个环境工作正常。两者都是从使用 EB CLI 部署应用程序代码的 CI/CD 构建服务器部署的。

有问题的环境在 nodejs.log 中生成以下错误:

两者都使用相同的连接字符串,因为它们连接到同一个实例mongodb://*****:*****@docdb-2019-08-**-**-**-**.cluster-**********.us-east-2.docdb.amazonaws.com:27017/db_name?ssl=true&ssl_ca_certs=/etc/ssl/certs/rds-combined-ca-bundle.pem&replicaSet=rs0

证书 pem 文件与两者使用的文件相同,并通过 EB .ebextensions 脚本部署到实例。

我尝试过的事情:

  • 连接到问题环境的 EC2 实例,安装 mongodb shell 并能够使用 Mongo 连接字符串中指定的证书成功连接到 DocumentDB 实例。
  • 通过 Elastic Beanstalk Web 管理控制台重建 EB 环境。

目前有点卡住,没有想法。

0 投票
0 回答
306 浏览

indexing - 调查慢查询和索引

在日志中我发现查询很慢,但是手动运行它们时速度很快,或者至少考虑到索引。
日志告诉我查询部分没有使用可用的索引。
运行查询会考虑索引。
在 AWS DocumentDB(与 MongoDB 3.6 大部分兼容)上运行。
日志告诉我这一点(互联网的匿名字段名称 ;-)):

在更新上对此进行解释时

queryPlanner 向我展示了这个

可用的索引有:

  • _id_ { _id:1 }, ops: ~56,000,
  • _idDocField3 { _id: 1, docField3: 1 }, ops: ~4,200,000,
  • arrayField1 { "array.field1": 1 }, ops: ~400,
  • arrayField1DocField3 { "array.field1": 1, docField3: 1 }, ops: 0

array是一个包含文档的数组,id 是 UUID。
馆藏规模约为 40,000,000。

而且文档有点矛盾:

https://docs.mongodb.com/v3.6/core/index-multikey/
多键索引不能覆盖对数组字段的查询。

但是,从 3.6 开始,如果 > > 索引跟踪哪个或哪些字段导致索引成为多键,则多键索引可以覆盖对非数组字段的查询。在 MMAPv1 以外的存储引擎上 > MongoDB 3.4 或更高版本中创建的多键索引会跟踪此数据。

是否可以删除复合索引并依赖索引交集?
或者切换复合索引的顺序?
谁能帮我优化这个?

0 投票
1 回答
377 浏览

amazon-web-services - AWS 文档数据库中的事务

考虑到事务能力,documentDB 与 dynamo DB 相比有多好?

以下是使用 dynamoDB 完成的事务操作的示例。

是否可以使用 DocumentDB 执行相同的逻辑?我发现不可能在 AWS documentDB 中进行多语句事务。

0 投票
3 回答
4617 浏览

aws-documentdb - AWS DocumentDB TLS connection with Java

I am facing problems connecting with my DocumentDB cluster with plain Java over TLS/SSL

The procedure I followed as per the AWS docs is this:

I downloaded the .pem file from AWS and copied in the root of my java project, from where I executed:

This has created the rds-ca-certsat the root of my project which now looks like this:

enter image description here

And, the java code in Main.java is:

It gives me this ugly error:

com.mongodb.MongoSocketWriteException: Exception sending message

Caused by: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

Interestingly, when I use the mongo CLI to connect over SSL/TLS, like this:

It works perfectly, so I have discarded a networking issue and I think the problem is in the Java code itself or in the keytool command executed.

Additionally, with TLS disabled in the cluster this java code provided by AWS (that only differs in the keystore configuration) works.

PD: I know there are a bunch of other questions regarding SSL/TLS connection with AWS DocumentDB, but none of them address my issue specifically. Moreover, I have also checked plain mongodb TLS/SSL connection questions and the process differ so they are not valid for me.

0 投票
1 回答
216 浏览

mongodb - MongoDB数据库恢复需要太多时间

我遇到了以下问题。我的任务是从备份中恢复 Mongo DB,我正在使用 mongorestore.exe(在 Windows 操作系统上)。恢复过程大约需要1,5h,备份文件大小约为25G(包含25M文件)。

我尝试在 AWS Document DB 集群(实例类型:db.r5.large)和本地安装的 MongoDB(EC2-instance,r5n.large)上进行恢复。我得到了几乎相同的时间(大约 1.5 小时)

我的问题:此操作的时间是否合理,如何优化/减少所需的时间?

非常感谢所有建议。

0 投票
1 回答
2095 浏览

mongodb - 将 AWS Lambda 与 Amazon DocumentDB 更改流结合使用

我希望通过侦听 DocumentDB 更改流来通过 lambda 函数填充 SQS 队列。我知道这可以用DynamoDB来完成。有没有办法使用 DocumentDB 来实现这一点?

0 投票
3 回答
1658 浏览

amazon-web-services - AWS 文档数据库多区域复制

我知道 AWS DocumentDB 不支持多区域复制,即使快照不能跨区域共享。

请建议我们如何手动进行复制