Skip to content

Commit 2a58b8c

Browse files
authored
Added helm section to proton OSS (#552)
1 parent 06954e1 commit 2a58b8c

2 files changed

Lines changed: 74 additions & 6 deletions

File tree

β€Ždocs/proton-oss-vs-enterprise.mdβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Note: In the Enterprise column, a leading `+` marks capabilities that are additi
66

77
| **Categories** | **Timeplus Proton** | **Timeplus Enterprise** |
88
| ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
9-
| **Deployment** | <ul><li>Single-node Docker image</li><li>Single binary on Mac/Linux</li><li>Kubernetes Helm Chart (WIP)</li></ul> | <ul><li>+ [Cluster](/cluster)</li><li>[Kubernetes Helm Chart](/k8s-helm)</li></ul> |
9+
| **Deployment** | <ul><li>Single-node Docker image</li><li>Single binary on Mac/Linux</li><li>[Kubernetes Helm Chart](/proton#kubernetes)</li></ul> | <ul><li>+ [Cluster](/cluster)</li><li>[Kubernetes Helm Chart](/k8s-helm)</li></ul> |
1010
| **Operation** | <ul><li>[RBAC](/rbac)</li><li>[Tiered Storage](/append-stream-tiered-storage)</li><li>[Materialized View Monitoring](/materialized-view-monitoring)</li><li>[System Monitoring](/system-stream-state-log)</li></ul> | <ul><li>+ Timeplus Console for Metrics Visualization</li></ul> |
1111
| **Data Processing** | <ul><li>[Materialized View](/materialized-view)</li><li>[Historical Data Processing](/historical-query)</li><li>[Scheduled Task](/task)</li><li>[Alert](/alert)</li><li>[JavaScript UDF](/js-udf)</li><li>[Python UDF](/py-udf)</li><li>[Remote UDF](/remote-udf)</li><li>[SQL UDF](/sql-udf)</li><li>[JIT](/jit)</li></ul> | <ul><li>+ [Materialized View Scaling and High Availability](/materialized-view-high-availability)</li></ul> |
1212
| **Storage Engines** | <ul><li>[Append Stream](/append-stream)</li><li>[Versioned Key Value Stream](/versioned-stream)</li><li>[Changelog Key Value Stream](/changelog-stream)</li><li>[Dictionary](/sql-create-dictionary)</li><li>[Random Stream](/sql-create-random-stream)</li></ul> | <ul><li>+ [Mutable Stream](/mutable-stream)</li></ul> |

β€Ždocs/proton.mdβ€Ž

Lines changed: 73 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Timeplus Proton is a stream processing engine and database. It is fast and light
1414
See our [architecture](/architecture) doc for technical details and our [FAQ](/proton-faq) for more information.
1515

1616
## How is it different from ClickHouse?
17+
1718
ClickHouse is an extremely performant Data Warehouse built for fast analytical queries on large amounts of data. While it does support ingesting data from streaming sources such as Apache Kafka, it is itself not a stream processing engine which can transform and join streaming event data based on time-based semantics to detect patterns that need to be acted upon as soon as it happens. ClickHouse also has incremental materialized view capability but is limited to creating materialized view off of ingestion of blocks to a single table.
1819

1920
Timeplus Proton uses ClickHouse as a table store engine inside of each stream (alongside a Write Ahead Log and other data structures) and uses to unify real-time and historical data together to detect signals in the data. In addition, Timeplus Proton can act as an advanced data pre-processor for ClickHouse (and similar systems) where the bulk of the data preparation and batching is done ahead of ingestion. See [Timeplus and ClickHouse](https://www.timeplus.com/timeplus-and-clickhouse) for more details on this.
@@ -24,6 +25,10 @@ Timeplus Proton uses ClickHouse as a table store engine inside of each stream (a
2425

2526
## ⚑ Deployment
2627

28+
There are multiple ways to install Proton.
29+
30+
### Linux or Mac
31+
2732
Proton can be installed as a single binary on Linux or Mac, via:
2833

2934
```shell
@@ -43,7 +48,7 @@ brew tap timeplus-io/timeplus
4348
brew install proton
4449
```
4550

46-
You can also install Proton in Docker, Docker Compose or Kubernetes.
51+
### Docker and Docker Compose
4752

4853
```bash
4954
docker run -d --pull always -p 8123:8123 -p 8463:8463 --name proton d.timeplus.com/timeplus-io/proton:latest
@@ -53,11 +58,74 @@ Please check [Server Ports](/proton-ports) to determine which ports to expose, s
5358

5459
The [Docker Compose stack](https://github.com/timeplus-io/proton/tree/develop/examples/ecommerce) demonstrates how to read/write data in Kafka/Redpanda with external streams.
5560

56-
### Timeplus Cloud Demo
61+
### Kubernetes
62+
63+
The easiest way to deploy Proton on Kubernetes is via Helm package manager.
64+
65+
1. Add the Helm repository
66+
67+
Run the following commands to add the Timeplus Helm repo and list the available charts:
68+
69+
```bash
70+
helm repo add timeplus https://install.timeplus.com/charts
71+
helm repo update
72+
helm search repo timeplus -l
73+
```
74+
75+
You should see the `timeplus/timeplus-proton` chart in the list:
76+
77+
```bash
78+
NAME CHART VERSION APP VERSION
79+
timeplus/timeplus-enterprise v10.0.7 3.0.1
80+
...
81+
timeplus/timeplus-proton v1.0.0 3.0.3
82+
```
83+
84+
2. Prepare your `values.yaml`
85+
Below is a minimal configuration example you can use to get started. For a full list of available options, see the [Helm chart repo](https://github.com/timeplus-io/helm-charts/tree/main/charts/timeplus-proton).
86+
87+
```yaml
88+
resources:
89+
limits:
90+
cpu: '4'
91+
memory: '8Gi'
92+
requests:
93+
cpu: '2'
94+
memory: 4Gi
95+
96+
storage:
97+
className: <Your storage class name>
98+
size: 100Gi
99+
selector: null
100+
```
101+
102+
3. Install Proton using Helm
103+
104+
```bash
105+
export NS=timeplus
106+
export RELEASE=proton
107+
export VERSION=v1.0.0 # or the latest version you want to install
108+
109+
kubectl create ns $NS
110+
helm -n $NS install -f values.yaml $RELEASE timeplus/timeplus-proton --version $VERSION
111+
```
112+
113+
4. Verify the deployment
114+
115+
```bash
116+
# Wait for the Proton pod to start up (this may take a few minutes depending on your cluster):
117+
kubectl -n $NS get pods -w
118+
119+
# Once the pod is running, you can port-forward the service to access Proton locally:
120+
kubectl -n $NS port-forward service/proton-svc 3218
121+
122+
# In another terminal, verify that Proton is responding:
123+
>curl localhost:3218/proton/info
124+
```
57125

58-
Don't want to setup by yourself? Try Timeplus in [Cloud](https://demo.timeplus.cloud/).
126+
If the command returns build information, Proton has been successfully deployed πŸŽ‰.
59127

60-
### πŸ”Ž Usage
128+
## πŸ”Ž Usage
61129

62130
SQL is the main interface. You can start a new terminal window with `proton client` to start the SQL shell.
63131

@@ -94,7 +162,7 @@ You should see data like the following:
94162
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
95163
```
96164

97-
### ⏩ What's next?
165+
## ⏩ What's next?
98166

99167
To see more examples of using Timeplus Proton, check out the [examples](https://github.com/timeplus-io/proton/tree/develop/examples) folder.
100168

0 commit comments

Comments
Β (0)