Product Updates: August 2024

ClickHouse takes off 🚀, Geo functions 🌎, and ClickHouse interface preview 👀

Hi there!

At Propel, we're on a mission to be the easiest way to run ClickHouse at any scale.

Today, one thing is clear: ClickHouse is taking off. Developers love it for its speed and the control it offers in making performance/cost tradeoffs with minimal complexity.

Looking at GitHub stars—a somewhat vanity metric but still indicative of developer interest—we can see ClickHouse's growth. It's outpacing other analytical databases, surpassing popular DBs like MongoDB, and even catching up with ubiquitous technologies like Apache Spark.

What’s New

We have some awesome updates this month.

Here are the highlights of what’s new 👇

🌍 Geospatial functions are now available

We've expanded our ClickHouse compatibility to include geospatial functions. This powerful addition allows you to perform complex spatial analysis and queries on your geographical data. Key features include:

  • Point, LineString, and Polygon data type support
  • Distance calculations between geographic points
  • Spatial indexing for optimized performance
  • Geofencing and point-in-polygon queries

These functions open up new possibilities for location-based analytics and insights. Whether you're working with GPS data, mapping applications, or location-based services, our geospatial functions provide the tools you need to extract valuable information from your spatial data.

Learn more about Geo functions

👀 Coming soon: ClickHouse Interface

With the ClickHouse interface, Propel will be like any other ClickHouse, just completely serverless and instantly auto-scalable.

Want to kick the tires? Reply to this email.

Query of the month: filtering with array values

Storing data in JSON arrays is super useful when you have user-provided values (like tags) or when you want to keep things simple and avoid a denormalization transformation.

The challenge arises when you need to filter your query by a value in the array. In the example below, imagine you have a JSON column toppings with values ["guacamole", "jalapenos", "cheese", "onions"] and you need to retrieve all rows that contain "jalapenos" in the toppings.

This query does the trick:

SELECT *
FROM taco_orders
WHERE has(JSONExtractArrayRaw(assumeNotNull(toppings)), '"jalapenos"')

In this query:

  • JSONExtractArrayRaw extracts an array of JSON values from the toppings column.
  • assumeNotNull ensures that the toppings column is treated as non-nullable.
  • The has function checks if the array contains the specified value, which in this case is a double-quoted ID.

From Propel

From the community

How to get started with Propel for free?

Start building today with a generous free tier that gets you 10GB of storage and 50,000 queries per month 👩🏽‍💻  🏗️  🚀!

Claim $15 of free monthly usage forever.

Thank you for reading!

Nico Acosta

Co-founder & CEO

Propel

If you find these product updates useful, please forward them to a colleague who can subscribe here. Alternatively, you can subscribe to our podcast, Data Chaos, on Spotify or Apple Podcasts.

Related posts

Product Updates: August 2024

This is some text inside of a div block.

Heading 1

Heading 2

Heading 3

Heading 4

Heading 5
Heading 6

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

Block quote

Ordered list

  1. Item 1
  2. Item 2
  3. Item 3

Unordered list

  • Item A
  • Item B
  • Item C

Text link

Bold text

Emphasis

Superscript

Subscript

Product Updates: July 2024

This is some text inside of a div block.

Heading 1

Heading 2

Heading 3

Heading 4

Heading 5
Heading 6

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

Block quote

Ordered list

  1. Item 1
  2. Item 2
  3. Item 3

Unordered list

  • Item A
  • Item B
  • Item C

Text link

Bold text

Emphasis

Superscript

Subscript

Product Updates: June 2024

This is some text inside of a div block.

Heading 1

Heading 2

Heading 3

Heading 4

Heading 5
Heading 6

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

Block quote

Ordered list

  1. Item 1
  2. Item 2
  3. Item 3

Unordered list

  • Item A
  • Item B
  • Item C

Text link

Bold text

Emphasis

Superscript

Subscript

Start shipping today

Deliver the analytics your customers have been asking for.