Using the Explore UI

The Explore tab provides a quick, in-browser way to explore the data on Beneath. If you’d like to check the schema or query a subset of data, this tab is a great place to start.

Filters

In order to search for data of interest, you can write easy one-line filters. Here are example queries for the token transfers table.

Query 1:

{ "symbol": "BTC", "day": "2019-07-20" }

Returns 1 row

Query 2:

{ "symbol": "BTC" }

Returns all prices for BTC

Query 3:

{ "symbol": "BTC", "day": { "_gte": "2019-07-01", "_lt": "2019-08-01" } }

“_gte” means “greater than or equal to”
“_lt” means “less than”

Returns all prices for BTC for July

Query 4:

{ "symbol": { "_prefix": "B" } }

Returns all prices for all coins starting with “B”

Query 5:

{ "symbol": { "_prefix": "B" }, "day": { "_gte": "2019-07-01", "_lt": "2019-08-01" } }

Returns an error! See “lexicographic order.”

Primary keys

It is important to note that you are able to filter data only based on the stream’s key(s). You will not be able to filter on the other non-key columns (aka the values). This is because, in order to enable ultra low-latency queries, we put the data into a lean key-value store. The benefit of this design choice is that it enables near instantaneous response times, however, the downside is that queries can only reference the keys, not the values.

Lexicographic order

Additionally, it is important to note that the keys are lexicographically sorted. This concept especially pertains to datasets with composite keys (i.e. the key is the combination of multiple columns). If you have a composite key, you are only able to filter for lexicographically adjacent keys. In the example queries above, Query 3 correctly adheres to filtering a composite key, but Query 5 does not. Query 5 would fail because there are two coins that start with a “B”: BTC and BCH. With the data sorted lexicographically, you can picture that two non-adjacent blocks of data would have to be pulled out of the database in order to return the result, and this is not supported.