Using Structured Data with Ruby

On this page of the Ruby Bookshelf tutorial, you choose a database for storing structured data. The Bookshelf sample app uses a structured data model for storing information about books. You can explore the sample by using one of three different backing databases: Google Cloud SQL, Google Cloud Datastore, or PostgreSQL.

This page is part of a multi-page tutorial. To start from the beginning and see instructions for setting up, go to Ruby Bookshelf App.

To get started with the Bookshelf tutorial, choose one of the following options:

Database Why use this? Configuration
Google Cloud SQL
Managed MySQL
Use Cloud SQL >
Choose this option if you're familiar with MySQL or if you are interested in a managed relational database.


  • Create and configure your databases. Cloud SQL handles all other management tasks such as replication and patch management.
  • Access your data in Cloud SQL databases using all the tools and applications already built for MySQL.
  • Use your favorite MySQL tools and apps because Cloud SQL is MySQL in the cloud.
Create a Cloud SQL instance and configure access.
Run PostgreSQL on Google Compute Engine
Use PostgreSQL >
Choose this option if you are familiar with PostgreSQL or if you want to learn how to run your own database on Compute Engine.


  • Deploy PostgreSQL on a virtual machine that you provision and control.
  • Take advantage of the PostgreSQL knowledge you have.
  • Get support from the PostgreSQL community.
Deploy and configure a PostgreSQL server.
Google Cloud Datastore
Managed NoSQL database
Use Cloud Datastore >
Choose this option if you want a zero-configuration, fully-managed, highly-scalable, non-relational database.


  • Automatically scales based on your application's users and traffic, so you don't have to worry about provisioning or load anticipation.
  • Query your data with SQL-like queries that support filtering and sorting.
No additional configuration needed.

Send feedback about...