Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

task-NXDOC-2686-Document-Amazon-DocumentDB #2264

Open
wants to merge 2 commits into
base: 2023
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,7 @@ This takes two steps:
* [MySQL]({{page page='mysql'}})
* [MariaDB]({{page page='mariadb'}})
* [MongoDB]({{page page='mongodb'}})
* [DocumentDB]({{page page='documentdb'}})
2. [Connect Nuxeo to the database]({{page page='connecting-nuxeo-to-the-database'}}).

 
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
title: Amazon DocumentDB
labels:
- database
- documentdb
tree_item_index: 700

---
`DocumentDB` is compatible with `MongoDB`, therefore, it can be used by `Nuxeo` like a `MongoDB` backend,
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested text - DocumentDB is compatible with MongoDB, which allows Nuxeo to use DocumentDB as a backend for MongoDB.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but DocumentDB is not a backend for MongoDB. maybe to Use DocumentDB as a backend like MongoDB.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From a language perspective, I would suggest the following statement:
DocumentDB is compatible with MongoDB. Therefore, it can be used by Nuxeo as a backend database, like MongoDB.

Copy link
Contributor Author

@NourNuxeo NourNuxeo Aug 29, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

my reflection is the following counter-example:

postgresql can be used as a backend database, like mongodb
postgresql cannot be used like a mongodb backend (more specific and shorter)

so this seems to be the best fit to me:

documentdb can be used like a mongodb backend 

but there are limitations.

{{#> callout type='warning'}}
Only DocumentDB "instance cluster" has been successfully tested with Nuxeo.
The DocumentDB [elastic cluster](https://docs.aws.amazon.com/documentdb/latest/developerguide/docdb-using-elastic-clusters.html) behaves differently from MongoDB regarding index initialization. At the moment it cannot be used by Nuxeo.
{{/callout}}

## Limitations
Prosune marked this conversation as resolved.
Show resolved Hide resolved

- Fulltext search at repository level is not supported due to `DocumentDB` limitations. Use `Elasticsearch` or `OpenSearch` for fulltext search. This requires you to disable repository fulltext search. For additional information, see the [configuration]({{page space='nxdoc' page='documentdb#configuration'}}) section.
- Retryable writes are not supported. You must disable this. For additional information, see the [configuration]({{page space='nxdoc' page='documentdb#configuration'}}) section.
- The chosen `DocumentDB` instance type affects the number of open cursor at any given time.

Note: There are also other differences that should not affect Nuxeo. Please refer to `DocumentDB`:
- [Differences With MongoDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/text-search.html#text-index-mongo-diff)
- [Functional Differences](https://docs.aws.amazon.com/documentdb/latest/developerguide/functional-differences.html#functional-differences.with-mongodb)

## Configuration

To use `DocumentDB`, you need the following options:

```properties
nuxeo.templates=<MY_TEMPLATES>,mongodb
nuxeo.vcs.fulltext.search.disabled=true
nuxeo.mongodb.server=<MONGO_URL>?retryWrites=false
```

For all other configuration information, please refer to the [MongoDB configuration page]({{page page='mongodb'}}).

* * *

<div class="row" data-equalizer data-equalize-on="medium"><div class="column medium-6">{{#> panel heading='Related topics'}}

- [Connecting Nuxeo to the Database]({{page page='connecting-nuxeo-to-the-database'}})
- [How to Estimate Volume Usage]({{page page='how-to-estimate-volume-usage'}})

{{/panel}}</div><div class="column medium-6">

&nbsp;

</div></div>