Skip to content

Instantly share code, notes, and snippets.

@lancejpollard
Created January 4, 2013 11:57
Show Gist options
  • Save lancejpollard/4452083 to your computer and use it in GitHub Desktop.
Save lancejpollard/4452083 to your computer and use it in GitHub Desktop.

NuvolaBase is an add-on to create, share and exchange your database across the internet.

NuvolaBase it's a private OrientDB database in the cloud.

NuvolaBase has created its own Cloud infrastructure to provide databases to the users. The Cloud is composed of a network of servers located in multiple data centers around the globe. The server list is constantly expanding and updated. Check the updated list on the official website. Each database is replicated in real time across multiple data centers. The propagation time of the changes is, on average, less than one second. The user can choose how many replicas they want and in which data center by balancing network latency with reliability. The higher the number of copies of the database, the greater the reliability and performance because users can work simultaneously on different instances of the same database. In contrast choosing a data center further away can adversely affect the latency in replication and in all operations in general.

Your database can be accessed from the web or mobile phone in secure and private way, but can also be used to share information in a fast and reliable way. The database is the core where all the data is structured and linked. For example, you can create a db with all your customers data and share it with your office. Your db can be used through the web or from your smartphone and can be easily integrated with the software your company, clients or partners already owns.

NuvolaBase add-on creates the online database for you in the cloud. The cloud service is based on OrientDB graph/document DBMS. OrientDB is a powerful high-performance DBMS NoSQL. It is a document-graph DBMS, which means that you can better manage any type of relationship between records (GraphDB) maintaining a flexible schema (DocumentDB). Unlike many NoSQL products, OrientDB supports both ACID transactions and SQL as query language.

NuvolaBase speaks the language of the web. The database can be accessed directly via HTTP/REST and the data is encoded as JSON documents. Accessing a database from the web or integrating it into a SOA architecture is a piece of cake. The database cloud engine core is the OrientDB HTTP REST API and your application can easily consume database resources using HTTP directly. Example of the API usage is given wollowing the link.

Provisioning the add-on

NuvolaBase can be attached to a Heroku application via the CLI:

A list of all plans available can be found [here](http://addons.heroku.com/nuvolabase).
:::term
$ heroku addons:add nuvolabase
-----> Adding nuvolabase to sharp-mountain-4005... done, v18 (free)

Once NuvolaBase has been added a NUVOLABASE_URL setting will be available in the app configuration and will contain the canonical URL used to access the newly provisioned NuvolaBase service instance. This can be confirmed using the heroku config command.

:::term
$ heroku config | grep NUVOLABASE_URL
NUVOLABASE_URL    => https://user:[email protected]/resourceid

After installing NuvolaBase the application can immiediately use the provided resource by consuming HTTP Rest requests.

Dashboard

For more information on the features available within the NuvolaBase dashboard please see [www.nuvolabase.com](http://www.nuvolabase.com).

The NuvolaBase dashboard allows you to handle any aspect of the service, including a web studio to access your database.

NuvolaBase Dashboard

The dashboard can be accessed via the CLI:

:::term
$ heroku addons:open nuvolabase
Opening nuvolabase for sharp-mountain-4005…

or by visiting the Heroku apps web interface and selecting the application in question. Select NuvolaBase from the Add-ons menu.

NuvolaBase Add-ons Dropdown

Troubleshooting

todo...

Migrating between plans

Application owners should carefully manage the migration timing to ensure proper application function during the migration process.

Upgrading to a bigger plan does not create problems and can be done on the fly. Better attention should be taken when downgrading to a lower plan, due to the lower limits imposed by the plain itself.

Use the heroku addons:upgrade command to migrate to a new plan.

:::term
$ heroku addons:upgrade nuvolabase:newplan
-----> Upgrading nuvolabase:newplan to sharp-mountain-4005... done, v18 ($49/mo)
       Your plan has been updated to: nuvolabase:newplan

Removing the add-on

NuvolaBase can be removed via the CLI.

This will destroy all associated data and cannot be undone!
:::term
$ heroku addons:remove nuvolabase
-----> Removing nuvolabase from sharp-mountain-4005... done, v20 (free)

Before removing NuvolaBase a data export can be performed by accessing the NuvolaBase Dashboard site.

Support

All NuvolaBase support and runtime issues should be logged with Heroku Support at https://support.heroku.com. Any non-support related issues or product feedback is welcome at [email protected].

Additional resources

Additional resources are available at:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment