Commit Graph

40 Commits (27229f79079d3de61efeb73dfc1e39faf984e8c7)

Author SHA1 Message Date
shaoting-huang 88b373b024
enhance: binlog primary key turn off dict encoding (#34358)
issue: #34357 

Go Parquet uses dictionary encoding by default, and it will fall back to
plain encoding if the dictionary size exceeds the dictionary size page
limit. Users can specify custom fallback encoding by using
`parquet.WithEncoding(ENCODING_METHOD)` in writer properties. However,
Go Parquet [fallbacks to plain
encoding](e65c1e295d/go/parquet/file/column_writer_types.gen.go.tmpl (L238))
rather than custom encoding method users provide. Therefore, this patch
only turns off dictionary encoding for the primary key.

With a 5 million auto ID primary key benchmark, the parquet file size
improves from 13.93 MB to 8.36 MB when dictionary encoding is turned
off, reducing primary key storage space by 40%.

Signed-off-by: shaoting-huang <shaoting.huang@zilliz.com>
2024-07-17 17:47:44 +08:00
shaoting-huang f4dd7c7efb
enhance: add delta log stream new format reader and writer (#34116)
issue: #34123

Benchmark case: The benchmark run the go benchmark function
`BenchmarkDeltalogFormat` which is put in the Files changed. It tests
the performance of serializing and deserializing from two different data
formats under a 10 million delete log dataset.

Metrics: The benchmarks measure the average time taken per operation
(ns/op), memory allocated per operation (MB/op), and the number of
memory allocations per operation (allocs/op).
| Test Name | Avg Time (ns/op) | Time Comparison | Memory Allocation
(MB/op) | Memory Comparison | Allocation Count (allocs/op) | Allocation
Comparison |

|---------------------------------|------------------|-----------------|---------------------------|-------------------|------------------------------|------------------------|
| one_string_format_reader | 2,781,990,000 | Baseline | 2,422 | Baseline
| 20,336,539 | Baseline |
| pk_ts_separate_format_reader | 480,682,639 | -82.72% | 1,765 | -27.14%
| 20,396,958 | +0.30% |
| one_string_format_writer | 5,483,436,041 | Baseline | 13,900 |
Baseline | 70,057,473 | Baseline |
| pk_and_ts_separate_format_writer| 798,591,584 | -85.43% | 2,178 |
-84.34% | 30,270,488 | -56.78% |

Both read and write operations show significant improvements in both
speed and memory allocation.

Signed-off-by: shaoting-huang <shaoting.huang@zilliz.com>
2024-07-06 09:08:09 +08:00
smellthemoon 2a1356985d
enhance: support null in go payload (#32296)
#31728

---------

Signed-off-by: lixinguo <xinguo.li@zilliz.com>
Co-authored-by: lixinguo <xinguo.li@zilliz.com>
2024-06-19 17:08:00 +08:00
Cai Yudong 00438f408f
enhance: Unify data type check APIs for go (#31887)
Issue: #22837

Signed-off-by: Cai Yudong <yudong.cai@zilliz.com>
2024-04-07 14:27:22 +08:00
Buqian Zheng 3c80083f51
feat: [Sparse Float Vector] add sparse vector support to milvus components (#30630)
add sparse float vector support to different milvus components,
including proxy, data node to receive and write sparse float vectors to
binlog, query node to handle search requests, index node to build index
for sparse float column, etc.

https://github.com/milvus-io/milvus/issues/29419

---------

Signed-off-by: Buqian Zheng <zhengbuqian@gmail.com>
2024-03-13 14:32:54 -07:00
yah01 a9dccec03a
Add go payload writer (#24656) (#24762)
Signed-off-by: yah01 <yang.cen@zilliz.com>
2023-06-09 13:52:39 +08:00
congqixia 41af0a98fa
Use go-api/v2 for milvus-proto (#24770)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2023-06-09 01:28:37 +08:00
jaime c9d0c157ec
Move some modules from internal to public package (#22572)
Signed-off-by: jaime <yun.zhang@zilliz.com>
2023-04-06 19:14:32 +08:00
Enwei Jiao 697dedac7e
Use cockroachdb/errors to replace other error pkg (#22390)
Signed-off-by: Enwei Jiao <enwei.jiao@zilliz.com>
2023-02-26 11:31:49 +08:00
Xiaofan 633a749880
Recude IndexCodec Load Memory (#20621)
Signed-off-by: xiaofan-luan <xiaofan.luan@zilliz.com>

Signed-off-by: xiaofan-luan <xiaofan.luan@zilliz.com>
2022-11-18 10:47:08 +08:00
SimFG a55f739608
Separate public proto files (#19782)
Signed-off-by: SimFG <bang.fu@zilliz.com>

Signed-off-by: SimFG <bang.fu@zilliz.com>
2022-10-16 20:49:27 +08:00
SimFG d7f38a803d
Separate some proto files (#19218)
Signed-off-by: SimFG <bang.fu@zilliz.com>

Signed-off-by: SimFG <bang.fu@zilliz.com>
2022-09-16 16:56:49 +08:00
xige-16 4de1bfe5bc
Add cpp data codec (#18538)
Signed-off-by: xige-16 <xi.ge@zilliz.com>
Co-authored-by: zhagnlu lu.zhang@zilliz.com

Signed-off-by: xige-16 <xi.ge@zilliz.com>
2022-09-09 22:12:34 +08:00
Xiaofan 801eeffbcc
Replace cgo parquet reader to go parquet reader (#16199)
Signed-off-by: xiaofan-luan <xiaofan.luan@zilliz.com>
2022-03-30 15:21:28 +08:00
congqixia 4369e08f2a
Fix storage memory leak caused by runtime.SetFinalizer (#15100)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2022-01-10 17:13:35 +08:00
godchen 384ceea223
Close payload writer when error occurs (#15013)
Signed-off-by: godchen0212 <qingxiang.chen@zilliz.com>
2022-01-07 18:27:23 +08:00
XuanYang-cn e580bb9ccb
[skip e2e]Update license for storage event writer (#14043)
Signed-off-by: yangxuan <xuan.yang@zilliz.com>
2021-12-23 12:07:10 +08:00
shaoyue bcb951b0de
[skip e2e] Add comment for event writer (#13800)
Signed-off-by: shaoyue.chen <shaoyue.chen@zilliz.com>
2021-12-20 23:18:53 +08:00
congqixia 0e30ec25f3
[skip e2e] Add comment for descriptorEvent (#13662)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2021-12-17 22:02:42 +08:00
godchen 7e56f08747
Add payload bytes interface. (#13467)
Signed-off-by: godchen0212 <qingxiang.chen@zilliz.com>
2021-12-16 16:35:42 +08:00
shaoyue a54d1ec674
[skip ci]add comment for EventWriter (#13369)
Signed-off-by: shaoyue.chen <shaoyue.chen@zilliz.com>
2021-12-14 20:05:09 +08:00
shaoyue 41190c23f1
[skip ci] Add comment for EventTypeCode (#13368)
Signed-off-by: shaoyue.chen <shaoyue.chen@zilliz.com>
2021-12-14 19:55:17 +08:00
godchen febdda90f4
Change binlog writer close behavior (#13046)
Signed-off-by: godchen <qingxiang.chen@zilliz.com>
2021-12-09 12:37:06 +08:00
congqixia 21a6ce8647
Remove redundant conversion in event_writer.go (#12590)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2021-12-02 19:15:33 +08:00
godchen a0a3a889e7
Add common endian for global use (#11092)
Signed-off-by: godchen <qingxiang.chen@zilliz.com>
2021-11-02 18:16:32 +08:00
dragondriver f85271cf3f
Estimate memory size by descriptor event (#9688)
Signed-off-by: dragondriver <jiquan.long@zilliz.com>
2021-10-12 17:00:34 +08:00
dragondriver cf8600077f
Refactor the index file format (#8514)
Signed-off-by: dragondriver <jiquan.long@zilliz.com>
2021-09-29 09:52:12 +08:00
godchen 10c07a3041
Add description event extras. (#8264)
Signed-off-by: godchen <qingxiang.chen@zilliz.com>
2021-09-23 17:23:54 +08:00
Cai Yudong 3387b07dfd
Optimize code under storage (#6335)
* rename AddOneStringToPayload/GetOneStringFromPayload to AddStringToPayload/GetStringFromPayload

Signed-off-by: yudong.cai <yudong.cai@zilliz.com>

* code optimize

Signed-off-by: yudong.cai <yudong.cai@zilliz.com>

* rename print_binglog_test to print_binlog_test

Signed-off-by: yudong.cai <yudong.cai@zilliz.com>

* update chap08_binlog.md

Signed-off-by: yudong.cai <yudong.cai@zilliz.com>

* fix unittest

Signed-off-by: yudong.cai <yudong.cai@zilliz.com>

* use SetEventTimestamp() to replace SetStartTimestamp() and SetEndTimestamp()

Signed-off-by: yudong.cai <yudong.cai@zilliz.com>

* code optimize

Signed-off-by: yudong.cai <yudong.cai@zilliz.com>

* rename AddStringToPayload/GetStringFromPayload to AddOneStringToPayload/GetOneStringFromPayload

Signed-off-by: yudong.cai <yudong.cai@zilliz.com>
2021-07-07 19:10:07 +08:00
Xiangyu Wang 82ccd4cec0
Rename module (#4988)
* Rename module

Signed-off-by: Xiangyu Wang <xiangyu.wang@zilliz.com>
2021-04-22 14:45:57 +08:00
godchen 0dfcb90881 Add storage copyright
Signed-off-by: godchen <qingxiang.chen@zilliz.com>
2021-04-19 11:32:24 +08:00
godchen a5ad70a5ab Add unittest for storage
Signed-off-by: godchen <qingxiang.chen@zilliz.com>
2021-04-19 10:36:19 +08:00
godchen f3649f0419 Refactor interface and proto
Signed-off-by: godchen <qingxiang.chen@zilliz.com>
2021-03-12 14:22:09 +08:00
sunby ddddd65d10 Delete internal/errors package
Signed-off-by: sunby <bingyi.sun@zilliz.com>
2021-03-05 10:15:27 +08:00
neza2017 9585819154 Add binlog unittest
Signed-off-by: neza2017 <yefu.chen@zilliz.com>
2020-12-10 15:50:09 +08:00
neza2017 9cbebc0221 Add binlog unittest
Signed-off-by: neza2017 <yefu.chen@zilliz.com>
2020-12-10 14:52:42 +08:00
neza2017 de12fa5a10 Add binlog event
Signed-off-by: neza2017 <yefu.chen@zilliz.com>
2020-12-09 11:18:13 +08:00
sunby ed54d3e26c Fix binlog reader bug
Signed-off-by: sunby <bingyi.sun@zilliz.com>
2020-12-09 09:55:56 +08:00
quicksilver d09ad77fb2 Add archiving file workflow for cache thirdparty
Signed-off-by: quicksilver <zhifeng.zhang@zilliz.com>
2020-12-08 19:53:22 +08:00
sunby 8ace1c3837 Add binlog serialization and deserialization
Signed-off-by: sunby <bingyi.sun@zilliz.com>
2020-12-08 19:13:39 +08:00