@@ -8,66 +8,65 @@ import FunctionDescription from '@site/src/components/FunctionDescription';
88
99import DetailsWrap from '@site/src /components/DetailsWrap';
1010
11- ๅจ Databend ไธญไผๅ่กจๅ
ๆฌๅ็ผฉๆๆธ
้คๅๅฒๆฐๆฎ๏ผไปฅ่็ๅญๅจ็ฉบ้ดๅนถๆ้ซๆฅ่ฏขๆง่ฝ ใ
11+ ๅจ Databend ไธญไผๅ่กจ๏ผๅณ้่ฟๅๅนถๆๆธ
็ๅๅฒๆฐๆฎๆฅ่็ๅญๅจ็ฉบ้ดๅนถๆๅๆฅ่ฏขๆง่ฝ ใ
1212
1313<DetailsWrap >
1414
1515<details >
16- <summary >ไธบไปไน่ฆไผๅ ๏ผ</summary >
17- <div>Databend ไฝฟ็จ Parquet ๆ ผๅผๅฐๆฐๆฎๅญๅจๅจ่กจไธญ๏ผParquet ๆ ผๅผ่ขซ็ป็ปๆๅ ใๆญคๅค๏ผDatabend ๆฏๆๆถ้ดๅๆบฏๅ่ฝ๏ผๅ
ถไธญๆฏไธชไฟฎๆน่กจ็ๆไฝ้ฝไผ็ๆไธไธช Parquet ๆไปถ๏ผ่ฏฅๆไปถๆ่ทๅนถๅๆ ๅฏน่กจๆๅ็ๆดๆน ใ</div><br/>
16+ <summary >ไธบไฝ้่ฆไผๅ ๏ผ</summary >
17+ <div>Databend ไฝฟ็จ Parquet ๆ ผๅผๅฐๆฐๆฎๅญๅจๅจ่กจไธญ๏ผๅนถๆๅ๏ผBlock๏ผ็ป็ป ใๆญคๅค๏ผDatabend ๆฏๆๆถ้ดๅๆบฏ๏ผTime Travel๏ผๅ่ฝ๏ผๆฏๆฌกไฟฎๆน่กจ็ๆไฝ้ฝไผ็ๆไธไธช Parquet ๆไปถ๏ผ็จไบๆ่ทๅนถๅๆ ๅฏน่กจ็ๅๆด ใ</div><br/>
1818
19- <div >้็ๆถ้ด็ๆจ็งป๏ผๅฝไธไธช่กจ็งฏ็ดฏไบๆดๅค็ Parquet ๆไปถๆถ๏ผๅฏ่ฝไผๅฏผ่ดๆง่ฝ้ฎ้ขๅๅญๅจ้ๆฑ็ๅขๅ ใไธบไบไผๅ่กจ็ๆง่ฝ๏ผๅฏไปฅๅ ้คไธๅ้่ฆ็ๅๅฒ Parquet ๆไปถใ่ฟ็งไผๅๆๅฉไบๆ้ซๆฅ่ฏขๆง่ฝๅนถๅๅฐ่กจไฝฟ็จ็ๅญๅจ็ฉบ้ด้ ใ</div >
19+ <div >้็ๆถ้ดๆจ็งป๏ผ่กจไผ็ดฏ็งฏๅคง้ Parquet ๆไปถ๏ผๅฏ่ฝๅฏผ่ดๆง่ฝไธ้ๅๅญๅจ้ๆฑๅขๅ ใไธบไผๅ่กจๆง่ฝ๏ผๅฏๅจไธๅ้่ฆๆถๅ ้คๅๅฒ Parquet ๆไปถใ่ฟ็งไผๅๆๅฉไบๆๅๆฅ่ฏขๆง่ฝๅนถๅๅฐ่กจๅ ็จ็ๅญๅจ็ฉบ้ด ใ</div >
2020</details >
2121
2222</DetailsWrap >
2323
24- ## Databend ๆฐๆฎๅญๅจ๏ผๅฟซ็
งใๆฎตๅๅ
24+ ## Databend ๆฐๆฎๅญๅจ๏ผๅฟซ็
งใๆฎตไธๅ
2525
26- ๅฟซ็
งใๆฎตๅๅๆฏ Databend ็จไบๆฐๆฎๅญๅจ็ๆฆๅฟตใ Databend ไฝฟ็จๅฎไปฌๆฅๆๅปบ็จไบๅญๅจ่กจๆฐๆฎ็ๅๅฑ็ปๆ ใ
26+ ๅฟซ็
ง๏ผSnapshot๏ผใๆฎต๏ผSegment๏ผๅๅ๏ผBlock๏ผๆฏ Databend ็จไบๆฐๆฎๅญๅจ็ๆ ธๅฟๆฆๅฟต๏ผ Databend ๅฉ็จๅฎไปฌๆๅปบ่กจๆฐๆฎ็ๅๅฑๅญๅจ็ปๆ ใ
2727
2828![ ] ( /img/sql/storage-structure.PNG )
2929
30- Databend ๅจๆฐๆฎๆดๆฐๆถ่ชๅจๅๅปบ่กจๅฟซ็
งใๅฟซ็
ง่กจ็คบ่กจๆฎตๅ
ๆฐๆฎ็็ๆฌ ใ
30+ Databend ๅจๆฐๆฎๆดๆฐๆถไผ่ชๅจๅๅปบ่กจๅฟซ็
งใๅฟซ็
งไปฃ่กจ่กจๆไธ็ๆฌ็ๆฎตๅ
ๆฐๆฎ ใ
3131
32- ๅฝไฝฟ็จ Databend ๆถ๏ผๅฝๆจไฝฟ็จ [ AT] ( ../../20-query-syntax/03-query-at.md ) ๅญๅฅๆฃ็ดขๅๆฅ่ฏข่กจ็ๅ
ๅ็ๆฌ็ๆฐๆฎๆถ๏ผๆจๆๆๅฏ่ฝไฝฟ็จๅฟซ็
ง ID ่ฎฟ้ฎๅฟซ็
งใ
32+ ไฝฟ็จ Databend ๆถ๏ผ่ฅ้่ฟ [ AT] ( ../../20-query-syntax/03-query-at.md ) ๅญๅฅๆฃ็ดขๅนถๆฅ่ฏข่กจ็ๅๅฒ็ๆฌๆฐๆฎ๏ผ้ๅธธ้ๅๅฉๅฟซ็
ง ID ่ฎฟ้ฎๅฟซ็
งใ
3333
34- ๅฟซ็
งๆฏไธไธช JSON ๆไปถ๏ผๅฎไธไฟๅญ่กจ็ๆฐๆฎ๏ผไฝๆ็คบๅฟซ็
ง้พๆฅๅฐ็ๆฎตใๅฆๆๆจๅฏน่กจ่ฟ่ก [ FUSE_SNAPSHOT] ( ../../../20-sql-functions/16-system-functions/fuse_snapshot.md ) ๏ผๆจๅฏไปฅๆพๅฐไธบ่ฏฅ่กจไฟๅญ็ๅฟซ็
ง ใ
34+ ๅฟซ็
งๆฏไธไธช JSON ๆไปถ๏ผไธๅญๅจ่กจๆฐๆฎ๏ผไฝ่ฎฐๅฝไบๅฟซ็
งๅ
ณ่็ๆฎตใๅฏน่กจๆง่ก [ FUSE_SNAPSHOT] ( ../../../20-sql-functions/16-system-functions/fuse_snapshot.md ) ๅฏๆฅ็ไฟๅญ็ๅฟซ็
ง ใ
3535
36- ๆฎตๆฏไธไธช JSON ๆไปถ๏ผ็จไบ็ป็ปๅญๅจๆฐๆฎ็ๅญๅจๅ ๏ผ่ณๅฐ 1 ไธช๏ผๆๅค 1,000 ไธช๏ผใๅฆๆๆจไฝฟ็จๅฟซ็
ง ID ๅฏนๅฟซ็
ง่ฟ่ก [ FUSE_SEGMENT] ( ../../../20-sql-functions/16-system-functions/fuse_segment.md ) ๏ผๆจๅฏไปฅๆพๅฐๅฟซ็
งๅผ็จ็ๆฎต ใ
36+ ๆฎตๆฏไธไธช JSON ๆไปถ๏ผ็จไบ็ป็ปๅญๅจๆฐๆฎ็ๅ ๏ผ่ณๅฐ 1 ไธช๏ผๆๅค 1,000 ไธช๏ผใไฝฟ็จๅฟซ็
ง ID ๅฏนๅฟซ็
งๆง่ก [ FUSE_SEGMENT] ( ../../../20-sql-functions/16-system-functions/fuse_segment.md ) ๅฏๆฅ็่ฏฅๅฟซ็
งๅผ็จ็ๆฎต ใ
3737
38- Databends ๅฐๅฎ้
่กจๆฐๆฎไฟๅญๅจ parquet ๆไปถไธญ๏ผๅนถๅฐๆฏไธช parquet ๆไปถ่งไธบไธไธชๅใๅฆๆๆจไฝฟ็จๅฟซ็
ง ID ๅฏนๅฟซ็
ง่ฟ่ก [ FUSE_BLOCK] ( ../../../20-sql-functions/16-system-functions/fuse_block.md ) ๏ผๆจๅฏไปฅๆพๅฐๅฟซ็
งๅผ็จ็ๅ ใ
38+ Databend ๅฐๅฎ้
่กจๆฐๆฎๅญๅจๅจ Parquet ๆไปถไธญ๏ผๅนถๅฐๆฏไธช Parquet ๆไปถ่งไธบไธไธชๅใไฝฟ็จๅฟซ็
ง ID ๅฏนๅฟซ็
งๆง่ก [ FUSE_BLOCK] ( ../../../20-sql-functions/16-system-functions/fuse_block.md ) ๅฏๆฅ็่ฏฅๅฟซ็
งๅผ็จ็ๅ ใ
3939
40- Databend ไธบๆฏไธชๆฐๆฎๅบๅ่กจๅๅปบไธไธชๅฏไธ็ ID๏ผ็จไบๅญๅจๅฟซ็
งใๆฎตๅๅๆไปถ๏ผๅนถๅฐๅฎไปฌไฟๅญๅฐๅฏน่ฑกๅญๅจไธญ็่ทฏๅพ ` <bucket_name>/<tenant_id>/<db_id>/<table_id>/ ` ใๆฏไธชๅฟซ็
งใๆฎตๅๅๆไปถ้ฝไฝฟ็จ UUID๏ผ32 ไธชๅญ็ฌฆ็ๅฐๅๅๅ
ญ่ฟๅถๅญ็ฌฆไธฒ ๏ผๅฝๅใ
40+ Databend ไธบๆฏไธชๆฐๆฎๅบๅ่กจๅๅปบๅฏไธ ID๏ผ็จไบๅญๅจๅฟซ็
งใๆฎตๅๅๆไปถ๏ผๅนถๅฐๅ
ถไฟๅญ่ณๅฏน่ฑกๅญๅจ่ทฏๅพ ` <bucket_name>/<tenant_id>/<db_id>/<table_id>/ ` ใๆฏไธชๅฟซ็
งใๆฎตๅๅๆไปถๅไปฅ UUID๏ผ32 ไฝๅฐๅๅๅ
ญ่ฟๅถๅญ็ฌฆไธฒ ๏ผๅฝๅใ
4141
42- | ๆไปถ | ๆ ผๅผ | ๆไปถๅ | ๅญๅจๆไปถๅคน |
42+ | ๆไปถ | ๆ ผๅผ | ๆไปถๅ | ๅญๅจๆไปถๅคน |
4343| ----------| ---------| ---------------------------------| -----------------------------------------------------|
44- | Snapshot | JSON | ` <32bitUUID>_<version>.json ` | ` <bucket_name>/<tenant_id>/<db_id>/<table_id>/_ss/ ` |
45- | Segment | JSON | ` <32bitUUID>_<version>.json ` | ` <bucket_name>/<tenant_id>/<db_id>/<table_id>/_sg/ ` |
46- | Block | parquet | ` <32bitUUID>_<version>.parquet ` | ` <bucket_name>/<tenant_id>/<db_id>/<table_id>/_b/ ` |
44+ | ๅฟซ็
ง | JSON | ` <32bitUUID>_<version>.json ` | ` <bucket_name>/<tenant_id>/<db_id>/<table_id>/_ss/ ` |
45+ | ๆฎต | JSON | ` <32bitUUID>_<version>.json ` | ` <bucket_name>/<tenant_id>/<db_id>/<table_id>/_sg/ ` |
46+ | ๅ | parquet | ` <32bitUUID>_<version>.parquet ` | ` <bucket_name>/<tenant_id>/<db_id>/<table_id>/_b/ ` |
4747
4848## ่กจไผๅ
4949
50- ๅจ Databend ไธญ๏ผๅปบ่ฎฎไปฅ 100MB๏ผๆชๅ็ผฉ๏ผๆ 1,000,000 ่กไฝไธบ็ๆณ็ๅๅคงๅฐ๏ผๆฏไธชๆฎต็ฑ 1,000 ไธชๅ็ปๆใไธบไบๆๅคง้ๅบฆๅฐไผๅ่กจ๏ผ่ณๅ
ณ้่ฆ็ๆฏ่ฆๆธ
ๆฅๅฐไบ่งฃไฝๆถไปฅๅๅฆไฝๅบ็จๅ็งไผๅๆๆฏ๏ผไพๅฆ [ ๆฎตๅ็ผฉ] ( #segment-compaction ) ใ[ ๅๅ็ผฉ] ( #block-compaction ) ๅ [ ๆธ
้ค] ( #purging ) ใ
50+ ๅจ Databend ไธญ๏ผๅปบ่ฎฎ็็ๆณๅๅคงๅฐไธบ 100 MB๏ผๆชๅ็ผฉ๏ผๆ 1,000,000 ่ก๏ผๆฏไธชๆฎตๅ
ๅซ 1,000 ไธชๅใไธบๆๅคงๅ่กจไผๅๆๆ๏ผ้ๆ็กฎไฝๆถไปฅๅๅฆไฝๅบ็จๅ็งไผๅๆๆฏ๏ผๅฆ[ ๆฎตๅๅนถ] ( #segment-compaction ) ๅ[ ๅๅๅนถ] ( #block-compaction ) ใ
51+ - ไฝฟ็จ COPY INTO ๆ REPLACE INTO ๅฝไปคๅๅ
ๅซ่็ฐ้ฎ๏ผCluster Key๏ผ็่กจๅๅ
ฅๆฐๆฎๆถ๏ผDatabend ไผ่ชๅจ่งฆๅ้่็ฐไปฅๅๆฎตๅๅๅๅนถๆต็จใ
5152
52- - ๅฝไฝฟ็จ COPY INTO ๆ REPLACE INTO ๅฝไปคๅฐๆฐๆฎๅๅ
ฅๅ
ๅซ่็ฐ้ฎ็่กจๆถ๏ผDatabend ๅฐ่ชๅจๅฏๅจ้ๆฐ่็ฐ่ฟ็จ๏ผไปฅๅๆฎตๅๅๅ็ผฉ่ฟ็จใ
53-
54- - ๆฎตๅๅๅ็ผฉๆฏๆๅจ้็พค็ฏๅขไธญ่ฟ่กๅๅธๅผๆง่กใๆจๅฏไปฅ้่ฟๅฐ ENABLE_DISTRIBUTED_COMPACT ่ฎพ็ฝฎไธบ 1 ๆฅๅฏ็จๅฎไปฌใ่ฟๆๅฉไบๆ้ซ้็พค็ฏๅขไธญ็ๆฐๆฎๆฅ่ฏขๆง่ฝๅๅฏไผธ็ผฉๆงใ
53+ - ๆฎตไธๅๅๅนถๆฏๆๅจ้็พค็ฏๅขไธญๅๅธๅผๆง่กใๅฏ้่ฟ่ฎพ็ฝฎ ENABLE_DISTRIBUTED_COMPACT ไธบ 1 ๅฏ็จ๏ผไปฅๆๅ้็พค็ฏๅขไธญ็ๆฅ่ฏขๆง่ฝๅๅฏๆฉๅฑๆงใ
5554
5655 ``` sql
5756 SET enable_distributed_compact = 1 ;
5857 ```
5958
60- ### ๆฎตๅ็ผฉ
59+ ### ๆฎตๅๅนถ๏ผSegment Compaction๏ผ
6160
62- ๅฝไธไธช่กจๆๅคชๅคๅฐๆฎต๏ผๆฏไธชๆฎตๅฐไบ ` 100 blocks ` ๏ผๆถ๏ผๅ็ผฉๆฎต ใ
61+ ๅฝ่กจๅญๅจ่ฟๅคๅฐๆฎต๏ผๆฏๆฎตๅฐไบ ` 100 ไธชๅ ` ๏ผๆถ๏ผ้่ฟ่กๆฎตๅๅนถ ใ
6362``` sql
6463SELECT
6564 block_count,
6665 segment_count,
6766 IF(
6867 block_count / segment_count < 100 ,
69- ' The table needs segment compact now ' ,
70- ' The table does not need segment compact now '
68+ ' ่ฏฅ่กจๅฝๅ้่ฟ่กๆฎตๅๅนถ ' ,
69+ ' ่ฏฅ่กจๅฝๅๆ ้ๆฎตๅๅนถ '
7170 ) AS advice
7271FROM
7372 fuse_snapshot(' your-database' , ' your-table' )
8079OPTIMIZE TABLE [database.]table_name COMPACT SEGMENT [LIMIT < segment_count> ]
8180```
8281
83- ้่ฟๅฐๅฐๆฎตๅๅนถไธบๅคงๆฎตๆฅๅ็ผฉ่กจๆฐๆฎ ใ
82+ ้่ฟๅๅนถๅฐๆฎตไธบ่พๅคงๆฎตๆฅไผๅ่กจๆฐๆฎ ใ
8483
85- - ้้กน LIMIT ่ฎพ็ฝฎ่ฆๅ็ผฉ็ๆๅคงๆฎตๆฐใๅจ่ฟ็งๆ
ๅตไธ ๏ผDatabend ๅฐ้ๆฉๅนถๅ็ผฉๆๆฐ็ๆฎต ใ
84+ - LIMIT ้้กน่ฎพ็ฝฎๆๅคงๅๅนถๆฎตๆฐ ๏ผDatabend ๅฐ้ๆฉๅนถๅๅนถๆๆฐๆฎต ใ
8685
8786** ็คบไพ**
8887
8988``` sql
90- -- Check whether need segment compact
89+ -- ๆฃๆฅๆฏๅฆ้ๆฎตๅๅนถ
9190SELECT
9291 block_count,
9392 segment_count,
9493 IF(
9594 block_count / segment_count < 100 ,
96- ' The table needs segment compact now ' ,
97- ' The table does not need segment compact now '
95+ ' ่ฏฅ่กจๅฝๅ้่ฟ่กๆฎตๅๅนถ ' ,
96+ ' ่ฏฅ่กจๅฝๅๆ ้ๆฎตๅๅนถ '
9897 ) AS advice
9998FROM
10099 fuse_snapshot(' hits' , ' hits' );
@@ -105,17 +104,17 @@ FROM
105104| 751 | 32 | The table needs segment compact now |
106105+ -- -----------+---------------+-------------------------------------+
107106
108- -- Compact segment
107+ -- ๆง่กๆฎตๅๅนถ
109108OPTIMIZE TABLE hits COMPACT SEGMENT;
110109
111- -- Check again
110+ -- ๅๆฌกๆฃๆฅ
112111SELECT
113112 block_count,
114113 segment_count,
115114 IF(
116115 block_count / segment_count < 100 ,
117- ' The table needs segment compact now ' ,
118- ' The table does not need segment compact now '
116+ ' ่ฏฅ่กจๅฝๅ้่ฟ่กๆฎตๅๅนถ ' ,
117+ ' ่ฏฅ่กจๅฝๅๆ ้ๆฎตๅๅนถ '
119118 ) AS advice
120119FROM
121120 fuse_snapshot(' hits' , ' hits' )
@@ -128,130 +127,47 @@ FROM
128127+ -- -----------+---------------+---------------------------------------------+
129128```
130129
131- ### ๅๅ็ผฉ
130+ ### ๅๅๅนถ๏ผBlock Compaction๏ผ
132131
133- ๅฝไธไธช่กจๆๅคง้ๅฐๅๆๅฝ่ฏฅ่กจๆๅพ้ซๆฏไพ็ๆๅ
ฅใๅ ้คๆๆดๆฐ็่กๆถ๏ผๅ็ผฉๅ ใ
132+ ๅฝ่กจๅญๅจๅคง้ๅฐๅ๏ผๆๆๅ
ฅใๅ ้คใๆดๆฐ่กๆฏไพ่พ้ซๆถ๏ผ้่ฟ่กๅๅๅนถ ใ
134133
135- ๆจๅฏไปฅ้่ฟๆฃๆฅๆฏไธชๅ็ๆชๅ็ผฉๅคงๅฐๆฏๅฆๆฅ่ฟ ` 100MB ` ็ๅฎ็พๅคงๅฐๆฅๆฃๆฅๅฎ ใ
134+ ๅฏ้่ฟๆฃๆฅๆฏไธชๅ็ๆชๅ็ผฉๅคงๅฐๆฏๅฆๆฅ่ฟ็ๆณๅผ ` 100 MB ` ๆฅๅคๆญ ใ
136135
137- ๅฆๆๅคงๅฐๅฐไบ ` 50MB ` ๏ผๆไปฌๅปบ่ฎฎ่ฟ่กๅๅ็ผฉ๏ผๅ ไธบๅฎ่กจ็คบๆๅคชๅคๅฐๅ ๏ผ
136+ ่ฅๅคงๅฐๅฐไบ ` 50 MB ` ๏ผๅปบ่ฎฎๆง่กๅๅๅนถ๏ผ่กจๆๅญๅจ่ฟๅคๅฐๅ ๏ผ
138137
139138``` sql
140139SELECT
141140 block_count,
142141 humanize_size(bytes_uncompressed / block_count) AS per_block_uncompressed_size,
143142 IF(
144143 bytes_uncompressed / block_count / 1024 / 1024 < 50 ,
145- ' The table needs block compact now ' ,
146- ' The table does not need block compact now '
144+ ' ่ฏฅ่กจๅฝๅ้่ฟ่กๅๅๅนถ ' ,
145+ ' ่ฏฅ่กจๅฝๅๆ ้ๅๅๅนถ '
147146 ) AS advice
148147FROM
149148 fuse_snapshot(' your-database' , ' your-table' )
150149 LIMIT 1 ;
151150```
152151
153152::: info
154- ๆไปฌๅปบ่ฎฎๅ
ๆง่กๆฎตๅ็ผฉ๏ผ็ถๅๅๆง่กๅๅ็ผฉ ใ
153+ ๅปบ่ฎฎๅ
ๆง่กๆฎตๅๅนถ๏ผๅๆง่กๅๅๅนถ ใ
155154:::
156155
157156** ่ฏญๆณ**
158157``` sql
159158OPTIMIZE TABLE [database.]table_name COMPACT [LIMIT < segment_count> ]
160159```
161- ้่ฟๅฐๅฐๅๅๆฎตๅๅนถไธบๅคงๅๅๆฎตๆฅๅ็ผฉ่กจๆฐๆฎ ใ
160+ ้่ฟๅๅนถๅฐๅๅๆฎตไธบ่พๅคงๅๅๆฎตๆฅไผๅ่กจๆฐๆฎ ใ
162161
163- - ๆญคๅฝไปคๅๅปบๆๆฐ่กจๆฐๆฎ็ๆฐๅฟซ็
ง๏ผไปฅๅๅ็ผฉ็ๆฎตๅๅ๏ผ๏ผ่ไธๅฝฑๅ็ฐๆๅญๅจๆไปถ๏ผๅ ๆญคๅจๆจๆธ
้คๅๅฒๆฐๆฎไนๅ๏ผไธไผ้ๆพๅญๅจ็ฉบ้ด ใ
162+ - ่ฏฅๅฝไปคไผไธบๆๆฐ่กจๆฐๆฎๅๅปบๆฐๅฟซ็
ง๏ผๅซๅๅนถๅ็ๆฎตๅๅ๏ผ๏ผไธๅฝฑๅ็ฐๆๅญๅจๆไปถ๏ผๆ
้ๆธ
็ๅๅฒๆฐๆฎๅๆไผ้ๆพๅญๅจ็ฉบ้ด ใ
164163
165- - ๆ นๆฎ็ปๅฎ่กจ็ๅคงๅฐ๏ผๅฎๆๆง่กๅฏ่ฝ้่ฆ็ธๅฝ้ฟ็ๆถ้ด ใ
164+ - ๆ นๆฎ่กจๅคงๅฐ๏ผๆง่กๅฏ่ฝ่ๆถ่พ้ฟ ใ
166165
167- - ้้กน LIMIT ่ฎพ็ฝฎ่ฆๅ็ผฉ็ๆๅคงๆฎตๆฐใๅจ่ฟ็งๆ
ๅตไธ ๏ผDatabend ๅฐ้ๆฉๅนถๅ็ผฉๆๆฐ็ๆฎต ใ
166+ - LIMIT ้้กน่ฎพ็ฝฎๆๅคงๅๅนถๆฎตๆฐ ๏ผDatabend ๅฐ้ๆฉๅนถๅๅนถๆๆฐๆฎต ใ
168167
169- - Databend ๅฐๅจๅ็ผฉ่ฟ็จๅ่ชๅจ้ๆฐ่็ฐ่็ฐ่กจ ใ
168+ - ๅๅนถๅฎๆๅ๏ผ Databend ไผ่ชๅจๅฏน่็ฐ่กจๆง่ก้่็ฐ ใ
170169
171170** ็คบไพ**
172171``` sql
173172OPTIMIZE TABLE my_database .my_table COMPACT LIMIT 50 ;
174- ```
175-
176- ### ๆธ
้ค
177-
178- ๆธ
้คไผๆฐธไน
ๅ ้คๅๅฒๆฐๆฎ๏ผๅ
ๆฌๆชไฝฟ็จ็ๅฟซ็
งใๆฎตๅๅ๏ผไฝไฟ็ๆๅ
็ๅฟซ็
ง๏ผๅ
ๆฌๆญคๅฟซ็
งๅผ็จ็ๆฎตๅๅ๏ผ้คๅคใ่ฟๅฏไปฅ่็ๅญๅจ็ฉบ้ด๏ผไฝๅฏ่ฝไผๅฝฑๅๆถ้ดๅๆบฏๅ่ฝใๅจไปฅไธๆ
ๅตไธ่่ๆธ
้ค๏ผ
179-
180- - ๅญๅจๆๆฌๆฏไธไธชไธป่ฆ้ฎ้ข๏ผๅนถไธๆจไธ้่ฆๅๅฒๆฐๆฎ็จไบๆถ้ดๅๆบฏๆๅ
ถไป็ฎ็ใ
181- - ๆจๅทฒ็ปๅ็ผฉไบๆจ็่กจ๏ผๅนถไธๆณ่ฆๅ ้ค่พๆง็ใๆชไฝฟ็จ็็ๆฐๆฎใ
182-
183- ::: note
184- ้ป่ฎคไฟ็ๆไธบ 24 ๅฐๆถ็ๅๅฒๆฐๆฎๅฐไธไผ่ขซๅ ้คใ่ฆ่ฐๆดไฟ็ๆ๏ผ่ฏทไฝฟ็จ * data_retention_time_in_days* ่ฎพ็ฝฎใ
185- :::
186-
187- ** ่ฏญๆณ**
188-
189- ``` sql
190- OPTIMIZE TABLE < table_name> PURGE
191- [ BEFORE
192- (SNAPSHOT => ' <SNAPSHOT_ID>' ) |
193- (TIMESTAMP => ' <TIMESTAMP>' ::TIMESTAMP ) |
194- (STREAM => < stream_name> )
195- ]
196- [ LIMIT < snapshot_count> ]
197- ```
198-
199- | ๅๆฐ | ๆ่ฟฐ |
200- | -----------| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
201- | BEFORE | ๆๅฎๆธ
้คๅๅฒๆฐๆฎ็ๆกไปถใๅฎไธ ` SNAPSHOT ` ใ` TIMESTAMP ` ๆ ` STREAM ` ้้กนไธ่ตทไฝฟ็จ๏ผไปฅๅฎไนๅบๆธ
้คๆฐๆฎ็ๆถ้ด็นใ<br />ๅฝๆๅฎ ` BEFORE ` ้้กนๆถ๏ผ่ฏฅๅฝไปค้ฆๅ
้ๆฉไธไธชๅบๆฌๅฟซ็
ง๏ผๅฆๆๅฎ้้กนๆ็คบ๏ผๆฅๆธ
้คๅๅฒๆฐๆฎใ้ๅ๏ผๅฎไผๅ ้คๅจๆญคๅบๆฌๅฟซ็
งไนๅ็ๆ็ๅฟซ็
งใๅจๆๅฎๅธฆๆ ` BEFORE STREAM ` ็ๆต็ๆ
ๅตไธ๏ผ่ฏฅๅฝไปคไผๅฐๅๅปบๆตไนๅ็ๆ่ฟๅฟซ็
ง่ฏๅซไธบๅบๆฌๅฟซ็
งใ็ถๅ๏ผๅฎไผๅ ้คๅจๆญคๆ่ฟๅฟซ็
งไนๅ็ๆ็ๅฟซ็
งใ|
202- | LIMIT | ่ฎพ็ฝฎ่ฆๆธ
้ค็ๆๅคงๅฟซ็
งๆฐใๆๅฎๅ๏ผDatabend ๅฐ้ๆฉๅนถๆธ
้คๆๆง็ๅฟซ็
ง๏ผๆๅค่พพๅฐๆๅฎ็่ฎกๆฐใ |
203-
204- ** ็คบไพ**
205-
206- ๆญค็คบไพๆผ็คบๅฆไฝไฝฟ็จ ` BEFORE STREAM ` ้้กนๆธ
้คๅๅฒๆฐๆฎใ
207-
208- 1 . ๅๅปบไธไธชๅไธบ ` t ` ็่กจ๏ผๅ
ถไธญๅ
ๅซไธไธชๅ ` a ` ๏ผๅนถๅฐไธค่กๅผ 1 ๅ 2 ๆๅ
ฅๅฐ่กจไธญใ
209-
210- ``` sql
211- CREATE TABLE t (a INT );
212-
213- INSERT INTO t VALUES (1 );
214- INSERT INTO t VALUES (2 );
215- ```
216-
217- 2 . ๅจ่กจ ` t ` ไธๅๅปบไธไธชๅไธบ ` s ` ็ๆต๏ผๅนถๅฐไธไธชๅผไธบ 3 ็้ๅ ่กๆทปๅ ๅฐ่กจไธญใ
218-
219- ``` sql
220- CREATE STREAM s ON TABLE t;
221-
222- INSERT INTO t VALUES (3 );
223- ```
224-
225- 3 . ่ฟๅ่กจ ` t ` ็ๅฟซ็
ง ID ๅ็ธๅบ็ๆถ้ดๆณใ
226-
227- ``` sql
228- SELECT snapshot_id, timestamp FROM FUSE_SNAPSHOT(' default' , ' t' );
229-
230- โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
231- โ snapshot_id โ timestamp โ
232- โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
233- โ 00dd8ca67c1f461987f31a6b3a1c3c84 โ 2024 - 04 - 02 18 :09 :39 .157702 โ
234- โ e448bb2bf488489dae7294b0a8af38d1 โ 2024 - 04 - 02 18 :09 :34 .986507 โ
235- โ 2ac038dd83e741afbae543b170105d63 โ 2024 - 04 - 02 18 :09 :34 .966336 โ
236- โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
237-
238- -- ไป
ๅบไบๆผ็คบ็ฎ็๏ผๅฐๆฐๆฎไฟ็ๆถ้ด่ฎพ็ฝฎไธบ 0ใไธๅปบ่ฎฎๅจ็ไบงไธญไฝฟ็จใ
239- SET data_retention_time_in_days = 0 ;
240- ```
241-
242- 4 . ไฝฟ็จ ` BEFORE STREAM ` ้้กนๆธ
้คๅๅฒๅฟซ็
งใ
243-
244- ``` sql
245- OPTIMIZE TABLE t PURGE BEFORE (STREAM => s);
246-
247- -- ่ฏฅๅฝไปค้ๆฉๅฟซ็
ง ID e448bb2bf488489dae7294b0a8af38d1 ไฝไธบๅบๆฌๅฟซ็
ง๏ผ่ฏฅๅฟซ็
งๆฏๅจๅๅปบๆตโsโไนๅ็ซๅณ็ๆ็ใ
248- -- ๅ ๆญค๏ผๅฐๅ ้คๅจๅบๆฌๅฟซ็
งไนๅ็ๆ็ๅฟซ็
ง ID 2ac038dd83e741afbae543b170105d63ใ
249- SELECT snapshot_id, timestamp FROM FUSE_SNAPSHOT(' default' , ' t' );
250-
251- โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
252- โ snapshot_id โ timestamp โ
253- โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
254- โ 00dd8ca67c1f461987f31a6b3a1c3c84 โ 2024 - 04 - 02 18 :09 :39 .157702 โ
255- โ e448bb2bf488489dae7294b0a8af38d1 โ 2024 - 04 - 02 18 :09 :34 .986507 โ
256- โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
257173```
0 commit comments