DynamoDB

Component ID

1853464

Component name

DynamoDB

Component type

module

Maintenance status

Development status

Component security advisory coverage

not-covered

Component created

Component changed

Component body

This project aims to achieve two related tasks: provide AWS DynamoDB implementation for both caching and session layers of Drupal.

For more information about DynamoDB visit the official site.

Why use DynamoDB?

If you are running your Drupal stack in AWS, there a few good reasons why you should chose to store your sessions in DynamoDB:

  • No hassle data store that is performant, scalable, and reliable.
  • Quick reads/writes. You decide the performance you need and pay for that.
  • It's very affordable, especially for small data sets such as user sessions.

Why not use Memcache?

Memcache is very fast, certainly faster than DynamoDB. So why not use it?

Memcache does not have inherent reliability of DynamoDB. If your memcache daemon crashes, your users will lose sessions. If your application is distributed across availability zones or if you require serious reliability, you'll need to either replicate your Memcache servers with repcached or build replication into your application stack. None of this is necessary with DynamoDB since it stores all data items on Solid State Drives (SSDs) that are automatically replicated across three Availability Zones in a Region to provide built-in high availability and data durability. Oh yeah, there's no administrative burden whatsoever.

Installation

This module depends on AWS SDK for PHP 2. The SDK is packed via Composer so it needs to be installed first.

cd sites/all
mkdir libraries
cd libraries
curl -k -s https://getcomposer.org/installer | php

now let's install the SDK

git clone https://github.com/aws/aws-sdk-php.git
cd aws-sdk-php
php ../composer.phar install

once this is complete, you should have AWS SDK for PHP 2 located in docroot/sites/all/libraries/aws-sdk-php