Skip to content

Commit 16b358a

Browse files
authored
doc(dev-guide): reorg design docs (#17649)
Signed-off-by: xxchan <[email protected]>
1 parent 0987e27 commit 16b358a

File tree

10 files changed

+28
-75
lines changed

10 files changed

+28
-75
lines changed

docs/dev/src/SUMMARY.md

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -26,29 +26,27 @@
2626
# Specialized topics
2727

2828
- [Develop Connectors](./connector/intro.md)
29+
- [Source](./connector/source.md)
2930
- [Continuous Integration](./ci.md)
3031

3132
---
3233

3334
# Design docs
3435

35-
<!-- TODO: perhapts we need to reorder/group these docs? -->
36-
3736
- [Architecture Design](./design/architecture-design.md)
38-
- [An Overview of RisingWave Streaming Engine](./design/streaming-overview.md)
39-
- [An Overview of RisingWave State Store](./design/state-store-overview.md)
37+
- [Streaming Engine](./design/streaming-overview.md)
38+
- [Checkpoint](./design/checkpoint.md)
39+
- [Aggregation](./design/aggregation.md)
40+
- [MView on Top of MView](./design/mv-on-mv.md)
41+
- [Backfill](./design/backfill.md)
42+
- [State Store](./design/state-store-overview.md)
43+
- [Shared Buffer](./design/shared-buffer.md)
44+
- [Relational Table](./design/relational-table.md)
45+
- [Multiple Object Storage Backends](./design/multi-object-store.md)
4046
- [Meta Service](./design/meta-service.md)
41-
- [Create MView on Top of MView](./design/mv-on-mv.md)
42-
- [Checkpoint](./design/checkpoint.md)
43-
- [Design of Data Source](./design/data-source.md)
4447
- [Data Model and Encoding](./design/data-model-and-encoding.md)
45-
- [Design of Batch Local Execution Mode](./design/batch-local-execution-mode.md)
48+
- [Batch Local Execution Mode](./design/batch-local-execution-mode.md)
4649
- [Consistent Hash](./design/consistent-hash.md)
47-
- [Build RisingWave with Multiple Object Storage Backends](./design/multi-object-store.md)
48-
- [Backfill](./design/backfill.md)
49-
- [Aggregation](./design/aggregation.md)
50-
- [Shared Buffer](./design/shared-buffer.md)
51-
- [Relational Table](./design/relational-table.md)
5250
- [Keys](./design/keys.md)
5351
<!--
5452

docs/dev/src/connector/intro.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# Develop Connectors
22

3+
This page describes the development workflow to develop connectors. For design docs, see
4+
- [Source](./source.md)
5+
36
RisingWave supports a lot of connectors (sources and sinks).
47
However, developing connectors is tricky because it involves external systems:
58

docs/dev/src/design/data-source.md renamed to docs/dev/src/connector/source.md

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,11 @@
1-
# Data Source
2-
3-
- [Data Source](#data-source)
4-
- [Components](#components)
5-
- [Connectors](#connectors)
6-
- [Enumerators](#enumerators)
7-
- [ConnectorSource](#connectorsource)
8-
- [SourceExecutor](#sourceexecutor)
9-
- [How It Works](#how-it-works)
1+
# Source
102

113
This page describes RisingWave's Data Source API and the architecture behind it. This may help if you are interested in how data sources work, or if you want to implement a new Data Source.
124

5+
For the workflow of developing connectors, see [Develop Connectors](../connector/intro.md).
6+
7+
<!-- toc -->
8+
139
## Components
1410

1511
RisingWave's data source covers four parts: connectors, enumerators, ConnectorSource and SourceExecutor.
@@ -41,7 +37,7 @@ pub trait SplitReader: Sized {
4137

4238
### Enumerators
4339

44-
`Enumerator` periodically requests upstream to discover changes in splits, and in most cases the number of splits only increases. The enumerator is a separate task that runs on the [meta](./meta-service.md). If the upstream split changes, the enumerator notifies the connector by means of config change to change the subscription relationship.
40+
`Enumerator` periodically requests upstream to discover changes in splits, and in most cases the number of splits only increases. The enumerator is a separate task that runs on the [meta](../design/meta-service.md). If the upstream split changes, the enumerator notifies the connector by means of config change to change the subscription relationship.
4541

4642
All enumerators need to implement the following trait.
4743

docs/dev/src/design/data-model-and-encoding.md

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
# Data Model and Encoding
22

3-
- [Data Model and Encoding](#data-model-and-encoding)
4-
- [Data Model](#data-model)
5-
- [In-Memory Encoding](#in-memory-encoding)
6-
- [On-Disk Encoding](#on-disk-encoding)
7-
8-
<!-- Created by https://github.com/ekalinin/github-markdown-toc -->
3+
<!-- toc -->
94

105
## Data Model
116

@@ -26,7 +21,7 @@ Primitive data types:
2621
- Strings: `VARCHAR`
2722
- Temporals: `DATE`, `TIMESTAMP`, `TIMESTAMP WITH TIME ZONE`, `TIME`, `INTERVAL`
2823

29-
Composite data types (WIP):
24+
Composite data types:
3025

3126
- `Struct`: A structure with a list of named, strong-typed fields.
3227
- `List`: A variable-length list of values with same data type.

docs/dev/src/design/meta-service.md

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,6 @@
11
# Meta Service
22

3-
- [Meta Service](#meta-service)
4-
- [Background](#background)
5-
- [Meta Store](#meta-store)
6-
- [Types of Metadata](#types-of-metadata)
7-
- [Catalog](#catalog)
8-
- [Storage](#storage)
9-
- [Push on Updates](#push-on-updates)
10-
11-
<!-- Created by https://github.com/ekalinin/github-markdown-toc -->
3+
<!-- toc -->
124

135
## Background
146

docs/dev/src/design/multi-object-store.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# Build RisingWave with Multiple Object Storage Backends
22

3-
4-
<!-- Created by https://github.com/ekalinin/github-markdown-toc -->
3+
<!-- toc -->
54

65
## Overview
76
As a cloud-neutral database, RisingWave supports running on different (object) storage backends. Currently, these storage products include

docs/dev/src/design/mv-on-mv.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Create MView on Top of MView
1+
# MView on Top of MView
22

33
## Background
44

docs/dev/src/design/shared-buffer.md

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,6 @@
11
# The Hummock Shared Buffer
22

3-
Table of contents:
4-
5-
- [Introduction](#introduction)
6-
- [Part 1: Async Checkpoint](#part-1-async-checkpoint)
7-
- [Write Path](#write-path)
8-
- [Read Path](#read-path)
9-
- [Part 2: Write Anytime / Async Flush](#part-2-write-anytime--async-flush)
10-
- [A New Merge Iterator](#a-new-merge-iterator)
11-
- [Considerations](#considerations)
3+
<!-- toc -->
124

135
## Introduction
146

docs/dev/src/design/state-store-overview.md

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,6 @@
11
# An Overview of RisingWave State Store
22

3-
- [An Overview of RisingWave State Store](#an-overview-of-risingwave-state-store)
4-
- [Overview](#overview)
5-
- [Architecture](#architecture)
6-
- [The Hummock User API](#the-hummock-user-api)
7-
- [Hummock Internals](#hummock-internals)
8-
- [Storage Format](#storage-format)
9-
- [Write Path](#write-path)
10-
- [Read Path](#read-path)
11-
- [Compaction](#compaction)
12-
- [Transaction Management with Hummock Manager](#transaction-management-with-hummock-manager)
13-
- [Checkpointing in Streaming](#checkpointing-in-streaming)
14-
15-
<!-- Created by https://github.com/ekalinin/github-markdown-toc -->
3+
<!-- toc -->
164

175
## Overview
186

docs/dev/src/design/streaming-overview.md

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,6 @@
11
# An Overview of the RisingWave Streaming Engine
22

3-
- [An Overview of the RisingWave Streaming Engine](#an-overview-of-risingwave-streaming-engine)
4-
- [Overview](#overview)
5-
- [Architecture](#architecture)
6-
- [Actors, executors, and states](#actors-executors-and-states)
7-
- [Actors](#actors)
8-
- [Executors](#executors)
9-
- [Checkpoint, Consistency, and Fault tolerance](#checkpoint-consistency-and-fault-tolerance)
10-
- [Barrier based checkpoint](#barrier-based-checkpoint)
11-
- [Fault tolerance](#fault-tolerance)
12-
13-
<!-- Created by https://github.com/ekalinin/github-markdown-toc -->
3+
<!-- toc -->
144

155
## Overview
166

0 commit comments

Comments
 (0)