You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: ydb/docs/en/core/concepts/topic.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -129,7 +129,7 @@ A source ID is an arbitrary string up to 2048 characters long. This is usually t
129
129
#### Sample source IDs {#source-id-examples}
130
130
131
131
| Type | ID | Description |
132
-
--- | --- | ---
132
+
|--- | --- | ---|
133
133
| File | Server ID | Files are used to store application logs. In this case, it's convenient to use the server ID as a source ID. |
134
134
| User actions | ID of the class of user actions, such as "viewing a page", "making a purchase", and so on. | It's important to handle user actions in the order they were performed by the user. At the same time, there is no need to handle every single user action in one application. In this case, it's convenient to group user actions by class. |
135
135
@@ -140,7 +140,7 @@ A message group ID is an arbitrary string up to 2048 characters long. This is us
140
140
#### Sample message group IDs {#group-id-examples}
141
141
142
142
| Type | ID | Description |
143
-
--- | --- | ---
143
+
|--- | --- | ---|
144
144
| File | Full file path | All data from the server and the file it hosts will be sent to the same partition. |
145
145
| User actions | User ID | It's important to handle user actions in the order they were performed. In this case, it's convenient to use the user ID as a source ID. |
146
146
@@ -153,9 +153,9 @@ Sequence numbers are not used if [no-deduplication mode](#no-dedup) is enabled.
| File | Offset of transferred data from the beginning of a file | You can't delete lines from the beginning of a file, since this will lead to skipping some data as duplicates or losing some data. |
158
-
| DB table | Auto-increment record ID |
158
+
| DB table | Auto-increment record ID ||
159
159
160
160
## Message retention period {#retention-time}
161
161
@@ -168,13 +168,13 @@ When transferring data, the producer app indicates that a message can be compres
168
168
Supported codecs are explicitly listed in each topic. When making an attempt to write data to a topic with a codec that is not supported, a write error occurs.
Copy file name to clipboardExpand all lines: ydb/docs/en/core/contributor/load-actors-pdisk-log.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,7 @@ This ad-hoc actor is used for testing specific functionality. This is not a load
15
15
{% include [load-actors-params](../_includes/load-actors-params.md) %}
16
16
17
17
| Parameter | Description |
18
-
--- | ---
18
+
|--- | ---|
19
19
|`PDiskId`| ID of the Pdisk being loaded on the node. |
20
20
|`PDiskGuid`| Globally unique ID of the PDisk being loaded. |
21
21
|`VDiskId`| Parameters of the VDisk used to generate load.<ul><li>`GroupID`: Group ID.</li><li>`GroupGeneration`: Group generation.</li><li>`Ring`: Group ring ID.</li><li>`Domain`: Ring fail domain ID.</li><li>`VDisk`: Index of the VDisk in the fail domain.</li></ul> |
Copy file name to clipboardExpand all lines: ydb/docs/en/core/contributor/load-actors-pdisk-read.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ You can generate two types of load:
12
12
{% include [load-actors-params](../_includes/load-actors-params.md) %}
13
13
14
14
| Parameter | Description |
15
-
--- | ---
15
+
|--- | ---|
16
16
|`PDiskId`| ID of the Pdisk being loaded on the node. |
17
17
|`PDiskGuid`| Globally unique ID of the PDisk being loaded. |
18
18
|`VDiskId`| The load is generated on behalf of a VDisk with the following parameters:<ul><li>`GroupID`: Group ID.</li><li>`GroupGeneration`: Group generation.</li><li>`Ring`: Group ring ID.</li><li>`Domain`: Ring fail domain ID.</li><li>`VDisk`: Index of the VDisk in the fail domain.</li></ul> |
Copy file name to clipboardExpand all lines: ydb/docs/en/core/contributor/load-actors-pdisk-write.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ You can generate two types of load:
12
12
{% include [load-actors-params](../_includes/load-actors-params.md) %}
13
13
14
14
| Parameter | Description |
15
-
--- | ---
15
+
|--- | ---|
16
16
|`PDiskId`| ID of the Pdisk being loaded on the node. |
17
17
|`PDiskGuid`| Globally unique ID of the PDisk being loaded. |
18
18
|`VDiskId`| The load is generated on behalf of a VDisk with the following parameters:<ul><li>`GroupID`: Group ID.</li><li>`GroupGeneration`: Group generation.</li><li>`Ring`: Group ring ID.</li><li>`Domain`: Ring fail domain ID.</li><li>`VDisk`: Index of the VDisk in the fail domain.</li></ul> |
Copy file name to clipboardExpand all lines: ydb/docs/en/core/contributor/load-actors-storage.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,7 +13,7 @@ You can generate three types of load:
13
13
{% include [load-actors-params](../_includes/load-actors-params.md) %}
14
14
15
15
| Parameter | Description |
16
-
--- | ---
16
+
|--- | ---|
17
17
|`DurationSeconds`| Load duration. The timer starts upon completion of the initial data allocation. |
18
18
|`Tablets`| The load is generated on behalf of a tablet with the following parameters:<ul><li>`TabletId`: Tablet ID. It must be unique for each load actor across all the cluster nodes. This parameter and `TabletName` are mutually exclusive.</li><li>`TabletName`: Tablet name. If the parameter is set, tablets' IDs will be assigned automatically, tablets launched on the same node with the same name will be given the same ID, tablets launched on different nodes will be given different IDs.</li><li>`Channel`: Tablet channel.</li><li>`GroupId`: ID of the storage group to get loaded.</li><li>`Generation`: Tablet generation.</li></ul> |
19
19
|`WriteSizes`| Size of the data to write. It is selected randomly for each request from the `Min`-`Max` range. You can set multiple `WriteSizes` ranges, in which case a value from a specific range will be selected based on its `Weight`. |
@@ -32,15 +32,15 @@ You can generate three types of load:
32
32
### Write requests class {#write-class}
33
33
34
34
| Class | Description |
35
-
--- | ---
35
+
|--- | ---|
36
36
|`TabletLog`| The highest priority of write operation. |
37
37
|`AsyncBlob`| Used for writing SSTables and their parts. |
38
38
|`UserData`| Used for writing user data as separate blobs. |
39
39
40
40
### Read requests class {#read-class}
41
41
42
42
| Class | Description |
43
-
--- | ---
43
+
|--- | ---|
44
44
|`AsyncRead`| Used for reading compacted tablets' data. |
45
45
|`FastRead`| Used for fast reads initiated by user. |
46
46
|`Discover`| Reads from Discover query. |
@@ -53,14 +53,14 @@ You can generate three types of load:
53
53
### Parameters of load with hard rate {#hard-rate-dispatcher}
54
54
55
55
| Parameter | Description |
56
-
--- | ---
56
+
|--- | ---|
57
57
|`RequestRateAtStart`| Requests per second at the moment of load start. If load duration limit is not set then the request rate will remain the same and equal to the value of this parameter. |
58
58
|`RequestRateOnFinish`| Requests per second at the moment of load finish. |
59
59
60
60
### Parameters of initial data allocation {#initial-allocation}
61
61
62
62
| Parameter | Description |
63
-
--- | ---
63
+
|--- | ---|
64
64
|`TotalSize`| Total size of allocated data. This parameter and `BlobsNumber` are mutually exclusive. |
65
65
|`BlobsNumber`| Total number of allocated blobs. |
66
66
|`BlobSizes`| Size of the blobs to write. It is selected randomly for each request from the `Min`-`Max` range. You can set multiple `WriteSizes` ranges, in which case a value from a specific range will be selected based on its `Weight`. |
Copy file name to clipboardExpand all lines: ydb/docs/en/core/contributor/load-actors-vdisk.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ Generates a write-only load on the VDisk. Simulates a Distributed Storage Proxy.
7
7
{% include [load-actors-params](../_includes/load-actors-params.md) %}
8
8
9
9
| Parameter | Description |
10
-
--- | ---
10
+
|--- | ---|
11
11
|`VDiskId`| Parameters of the VDisk used to generate load.<ul><li>`GroupID`: Group ID.</li><li>`GroupGeneration`: Group generation.</li><li>`Ring`: Group ring ID.</li><li>`Domain`: Ring fail domain ID.</li><li>`VDisk`: Index of the VDisk in the fail domain.</li></ul> |
12
12
|`GroupInfo`| Description of the group hosting the loaded VDisk (of the appropriate generation). |
13
13
|`TabletId`| ID of the tablet that generates the load. It must be unique for each load actor. |
Copy file name to clipboardExpand all lines: ydb/docs/en/core/contributor/localdb-uncommitted-txs.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,38 +29,38 @@ Redo log (see [flat_redo_writer.h](https://github.com/ydb-platform/ydb/blob/main
29
29
[MemTable](../concepts/glossary.md#memtable) in LocalDB is a relatively small in-memory sorted tree that maps table keys to values. MemTable value is a chain of MVCC (partial) rows, each tagged with a row version (a pair of Step and TxId which is a global timestamp). Rows are normally pre-merged across the given MemTable. For example, let's suppose there have been the following operations for some key K:
30
30
31
31
| Version | Operation |
32
-
--- | ---
32
+
|--- | ---|
33
33
|`v1000/10`|`UPDATE ... SET A = 1`|
34
34
|`v2000/11`|`UPDATE ... SET B = 2`|
35
35
|`v3000/12`|`UPDATE ... SET C = 3`|
36
36
37
37
Then the chain of rows for key K in a single MemTable will look like this:
38
38
39
39
| Version | Row |
40
-
--- | ---
40
+
|--- | ---|
41
41
|`v3000/12`|`SET A = 1, B = 2, C = 3`|
42
42
|`v2000/11`|`SET A = 1, B = 2`|
43
43
|`v1000/10`|`SET A = 1`|
44
44
45
45
However, if the MemTable was split between updates, it may look like this:
46
46
47
47
| MemTable | Version | Row |
48
-
--- | --- | ---
48
+
|--- | --- | ---|
49
49
| Epoch 2 |`v3000/12`|`SET B = 2, C = 3`|
50
50
| Epoch 2 |`v2000/11`|`SET B = 2`|
51
51
| Epoch 1 |`v1000/10`|`SET A = 1`|
52
52
53
53
Changes are applied to the current MemTable, and uncommitted changes are no exception. However, they are tagged with a special version (where Step is the maximum possible number, as if they are in some "distant" future, and TxId is their uncommitted TxId), without any pre-merging. For example, let's suppose we additionally performed the following operations:
54
54
55
55
| TxId | Operation |
56
-
--- | ---
56
+
|--- | ---|
57
57
| 15 |`UPDATE ... SET C = 10`|
58
58
| 13 |`UPDATE ... SET B = 20`|
59
59
60
60
The update chain for our key K will look like this:
61
61
62
62
| Version | Row |
63
-
--- | ---
63
+
|--- | ---|
64
64
|`v{max}/13`|`SET B = 20`|
65
65
|`v{max}/15`|`SET C = 10`|
66
66
|`v3000/12`|`SET A = 1, B = 2, C = 3`|
@@ -74,7 +74,7 @@ Let's suppose we commit tx 13 at `v4000/20`. At that point transaction map is up
74
74
Let's suppose we now perform an `UPDATE ... SET A = 30` at version `v5000/21`, the resulting chain will look as follows:
75
75
76
76
| Version | Row |
77
-
--- | ---
77
+
|--- | ---|
78
78
|`v5000/21`|`SET A = 30, B = 20, C = 3`|
79
79
|`v{max}/13`|`SET B = 20`|
80
80
|`v{max}/15`|`SET C = 10`|
@@ -93,7 +93,7 @@ Data pages (see [flat_page_data.h](https://github.com/ydb-platform/ydb/blob/main
93
93
One key may have several uncommitted delta records, as well as (optionally) the latest committed record data. Historically, data pages could only have one record (and one record pointer) per key, so the record pointer leads to the top of the delta chain, and other records are available via additional per-record offset table for other records:
94
94
95
95
| Offset | Description |
96
-
--- | ---
96
+
|--- | ---|
97
97
| -X*8 | offset of Main |
98
98
| ... | ... |
99
99
| -16 | offset of Delta 2 |
@@ -109,7 +109,7 @@ Having a pointer to Delta 0, other records for the same key are available with t
109
109
Let's suppose that after writing tx 13 above the MemTable was compacted. Entry for the 32-bit key K may look like this (offsets are relative to the record pointer on the table):
0 commit comments