Overview of the Deephaven Interface

Much of Deephaven's functionality is provided through two fundamental interfaces:

  • Code Studios can be thought of as "creator" spaces, where users can write console-based queries for analyzing data. The tables, charts, and widgets generated from those queries (as well as other tables, charts, and widgets) can then be arranged to create customized workspaces in the Deephaven interface. Note: these are referred to as "Consoles" in Deephaven Classic. For more details, see: Code Studios.
  • Dashboards can be thought of as "reviewer" spaces, where users can review collections of tables, charts, and widgets that were previously generated by persistent (saved) queries. Like Code Studios, the content contained in Dashboards can be rearranged as needed for customized workspaces. For more details, see: Dashboards.

In addition to the graphical user interface there are three main components of the Deephaven interface:

  • Tables contain tabular data.
  • Queries are used to manipulate and visualize data. 
  • Widgets (including plots) are components used to build the console. 

User Interface

When logging into Deephaven on the web for the first time, you will see a screen similar to that shown below, which is the same as selecting +New in the top navigation bar.

(Mouse over the image to see Tooltips)

The New Dashboard button is used to create new Dashboards.

The New Code Studio button is used to create new Code Studios.

The New Query Monitor button is used to show details about persistent queries available on your system. (See Query Monitor.)

The lower part of the interface is the Dashboard Information and Selection Panel. This section will help you find, open or manage all of the Dashboards and/or Code Studios for which you have access.

The Navigation Bar at the top of the interface provides access to the various components of the Deephaven interface. The left side of the navigation bar shows buttons for Code Studio and New. The right side of the navigation bar provides buttons for Controls, Panels, Sharing, and Settings.

Each of these sections is discussed in detail. See:

The first time you open a new Code Studio or Dashboard, your workspace will open as blank slate upon which you can build a customized interface. 

Compare that to the following Dashboard, which holds several detailed tables, plots, and widgets accessing a massive dataset of both historical and live, ticking data. Further structure is provided by additional tabs and layers of the interface customized and personalized specifically by users.

Tables

All data used in Deephaven is stored in tables. Each table consists of rows and columns of data. Tables have a defined number of columns. However, the number of rows in a table can vary and is virtually unlimited.

Many spreadsheet applications can only handle smaller datasets. However, Deephaven excels at working with exceptionally large data sets. In fact, Deephaven is capable of working with tables that have millions or even billions of rows of data. Moreover, Deephaven works equally well with tables of static or historical information (as shown above) or with live, ticking data.

For example, the following table holds information about financial securities quoted on August 25, 2017.

The column names for this table are presented in the header, and include Date, Timestamp, Sym, Bid, etc.  They cannot be shown here, but this table has almost 235 million rows of data.

Queries

Simply speaking, a query is just a way to ask the data system for information, and then massage the content into the form desired. For the Deephaven data system, the Deephaven query language (and Java) is used to write those requests. Similar to the formulas used in most spreadsheet software packages, the Deephaven Query Language is relatively easy to read, understand and use.

For example, to analyze the financial data noted in the Tables section, you could write a query to instruct the system to perform a specific analysis.

In this case, we want to limit the table to show only trades for Google. Here is the query:

demo=db.t("LearnDeephaven", "StockQuotes")   
        .where("Sym=`GOOG`")

The specifics about writing queries are covered in other sections. However, as you can see below, the language is very intuitive and easy to follow.

Query

Explanation

demo=db.t("LearnDeephaven", "StockQuotes")

This line tells the system to:

- Look in the namespace called "LearnDeephaven"

- Open a table called "StockQuotes"

- Store the contents of the table in a variable named "demo"

.where("Sym=`GOOG`")

This line filters the data to include only those rows that have the value GOOG in the Sym column

After the query runs, the resulting table would look similar to the following:

There are two types of queries: console-based and persistent. Console-based queries are typed in the console (or accessed via Git or other type of repository). Persistent queries operate just like console-based queries. However, persistent queries are created and saved, thereby enabling the automation of repetitive and/or timed operations. Also, persistent queries can be shared with other individuals or teams.

See the Writing Queries and Persistent Query Overview sections for more details.

This was a very simple example. However, as mentioned earlier, Deephaven is capable of much more complex analyses using much larger datasets. With the right data, a little practice with the Deephaven Query Language, and a fast data system like Deephaven, the only limit to your analytics is your imagination.

More specific information and examples of writing queries are found throughout the Deephaven documentation.

Widgets

Widgets are components used to build the Deephaven console. A common widget is a plot, such as a line plot as shown below. Plot widgets are created by writing queries that use plotting methods to act upon the data in the tables being analyzed. 

Please refer to Plotting to learn more about the options available in Deephaven.

In addition to plot widgets, advanced programmers can create their own custom widgets for other purposes, including customized dashboard tools, data filters and more.


Last Updated: 16 February 2021 18:07 -04:00 UTC    Deephaven v.1.20200928  (See other versions)

Deephaven Documentation     Copyright 2016-2020  Deephaven Data Labs, LLC     All Rights Reserved