5 Replies
Are you meaning something like running Aerospike on ECS?
sorry, no idea of Aerospike on ECS
If you're looking for a plain TinkerGraph hosted in gremlin-server, I'm not aware of any existing examples but I would think that deploying the gremlin-server docker image to ECS would be a good starting point. https://hub.docker.com/r/tinkerpop/gremlin-server
It's hard to give specific recommendations without knowing more of what you are trying to achieve. Are you simply trying to get a basic environment setup to run some test traversals? Are you looking to quickly spin up and tear down lots of small transient graphs? Do you need a persistent graph DB? Are you tied to ECS or do you just need remote gremlin somewhere in AWS?
Amazon Neptune is the managed graph database service offered by AWS and it fully supports gremlin although it's not in ECS. Both JanusGraph and Aerospike are also TinkerPop compatible graph databases which have examples for AWS deployment, although they seem to prefer EC2 deployment over ECS.
https://docs.janusgraph.org/storage-backend/cassandra/#deploying-on-amazon-ec2
https://aerospike.com/partners/aws/
Aerospike
Implement a real-time cloud data platform on AWS | Aerospike
Aerospike on AWS deliver millions of real-time customer experiences a second at petabyte scale with the Aerospike real-time data platform on AWS.
Thanks @ColeGreer for responding -Yes I am looking to quickly spin up and tear down lots of small transient graphs and save them in S3 while tearing down - my host would be running as long as I get request in a single tenant fashion.
can't use Amazon Neptune- because I want encryption per Graph and not at cluster level
Since your aim is to quickly spin up many small short-lived graphs, I do think that TinkerGraph is a good choice there, and it is already packaged inside of gremlin-server. As mentioned before our official docker image is probably a good starting point, although I'm not sure what work might be necessary to get it running in fargate. https://hub.docker.com/r/tinkerpop/gremlin-server
The server config is all definted through yaml files. There are a few example configs already included in
/opt/gremlin-server/conf
in the gremlin server image. Server configuration is documented in our reference docs here: https://tinkerpop.apache.org/docs/3.7.4/reference/#gremlin-server
By default, each new instance will start with an empty graph. If you don't need to preload much data, adding the data via gremlin (addV()
/addE()
) is probably the easiest. It's also possible to ingest data from a local (to the server/container) file via the io()
step: https://tinkerpop.apache.org/docs/3.7.4/reference/#io-step, or TinkerGraph can be configured to read data from a local file on startup with the graphLocation and graphFormat configs: https://tinkerpop.apache.org/docs/3.7.4/reference/#tinkergraph-configuration