Getting Started with Distributed SQL on YugabyteDB Managed

Jimmy Guerrero

VP Developer Relations

With the release of YugabyteDB 2.1 earlier this week, we introduced many exciting new features: performance optimizations, 2DC and read replica support, and more. We also announced that YugabyteDB Managed (formerly Yugabyte Cloud) is now officially in Beta! In this blog post we’ll show you how to quickly get up and running with a YugabyteDB cluster on YugabyteDB Managed, build a sample database, and connect to it with JetBrain’s DataGrip database administration tool.

In the event you are new to distributed SQL, you might be asking yourself, “What is YugabyteDB?”

YugabyteDB is an open source, high-performance distributed SQL database built on a scalable and fault-tolerant design inspired by Google Spanner. Yugabyte’s SQL API (YSQL) is PostgreSQL wire compatible.

YugabyteDB Managed is a fully-managed “YugabyteDB-as-a-Service” that allows you to run clusters on either Amazon Web Services or Google Cloud Platform. Right now we are offering a free tier for users to quickly get started with YugabyteDB. Although not suitable for production workloads, the free tier includes enough resources to start exploring the basic features required for developing apps with YugabyteDB. Here’s what you get:

  • 3 nodes
  • 5 GB of storage
  • High availability across multiple zones
  • Management UI
  • REST API
  • Automated upgrades

Ok, let’s get started!

Create an account

Once you have your free tier, head on over to https://cloud.yugabyte.com/register and set up your free account.

Free beta account Yugabyte Cloud

Provision the cluster

Next click on the “Create Cluster” button.

Provision a free tier Yugabyte Cloud cluster in beta

By default, we’ll be deploying on Google Cloud Platform in the Oregon (us-west1) region.

Deploy Yugabyte Cloud Beta on Google Cloud Platform

After clicking on “Create Cluster” you’ll see an overview page with the provisioning status of your cluster. Once it’s ready, you’ll see “State: Ready”.

Yugabyte Cloud beta cluster state ready

Click on “Go to cluster”. You should now be redirected to the UI for this particular cluster.

Yugabyte Cloud beta cluster UI

From this screen you can explore configuration, resource usage, objects, pods, metrics, and other information about the YugabyteDB cluster.

Download YugabyteDB clients

The next thing that we’ll want to do is to connect to this cluster from our local machine. This will require access to the YugabyteDB client utilities. For the purposes of this blog post, we’ll show you how to wire up the PostgreSQL compatible YSQL client on a Mac. Follow the instructions for downloading and installing on other platforms if needed.

The first thing to do is download the latest version of YugabyteDB. (As of this writing, 2.1 is the latest version.)

$ wget https://downloads.yugabyte.com/yugabyte-2.1.0.0-darwin.tar.gz

Next, unpack the archive file and change to the YugabyteDB home directory.

$ tar xvfz yugabyte-2.1.0.0-darwin.tar.gz && cd yugabyte-2.1.0.0/

Connect to YugabyteDB in the cloud

To connect your local YSQL client and GUI tools to the YugabyteDB cluster running in the cloud you’ll need to know your administrative credentials. You can do this by navigating to Security > Database Access.

YugabyteDB Users - Finding Admin User

Click on “Info” and “Show Password” buttons to reveal the password.

admin credentials yugabytedb show password button

Now, click on “Clusters” in the explorer tree to get back to the overview screen and click on the cluster that was provisioned for you. When you are back to the UI for this particular cluster, look for the orange “connect” button in the upper right-hand corner. This will serve up a pop-up with the command you’ll need to execute in order to connect your local YSQL shell to the remote YugabyteDB cluster running in the cloud.

Connect YSQL shell to YugabyteDB cluster in cloud

Execute the command below inside the YugabyteDB installation directory to get connected. (Note that the password in the example will not be valid for your cluster.)

$ PGPASSWORD=ij822arv ./bin/ysqlsh -h 35.230.82.92 -p 12201 -U admin -d yugabyte

ysqlsh (11.2-YB-2.1.0.0-b0)
Type "help" for help.

yugabyte=#

That’s it, we are now ready to create a sample database, build objects, load them with data, and connect to the cluster with an administrative tool.

Create a sample database

For the purposes of this blog post I am going to create a sample database called northwind and switch to it.

yugabyte=# create database northwind;
CREATE DATABASE

yugabyte=# \c northwind
You are now connected to database "northwind" as user "admin".
northwind=#

There are a variety of sample databases that are compatible with YugabyteDB. You can find them the DDL and DML scripts for the ones we have tested here:

https://docs.yugabyte.com/latest/sample-data/

You can also find the northwind and other sample database scripts in YugabyteDB’s /share directory.

After you execute the northwind DDL and data scripts you can verify the database and objects in the UI by clicking on the “Tables” link.

Verify database and objects northwind database and yugabytedb example

Connect to Yugabyte Cloud from DataGrip

Because YugabyteDB is PostgreSQL wire compatible, just about any database administration tool that supports PostgreSQL will work with YugabyteDB. In this tutorial we are going to show you how to get DataGrip connected to our YugabyteDB cluster in the cloud. We previously shared the details of how to install DataGrip, which is very straight-forward. The only thing you’ll need to note that is specific to YugabyteDB is how to set up the connection correctly. It should be set up similar to the screenshot below:

yugabytedb setup on datagrip

Note that the host IP, port, and admin password values were all available in the pop-up we saw when we clicked on the “Connect” button in the Yugabyte Cloud UI. Remember to check “Introspect using JDBC metadata” on the “Options” tab.

Introspect using JDBC metadata yugabytedb datagrip

Finally, test the connection, open up a new SQL console, and execute a simple query to make sure everything is working.

Final step YugabyteDB cloud setup with DataGrip

That’s it! You can now create databases, objects and manipulate data in the terminal with YSQL or in your favorite GUI tool to a YugabyteDB cluster hosted on Yugabyte Cloud.

See it in action

Check out the demo video on getting started with Distributed SQL on YugabyteDB Managed (formerly Cloud) to see it in action:

What’s next?

  • Compare YugabyteDB in depth to databases like CockroachDB, Google Cloud Spanner, and Amazon Aurora.
  • Get started with YugabyteDB on macOS, Linux, Docker, and Kubernetes.
  • Contact us to learn more about licensing, pricing, or to schedule a technical overview.
  • We’re hiring! Check out our open positions and spread the word.
Jimmy Guerrero

VP Developer Relations

Related Posts

Explore Distributed SQL and YugabyteDB in Depth

Discover the future of data management.
Learn at Yugabyte University
Get Started
Browse Yugabyte Docs
Explore docs
PostgreSQL For Cloud Native World
Read for Free