I want to set up an api that will query arabgodb. I am debating whether to set use foxx microservices or have a backend that will use pyarango to query the db. What are the pros and cons of both options?
Using foxx microservices vs pyarango
225 Views Asked by Nadav Tikotsky At
1
There are 1 best solutions below
Related Questions in ARANGODB
- ArangoDb get latest document from all collections
- ArangoDB graph operations via REST API
- Opening Foxx API to local network
- How do I access inserted document's _id within a transaction in ArangoDB
- How to approximate execution time of ArangoDB count function
- How to read data from collection in an ArangoDB Foxx app?
- ArangoDB document database and also a graph database? How is it possible?
- Validating array items with joi in a Foxx app
- GRAPH_TRAVERSAL result enclosed in (Array of) Array of Array in Arangodb
- number of 'graphs' in a ArangoDB database
- In Python, how do I create an edge collection and document for an arangodb?
- Arangodb import via http api using node.js
- Is ArangoDB edge document right place to put additional key-value?
- How to call external function in background tasks in arangodb
- ArangoDB create Vertex REST API without knowing the vertex id's
Related Questions in FOXX
- Opening Foxx API to local network
- How to read data from collection in an ArangoDB Foxx app?
- Validating array items with joi in a Foxx app
- arangodb 3.1 foxx docs?
- Can I create javascript function from remote in arangodb
- Foxx apps debugging workflow?
- Recompiling JS in the arangodb codebase? (trying to hack sth into Foxx)
- How to return an zip file from Foxx- arangodb?
- Using foxx microservices vs pyarango
- Does the consistance of collections in a graph in ArangoDB guaranteed?
- When does arangodb's foxx collects garbage?
- aql.literal is not a fucntion in arangoDB Foxx
- ArangoDB: Use an objects as a filter and build AQL with aql builder
- Foxx ArangoDB update data
- What does building an application in Arango Foxx offer beyond a regular node application
Related Questions in PYARANGO
- ArangoDB- duplicate edges
- ArangoDB - Collection not found error though the collection is created
- How do I implement ArangoDB HTTP API authentication on DC/OS cluster
- Using foxx microservices vs pyarango
- Can't connect to arangodb using Java API
- ArangoDB Join Edge collections
- Run Arango Shell (Arangosh) on a Kubernetes pod
- Can't switch to other databases via ArangoDB Web interface when I am using ArangoDB Docker
- Update document with pyarango
- PyArango holds persistent connection with pod even after Node Death (Kubernetes)
- pyArango vs. Foxx Microservices
- Arangodb not connecting using localhost but accessible using external IP
- TypeError: string indices must be integers on ArangoDB
- Using arango search to find JSON keys in a collection and clean data
- Error: 1600 - cursor not found issue with arango spark datasource when try to fetching enitre collection
Related Questions in ARANGODB-FOXX
- How to write custom graph algorithms in arangodb, this must run internally?
- Using foxx microservices vs pyarango
- Prometheus invalid metric type "status=\"available\"} gauge" + 401
- pyArango vs. Foxx Microservices
- Body parameter in ArangoDB
- running Foxx-cli on linux -- foxx: command not found
- ArangoDB: getting started with Foxx Microservices: 404: errorMessage: unknown path
- ArangoDB Foxx Microservices Getting Started tutorial: what is a working URI for this example?
- How to reliably schedule regularly reoccurring jobs with arangodb?
- ArangoDB comparison of documents in different databases
- Is there a way to get the same output on a foxxservice as on the arangosh?
- How to create a service in web interface without creating a collection named not "xxx_xxx" but "xxx"?
- Using Foxx CLI to Create Service
- ArangoDB microservice dependent on other microservice
- ArangoDB AQL: find null object, which is not part of the query
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
The pros and cons are very much up to you and your skillset (Python vs. JavaScript), but it seems like you are really asking about running your API middleware on a dedicated server (Python) or on within the ArangoDB platform (Foxx).
For single-node installations, keeping your queries close to the server (Foxx) will give you very low-latency query performance, but at the cost of sharing CPU and memory with the DB engine.
The dynamic changes dramatically when using a cluster - the Foxx engine must sit on a different server than the DB engine (see the cluster architecture docs). This relieves the CPU/memory sharing issues and also provides a sort of high availability for your API, but also introduces other, more serious, query performance issues that are unique to a cluster.
Bottom line: if you do not fully understand (or are not prepared to deal with) cluster performance, then stick with a single node. And if you are not willing to give up CPU/memory for your Foxx engine, then use a separate middleware server. There are many other details to consider, but (for me) this is the main decision.
Also, please note that there are only two modes: "cluster" and "single", but several ways to deploy the cluster (master/slave, active failover, one shard, multi-shard, etc.).