How to Use Timeplus Proton: A Fast and Lightweight Streaming SQL Engine

Apr 13, 2022 | Programming

Timeplus Proton is an open-source streaming SQL engine, powered by ClickHouse, that provides an efficient solution for processing, routing, and analyzing streaming data. This article will guide you through using Timeplus Proton, including installation, deployment, and troubleshooting.

Why Use Timeplus Proton?

  • Alternative to Apache Flink or ksqlDB: Timeplus Proton offers robust streaming SQL functionality such as streaming ETL, various window types, and data revision processing.
  • Fast Performance: Written in C++, it can achieve 90 million events per second with low latency.
  • Lightweight: At only 500MB, it can run on minimal resources, even a t2.nano instance on AWS.
  • Powered by ClickHouse: Enables complex queries on billions of rows swiftly.
  • Best for Kafka and Redpanda: Seamlessly queries live data from popular streaming platforms.

Deployment

Here’s how to deploy Timeplus Proton efficiently:

A Single Binary Installation

curl https://install.timeplus.com/oss | sh

Once installed, there are three modes to run Timeplus Proton:

  • Local Mode: Fast processing on local and remote files.
  • Config-less Mode: Start the server without a detailed configuration.
  • Server Mode: A traditional server setup using pre-defined paths and configurations.

Using Docker

docker run -d --pull always -p 8123:8123 -p 8463:8463 --name proton d.timeplus.com/timeplus-io/proton:latest

This command will run Timeplus Proton in a Docker container, which makes it easy to manage and isolate.

Using Timeplus Proton

To start using Timeplus Proton, open a new terminal window with the proton client:

proton client

You can execute SQL commands directly to interact with the streams.

Creating and Querying Streams

For instance, to create a stream with random data:

CREATE RANDOM STREAM devices( 
    device string default deviceto_string(rand()%4),  
    temperature float default rand()%1000 
);

And then query it:

SELECT device, count(*), min(temperature), max(temperature) 
FROM devices 
GROUP BY device;

This will provide you an aggregated view of device temperatures.

What’s Next?

For more advanced features, check out the examples available in the examples repository. You may also explore Timeplus Cloud to use Proton without setting it up yourself.

Troubleshooting

If you encounter issues while using Timeplus Proton, here are some troubleshooting ideas:

  • Check your installation: Ensure that the installation command was executed correctly.
  • Connection problems: Verify that the Docker container’s ports are exposed and accessible.
  • SQL Errors: Double-check your SQL syntax and ensure that your streams are properly defined.
  • Performance issues: Monitor resource usage and optimize your queries if necessary.

For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.

Conclusion

At fxis.ai, we believe that advancements like Timeplus Proton are pivotal for the future of AI, as they facilitate effective and comprehensive data solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

Stay Informed with the Newest F(x) Insights and Blogs

Tech News and Blog Highlights, Straight to Your Inbox