Skip to content

Commit

Permalink
[Doc] Translate a Chinese statement which appears in English version …
Browse files Browse the repository at this point in the history
…doc (apache#5290)
  • Loading branch information
Sunt-ing authored and morningman-cmy committed Feb 4, 2021
1 parent 433c57a commit 293eec2
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 8 deletions.
4 changes: 2 additions & 2 deletions docs/en/internal/doris_storage_optimization.md
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ Relevant issues:
Relevant issues:
1. How to quickly locate a row within the page?

The data inside the page is encoding, so it can not locate the row-level data quickly. Different encoding methods have different schemes for fast line number positioning in-house, which need to be analyzed concretely:
The data inside the page is encoding, so it cannot locate the row-level data quickly. Different encoding methods have different schemes for fast line number positioning in-house, which need to be analyzed concretely:
- If it is rle-coded, skip is performed by resolving the head of RLE until the RLE block containing the row is reached, and then the reverse solution is performed.
- binary plain encoding: offset information will be stored in the page, and offset information will be specified in the page header. When reading, offset information will be parsed into the array first, so that you can quickly locate the data of a row of block through offset data information of each row.
2. How to achieve efficient block reading? Consider merging adjacent blocks while they are being read, one-time reading?
Expand All @@ -232,4 +232,4 @@ It implements a scalable compression framework, supports a variety of compressio

## TODO ##
1. How to implement nested types? How to locate line numbers in nested types?
2. How to optimize the downstream bitmap and column statistics statistics caused by ScanRange splitting?
2. How to optimize the downstream bitmap and column statistics caused by ScanRange splitting?
10 changes: 5 additions & 5 deletions docs/en/internal/grouping_sets_design.md
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,7 @@ Presto supports composition, but not nesting.
## 2. Object

Support `GROUPING SETS``ROLLUP` and `CUBE ` syntax,implements 1.1, 1.2, 1.3 1.4, 1.5, not support the combination
and nesting of GROUPING SETS at current version.
and nesting of GROUPING SETS in current version.

### 2.1 GROUPING SETS Syntax

Expand Down Expand Up @@ -308,15 +308,15 @@ Expression,column name.

### 3.1 Overall Design Approaches

For `GROUPING SET` is equivalent to the `UNION` of `GROUP BY` . So we can expand input rows, and run an GROUP BY on these rows
For `GROUPING SET` is equivalent to the `UNION` of `GROUP BY` . So we can expand input rows, and run an GROUP BY on these rows.

For example:

```
SELECT a, b FROM src GROUP BY a, b GROUPING SETS ((a, b), (a), (b), ());
```

Data in table src :
Data in table src :

```
1, 2
Expand Down Expand Up @@ -485,7 +485,7 @@ select NULL, NULL, sum(k3) from t;

In order to add GROUPING_ID to groupingExprs in GroupByClause, need to create virtual SlotRef, also, need tot create a tuple for this slot, named GROUPING\_\_ID Tuple.

For the plannode RepeatNode, it's input is all the tuple of it's children, It's output tuple is the repeat data and GROUPING_ID.
For the plannode RepeatNode, its input are all the tuples of its children and its output tuple are the repeat data and GROUPING_ID.


#### 3.3.3 Expression and Function Substitution
Expand All @@ -498,4 +498,4 @@ grouping_id() -> grouping_id(grouping_id) for grouping_id function
#### 3.4.1 Tasks

1. Add RepeatNode executor, expend the input data and append GROUPING_ID to every row
2. Implements grouping_id() and grouping() function.
2. Implements grouping_id() and grouping() function.
2 changes: 1 addition & 1 deletion docs/en/internal/metadata-design.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ under the License.

As shown above, Doris's overall architecture is divided into two layers. Multiple FEs form the first tier, providing lateral expansion and high availability of FE. Multiple BEs form the second layer, which is responsible for data storage and management. This paper mainly introduces the design and implementation of metadata in FE layer.

1. FE 节点分为 follower observer 两类。各个 FE 之间,通过 bdbje[BerkeleyDB Java Edition](http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index-093405.html))进行 leader 选举,数据同步等工作。
1. There are two different kinds of FE nodes: follower and observer. Leader election and data synchronization are taken among FE nodes by bdbje ([BerkeleyDB Java Edition](http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index-093405.html)).

2. The follower node is elected, and one of the followers becomes the leader node, which is responsible for the writing of metadata. When the leader node goes down, other follower nodes re-elect a leader to ensure high availability of services.

Expand Down

0 comments on commit 293eec2

Please sign in to comment.