I would like to use DynamoDB for my next Django project. I have found implentation to store session data into DynamoDB, but is there backend implementation for Django to store all the database data?
There is no Django model interface for AWS DynamoDB, but you may retrieve data from that kind of db using boto3 software provided by AWS.
Amazon DynamoDB is a fully managed, serverless, key-value NoSQL database designed to run high-performance applications at any scale. DynamoDB offers built-in security, continuous backups, automated multi-Region replication, in-memory caching, and data import and export tools.
All of your data is stored on solid-state disks (SSDs) and is automatically replicated across multiple Availability Zones in an AWS Region, providing built-in high availability and data durability.
I don't think there are any Django DynamoDB projects out there that allow you to use the Django ORM while using DynamoDB underneath.
But depending on your case, you may still be able to simply ignore the ORM portion of Django and use DynamoDB directly (via boto or PynamoDB or similar ).
In my case, I use a mix. I keep all my users and other models that are mostly read only on Postgres (RDS) and Django ORM, but use DynamoDB for models that require heavy writes ( using pynamodb).
I still get to use the views, templates or even add an API via Django-rest-framework. What I lose is the admin pages ( that I don't need for these models ) and other features the ORM gives you but I have been happy with the result anyway.
I have not used this one personally but the guy who developed it is a frequent contributor to boto and his work has always been of high quality.
https://bitbucket.org/maxnoel/dynamodb-mapper
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With