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
229 Views Asked by Nadav Tikotsky At
1
There are 1 best solutions below
Related Questions in ARANGODB
- ConcurrentModificationException happen for findAllById in arangodb-spring-data with concurrent workers
- How to exclude a weaved property from an entity in Spring Data?
- How to Pass-in a Collection name and Document Key to an AQL query to update the document
- Convert ArangoDB query to MongoDB query
- How can I connect to a local ArangoDB database from an Appsmith Javascript Object from Windows 10
- ArangoDB waits infinitely after issuing start command by arangodb
- ArangoDB AQL Upsert Operation Clears CreateDate on Update Instead of Only on Insert
- ArangoDB prompts to enter the root password despite the authentication is disabled in the command line
- In ArangoDB AQL is there anything like mysqli_real_escape_string?
- AQL query takes 30+ seconds
- ArangoDB and ldap
- Getting error "expecting POST /_api/cursor" from ArangoDB.js
- ArangoDb: Is it possible to determine the direction of the current path?
- Is it possible to insert only if query returns no results
- ArangoDB on K8S: thousands of Open FD filedescriptors
Related Questions in FOXX
- How to return an zip file from Foxx- arangodb?
- Foxx service erroring out
- ArangoDB Foxx Service ReferenceError: URL is not defined
- Body parameter in ArangoDB
- Foxx ArangoDB update data
- Using foxx microservices vs pyarango
- How to validate Oauth access token in foxx framework
- ArangoDB AQL Fragments Issue
- How to provide authentication credentials to foxx integration tests
- AQL: Bind parameter on operator
- Foxx arangodb runs into memory limit
- How to create JWT token in arangodb by using foxx microservices?
- ArangoDB Foxx: require() returned undefined
- What kind of object db._collections() return ArangoDB?
- ArangoDB comparison of documents in different databases
Related Questions in PYARANGO
- Error: 1600 - cursor not found issue with arango spark datasource when try to fetching enitre collection
- arangodb document key length best practice
- PyArango holds persistent connection with pod even after Node Death (Kubernetes)
- Sorting on _key and filter
- Update document with pyarango
- PyArango document values has wrong type after save()
- from arango import ArangoClient ImportError: cannot import name ArangoClient
- Using arango search to find JSON keys in a collection and clean data
- Run Arango Shell (Arangosh) on a Kubernetes pod
- Using foxx microservices vs pyarango
- ArangoDB export entire Graph to JSON
- ArangoDB 2 GraphML
- how to bucket aggregate on arangodb
- ArangoDB best way to get_or_create a document
- Call ArangoDB docker container from a python script container fails
Related Questions in ARANGODB-FOXX
- How to write custom graph algorithms in arangodb, this must run internally?
- Unable to call a Spring boot Rest Endpoint from arangodb Foxx service in a docker network
- Prometheus invalid metric type "status=\"available\"} gauge" + 401
- ArangoDB Foxx Service ReferenceError: URL is not defined
- Body parameter in ArangoDB
- How to reliably schedule regularly reoccurring jobs with arangodb?
- Using foxx microservices vs pyarango
- ArangoDB microservice dependent on other microservice
- How to create JWT token in arangodb by using foxx microservices?
- LIKE operator not supported in arango search view
- Using Foxx CLI to Create Service
- pyArango vs. Foxx Microservices
- ArangoDB AQL: find null object, which is not part of the query
- Is there a way to get the same output on a foxxservice as on the arangosh?
- ArangoDB comparison of documents in different databases
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 # Hahtags
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.).