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

Proposal: DDB storage layer #94

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

edholland
Copy link

@edholland edholland commented Jun 6, 2019

Hi,

It would be nice to have dynamoDB as a storage layer. I have implemented a basic version of this within storage.py. Please could someone take a look to see if this is something the project would be willing to incorporate - and if i have a sensible approach in implementation. I dont believe this is "production ready" quality code yet, but i think . early feedback is useful!

@ekzhu
Copy link
Owner

ekzhu commented Jun 6, 2019

This is interesting. Why Dynamo DB?

@edholland
Copy link
Author

Its an awful lot cheaper than the redis instances we're using at the moment - and there's practically zero management overhead to boot!

@ekzhu
Copy link
Owner

ekzhu commented Jun 7, 2019

A few things to consider:

  1. LSH's query method probes multiple hash tables, is this going to be efficient for DynamoDB (think network latency) comparing to an in-memory Redis instance on the same node as the LSH?
  2. What is the memory footprint of your index and why not usepickle package to save the index to the disk periodically?

@edholland
Copy link
Author

  1. Yeah its not overly performant - overall requests take about 500 millisec. However this is "good enough" for our use-case
  2. Concurrency mostly - We're going to be running this within AWS Lambda functions so there is no shared filesystem. Seems easiest to move the state out of application layer into the database layer

@ekzhu
Copy link
Owner

ekzhu commented Jun 13, 2019

I see. This is quite interesting. Please give us some time.

@amirouche
Copy link

Very interesting. @edholland can you recommend a ddb emulator to help with the dev setup, and CI?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants