Supported Databases

  1. Introduction
  2. PostgreSQL
  3. MongoDB
  4. Redis

Introduction

Shelly Cloud supports PostgreSQL, MongoDB and Redis databases. All of them can be run on the same virtual server or on separate ones. It's possible to have database(s) and application on the same virtual server, what is usually enough for small and staging apps. Production and high traffic apps often need dedicated virtual server for database.

Data are backed up daily and available for download via the shelly gem. Stopping a virtual server where database server is running does not remove the data, it is persisted and available after the virtual server is started.

PostgreSQL

Supported version: 9.3

To use PostgreSQL with your application, you will need to add the pg gem to the Gemfile. There is no need to provide a config/database.yml file, as it will be automatically created with credentials of the PostgreSQL server.

Postgis

Shelly Cloud supports postgis 2.1. To enable it, connect to the database with shelly dbconsole and execute:

CREATE EXTENSION postgis; 

MongoDB

Supported version: 2.4.5

When a MongoDB server is present in your Cloud, two files will be automatically added to the config directory in your application's root:

  • config/mongodb.yml
  • config/mongoid.yml

Those files can be used by the mongodb and mongoid gems, so there is no configuration needed to use MongoDB in your application.

Redis

Supported version: 2.6.13

When a Redis server is present in your Cloud, the REDIS_URL environment variable will contain the url needed to connect to your Redis server. This means that most of Redis client gems (redis, ohm) will work out of the box.

When using redis gem, Redis::connect method is making use of ENV['REDIS_URL'].

redis = Redis.connect

Additionally we generate config/redis.yml on your application servers which can be used to configure other tools for interacting with Redis.

Persistence

When a Redis server is stopped, data is persisted and ready to use when the server is started again. Snapshots to disk are made as follows:

  • after 15 minutes if at least 1 key has changed
  • after 5 minutes if at least 10 keys have changed
  • after 1 minute if at least 10000 keys have changed
  • before closing server
Talk to a human