Skip to content

Commit

Permalink
Update doc for releasing v0.5.0 (#344)
Browse files Browse the repository at this point in the history
  • Loading branch information
hanahmily authored Oct 17, 2023
1 parent d043b3a commit 84f32b3
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 71 deletions.
24 changes: 10 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,12 @@ The database research community usually uses [RUM conjecture](http://daslab.seas
- [x] gRPC server
- [x] HTTP server

### Distributed manager (v1.0.0)
### Distributed manager

- [ ] Sharding
- [ ] Load balance
- [ ] Distributed query optimizer
- [ ] Data queue
- [x] Sharding
- [x] Load balance
- [x] Distributed query optimizer
- [x] Data queue

### Data processor

Expand All @@ -54,7 +54,7 @@ The database research community usually uses [RUM conjecture](http://daslab.seas
- [x] Index processor
- [x] TTL
- [x] Cold data processor
- [ ] WAL (v0.5.0)
- [x] WAL

### Query processor

Expand All @@ -65,15 +65,11 @@ The database research community usually uses [RUM conjecture](http://daslab.seas
- [ ] Parallel executor
- [ ] Cost-based optimizer

### Verification
### Storage

- [x] E2E with OAP and simulated data
- [x] E2E with showcases, agents and OAP
- [x] Space utilization rate
- [ ] Leading and trailing zero (v0.5.0)
- [ ] Stability (v0.5.0)
- [ ] Crash recovery (v0.5.0)
- [ ] Performance
- [ ] Compaction
- [ ] Merge data files
- [ ] Sparse index

### Tools

Expand Down
50 changes: 11 additions & 39 deletions docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,53 +122,25 @@ $ ./banyand-server standalone

The banyand-server would be listening on the `0.0.0.0:17912` if no errors occurred.

## Setup Multiple Banyand as Cluster(TBD)
## Setup Multiple Banyand as Cluster

### Setup Standalone Nodes
Firstly, you need to setup a etcd cluster which is required for the metadata module to provide the metadata service and nodes discovery service for the whole cluster. The etcd cluster can be setup by the [etcd installation guide](https://etcd.io/docs/v3.5/install/). The etcd version should be `v3.1` or above.

The standalone node is running as a standalone process by
Then, you can start the metadata module by

```shell
$ ./banyand-server standalone <flags> --data-node-id n1
$ ./banyand-server standalone <flags> --data-node-id n2
$ ./banyand-server standalone <flags> --data-node-id n3
```

`data-node-id` is the unique identifier of the standalone node.

The standalone node would be listening on the `<ports>` if no errors occurred.

### Setup Role-Based Nodes

The meta nodes should boot up firstly to provide the metadata service for the whole cluster. The meta node is running as a standalone process by
Considering the etcd cluster is spread across three nodes with the addresses `10.0.0.1:2379`, `10.0.0.2:2379`, and `10.0.0.3:2379`, Data nodes and liaison nodes are running as independent processes by

```shell
$ ./banyand-server meta <flags>
$ ./banyand-server storage --etcd-endpoints=http://10.0.0.1:2379,http://10.0.0.2:2379,http://10.0.0.3:2379 <flags>
$ ./banyand-server storage --etcd-endpoints=http://10.0.0.1:2379,http://10.0.0.2:2379,http://10.0.0.3:2379 <flags>
$ ./banyand-server storage --etcd-endpoints=http://10.0.0.1:2379,http://10.0.0.2:2379,http://10.0.0.3:2379 <flags>
$ ./banyand-server liaison --etcd-endpoints=http://10.0.0.1:2379,http://10.0.0.2:2379,http://10.0.0.3:2379 <flags>
```

The meta node would be listening on the `<ports>` if no errors occurred.
## Docker & Kubernetes

The docker image of banyandb is available on [Docker Hub](https://hub.docker.com/r/apache/skywalking-banyandb).

Data nodes, query nodes and liaison nodes are running as independent processes by

```shell
$ ./banyand-server storage --mode data --data-node-id n1 <flags>
$ ./banyand-server storage --mode data --data-node-id n2 <flags>
$ ./banyand-server storage --mode data --data-node-id n3 <flags>
$ ./banyand-server storage --mode query <flags>
$ ./banyand-server storage --mode query <flags>
$ ./banyand-server liaison <flags>
```

`data-node-id` is the unique identifier of the data node.

The data node, query node and liaison node would be listening on the `<ports>` if no errors occurred.

If you want to use a `mix` mode instead of separate query and data nodes, you can run the banyand-server as processes by

```shell
$ ./banyand-server storage --data-node-id n1 <flags>
$ ./banyand-server storage --data-node-id n2 <flags>
$ ./banyand-server storage --data-node-id n3 <flags>
$ ./banyand-server liaison <flags>
```
If you want to onboard banyandb to the Kubernetes, you can refer to the [banyandb-helm](https://github.com/apache/skywalking-banyandb-helm).
19 changes: 2 additions & 17 deletions docs/installation/cluster.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Cluster Installation<TBD>
# Cluster Installation

## Setup Meta Nodes

Expand All @@ -10,22 +10,7 @@ The etcd cluster can be setup by the [etcd installation guide](https://etcd.io/d

There is an example: The etcd cluster is spread across three nodes with the addresses `10.0.0.1:2379`, `10.0.0.2:2379`, and `10.0.0.3:2379`.

Data nodes, query nodes and liaison nodes are running as independent processes by

```shell
$ ./banyand-server storage --mode data --etcd-endpoints=http://10.0.0.1:2379,http://10.0.0.2:2379,http://10.0.0.3:2379 <flags>
$ ./banyand-server storage --mode data --etcd-endpoints=http://10.0.0.1:2379,http://10.0.0.2:2379,http://10.0.0.3:2379 <flags>
$ ./banyand-server storage --mode data --etcd-endpoints=http://10.0.0.1:2379,http://10.0.0.2:2379,http://10.0.0.3:2379 <flags>
$ ./banyand-server storage --mode query --etcd-endpoints=http://10.0.0.1:2379,http://10.0.0.2:2379,http://10.0.0.3:2379 <flags>
$ ./banyand-server storage --mode query --etcd-endpoints=http://10.0.0.1:2379,http://10.0.0.2:2379,http://10.0.0.3:2379 <flags>
$ ./banyand-server liaison --etcd-endpoints=http://10.0.0.1:2379,http://10.0.0.2:2379,http://10.0.0.3:2379 <flags>
```

The data node, query node and liaison node would be listening on the `<ports>` if no errors occurred.

## Mix-mode Data Nodes

If you want to use a `mix` mode instead of separate query and data nodes, you can run the banyand-server as processes by
Data nodes and liaison nodes are running as independent processes by

```shell
$ ./banyand-server storage --etcd-endpoints=http://10.0.0.1:2379,http://10.0.0.2:2379,http://10.0.0.3:2379 <flags>
Expand Down
2 changes: 1 addition & 1 deletion docs/observability.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ The Docker image is tagged as "prometheus" to facilitate cloud-native operations

## Profiling

TODO: Add details about the profiling support in BanyanDB, such as how to enable profiling, available profiling tools, and how to analyze profiling data.
Banyand, the server of BanyanDB, supports profiling automatically. The profiling data is collected by the `pprof` package and can be accessed through the `/debug/pprof` endpoint. The port of the profiling server is `2122` by default.

## Tracing

Expand Down

0 comments on commit 84f32b3

Please sign in to comment.