toeverything / OctoBase

🐙 OctoBase is the open-source database behind AFFiNE, local-first, yet collaborative. A light-weight, scalable, data engine written in Rust.
https://octobase.dev
GNU Affero General Public License v3.0
1.32k stars 83 forks source link

feat(storage): support soft delete blobs #561

Closed forehalo closed 9 months ago

vercel[bot] commented 9 months ago

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
octobase ✅ Ready (Inspect) Visit Preview 💬 Add feedback Nov 25, 2023 9:19am
github-actions[bot] commented 9 months ago

Benchmark for Linux

Click to view benchmark | Test | Base | PR | % | | --- | --- | --- | --- | | codec/jwst decode var_int (32 bit) | 202.4±5.09µs | 201.6±1.07µs | -0.40% | | codec/jwst decode var_uint (32 bit) | 171.7±0.61µs | 173.7±8.19µs | **+1.16%** | | codec/jwst decode var_uint (64 bit) | 170.7±0.83µs | 171.0±0.94µs | **+0.18%** | | codec/jwst encode var_int (32 bit) | 302.8±2.41µs | 302.6±0.79µs | **-0.07%** | | codec/jwst encode var_uint (32 bit) | 270.0±11.83µs | 269.0±0.90µs | **-0.37%** | | codec/jwst encode var_uint (64 bit) | 269.8±5.70µs | 269.3±1.43µs | -0.19% | | codec/lib0 decode var_int (64 bit) | 164.6±0.71µs | 163.0±10.00µs | **-0.97%** | | codec/lib0 decode var_uint (32 bit) | 145.1±9.93µs | 143.4±1.38µs | **-1.17%** | | codec/lib0 decode var_uint (64 bit) | 139.1±6.21µs | 138.5±5.13µs | -0.43% | | codec/lib0 encode var_int (64 bit) | 384.4±0.65µs | 384.5±0.94µs | **+0.03%** | | codec/lib0 encode var_uint (32 bit) | 373.1±0.42µs | 373.0±0.41µs | **-0.03%** | | codec/lib0 encode var_uint (64 bit) | 373.3±0.85µs | 373.9±5.99µs | **+0.16%** | | ops/array/jwst/insert | 111.6±1.10µs | 110.6±0.86µs | **-0.90%** | | ops/array/jwst/insert range | 166.9±1.54µs | 164.7±1.41µs | **-1.32%** | | ops/array/jwst/remove | 64.4±0.17µs | 63.8±0.08µs | **-0.93%** | | ops/array/yrs/insert | 59.2±0.79µs | 58.9±0.47µs | **-0.51%** | | ops/array/yrs/insert range | 75.4±4.93µs | 74.5±0.52µs | **-1.19%** | | ops/array/yrs/remove | 66.5±1.06µs | 66.5±1.99µs | -0.00% | | ops/map/jwst/get | 344.6±5.92ns | 344.7±11.01ns | +0.03% | | ops/map/jwst/insert | 4.2±0.09µs | 4.1±0.04µs | **-2.38%** | | ops/map/jwst/remove | 4.8±0.02µs | 4.8±0.03µs | -0.00% | | ops/map/yrs/get | 248.9±4.43ns | 248.9±1.98ns | -0.00% | | ops/map/yrs/insert | 3.9±0.08µs | 3.8±0.07µs | **-2.56%** | | ops/map/yrs/remove | 5.0±0.07µs | 5.0±0.01µs | -0.00% | | ops/text/jwst/insert | 69.3±0.86µs | 69.0±1.04µs | **-0.43%** | | ops/text/jwst/remove | 2.1±0.01µs | 2.1±0.01µs | -0.00% | | ops/text/yrs/insert | 27.4±0.21µs | 27.5±0.12µs | **+0.36%** | | ops/text/yrs/remove | 1751.6±10.86ns | 1713.4±19.92ns | **-2.18%** | | update/parse with jwst/basic.bin | 37.6±1.53µs | 36.8±0.13µs | **-2.13%** | | update/parse with jwst/database.bin | 29.8±0.12µs | 29.6±0.43µs | **-0.67%** | | update/parse with jwst/large.bin | 1812.4±10.26µs | 1815.1±23.12µs | +0.15% | | update/parse with jwst/with-subdoc.bin | 4.3±0.02µs | 4.3±0.02µs | -0.00% | | update/parse with yrs/basic.bin | 30.0±0.75µs | 29.8±0.21µs | **-0.67%** | | update/parse with yrs/database.bin | 24.4±0.21µs | 24.2±0.59µs | **-0.82%** | | update/parse with yrs/large.bin | 1331.8±13.81µs | 1359.7±16.42µs | **+2.09%** | | update/parse with yrs/with-subdoc.bin | 3.7±0.03µs | 3.6±0.03µs | **-2.70%** |

Benchmark for Windows

Click to view benchmark | Test | Base | PR | % | | --- | --- | --- | --- | | codec/jwst decode var_int (32 bit) | 213.6±2.82µs | 212.6±0.75µs | **-0.47%** | | codec/jwst decode var_uint (32 bit) | 190.0±3.95µs | 190.8±3.96µs | +0.42% | | codec/jwst decode var_uint (64 bit) | 195.5±3.18µs | 196.7±3.56µs | +0.61% | | codec/jwst encode var_int (32 bit) | 275.0±2.79µs | 274.7±3.48µs | -0.11% | | codec/jwst encode var_uint (32 bit) | 270.8±2.04µs | 272.2±4.22µs | +0.52% | | codec/jwst encode var_uint (64 bit) | 266.7±1.81µs | 266.8±1.64µs | +0.04% | | codec/lib0 decode var_int (64 bit) | 192.3±7.20µs | 189.9±6.26µs | -1.25% | | codec/lib0 decode var_uint (32 bit) | 157.9±8.49µs | 158.7±9.50µs | +0.51% | | codec/lib0 decode var_uint (64 bit) | 157.7±6.25µs | 159.9±7.06µs | +1.40% | | codec/lib0 encode var_int (64 bit) | 385.2±1.42µs | 384.7±5.68µs | -0.13% | | codec/lib0 encode var_uint (32 bit) | 373.3±1.04µs | 386.1±2.85µs | **+3.43%** | | codec/lib0 encode var_uint (64 bit) | 374.6±1.76µs | 379.6±1.67µs | **+1.33%** | | ops/array/jwst/insert | 152.2±1.30µs | 151.5±1.96µs | -0.46% | | ops/array/jwst/insert range | 216.2±1.22µs | 212.0±1.81µs | **-1.94%** | | ops/array/jwst/remove | 74.0±0.91µs | 79.8±1.10µs | **+7.84%** | | ops/array/yrs/insert | 72.1±0.38µs | 70.0±0.36µs | **-2.91%** | | ops/array/yrs/insert range | 98.0±0.40µs | 97.6±0.40µs | **-0.41%** | | ops/array/yrs/remove | 102.5±0.33µs | 102.5±0.77µs | -0.00% | | ops/map/jwst/get | 382.6±3.68ns | 380.7±3.19ns | -0.50% | | ops/map/jwst/insert | 6.0±0.03µs | 7.6±0.05µs | **+26.67%** | | ops/map/jwst/remove | 7.0±0.04µs | 6.5±0.04µs | **-7.14%** | | ops/map/yrs/get | 275.5±5.09ns | 277.1±6.60ns | +0.58% | | ops/map/yrs/insert | 5.7±0.06µs | 6.3±0.03µs | **+10.53%** | | ops/map/yrs/remove | 6.9±0.02µs | 7.2±0.04µs | **+4.35%** | | ops/text/jwst/insert | 87.3±0.48µs | 88.8±0.72µs | **+1.72%** | | ops/text/jwst/remove | 2.4±0.01µs | 2.4±0.01µs | -0.00% | | ops/text/yrs/insert | 32.8±0.26µs | 32.5±0.35µs | **-0.91%** | | ops/text/yrs/remove | 2.5±0.03µs | 2.5±0.01µs | -0.00% | | update/parse with jwst/basic.bin | 52.3±0.48µs | 54.3±0.41µs | **+3.82%** | | update/parse with jwst/database.bin | 40.9±0.23µs | 40.8±0.20µs | **-0.24%** | | update/parse with jwst/large.bin | 2.5±0.04ms | 2.6±0.07ms | **+4.00%** | | update/parse with jwst/with-subdoc.bin | 7.7±0.06µs | 7.3±0.08µs | **-5.19%** | | update/parse with yrs/basic.bin | 45.0±0.27µs | 43.6±0.20µs | **-3.11%** | | update/parse with yrs/database.bin | 34.8±0.17µs | 33.8±0.23µs | **-2.87%** | | update/parse with yrs/large.bin | 2.1±0.04ms | 2.2±0.05ms | **+4.76%** | | update/parse with yrs/with-subdoc.bin | 7.3±0.06µs | 7.2±0.06µs | **-1.37%** |
codecov[bot] commented 9 months ago

Codecov Report

Attention: 24 lines in your changes are missing coverage. Please review.

Comparison is base (4824984) 65.61% compared to head (2174e49) 65.58%.

Files Patch % Lines
.../migration/src/m20231124_082401_blob_deleted_at.rs 56.09% 18 Missing :warning:
...ibs/jwst-storage/src/storage/blobs/blob_storage.rs 79.31% 6 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #561 +/- ## ========================================== - Coverage 65.61% 65.58% -0.04% ========================================== Files 117 118 +1 Lines 13077 13138 +61 ========================================== + Hits 8580 8616 +36 - Misses 4497 4522 +25 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

github-actions[bot] commented 9 months ago

Benchmark for Linux

Click to view benchmark | Test | Base | PR | % | | --- | --- | --- | --- | | codec/jwst decode var_int (32 bit) | 201.4±0.56µs | 201.2±0.72µs | **-0.10%** | | codec/jwst decode var_uint (32 bit) | 171.7±0.95µs | 172.5±7.45µs | **+0.47%** | | codec/jwst decode var_uint (64 bit) | 171.1±1.13µs | 170.6±0.78µs | **-0.29%** | | codec/jwst encode var_int (32 bit) | 302.7±1.18µs | 302.6±1.44µs | -0.03% | | codec/jwst encode var_uint (32 bit) | 272.7±16.17µs | 269.0±2.39µs | **-1.36%** | | codec/jwst encode var_uint (64 bit) | 269.3±1.87µs | 269.1±2.09µs | -0.07% | | codec/lib0 decode var_int (64 bit) | 161.4±2.00µs | 161.3±1.24µs | -0.06% | | codec/lib0 decode var_uint (32 bit) | 143.0±2.24µs | 142.7±1.18µs | -0.21% | | codec/lib0 decode var_uint (64 bit) | 137.8±1.51µs | 137.8±1.67µs | -0.00% | | codec/lib0 encode var_int (64 bit) | 384.6±2.45µs | 384.9±1.74µs | +0.08% | | codec/lib0 encode var_uint (32 bit) | 372.9±0.37µs | 373.2±1.62µs | **+0.08%** | | codec/lib0 encode var_uint (64 bit) | 373.0±0.72µs | 375.4±11.81µs | **+0.64%** | | ops/array/jwst/insert | 111.3±0.35µs | 111.3±0.51µs | -0.00% | | ops/array/jwst/insert range | 165.1±0.65µs | 165.6±3.79µs | **+0.30%** | | ops/array/jwst/remove | 63.7±4.03µs | 64.0±0.20µs | **+0.47%** | | ops/array/yrs/insert | 59.2±1.32µs | 57.8±1.23µs | **-2.36%** | | ops/array/yrs/insert range | 74.0±2.29µs | 74.5±0.25µs | **+0.68%** | | ops/array/yrs/remove | 67.6±1.34µs | 65.5±0.63µs | **-3.11%** | | ops/map/jwst/get | 343.5±3.38ns | 343.8±4.38ns | +0.09% | | ops/map/jwst/insert | 4.1±0.04µs | 4.1±0.02µs | -0.00% | | ops/map/jwst/remove | 4.9±0.01µs | 4.9±0.02µs | -0.00% | | ops/map/yrs/get | 255.0±6.10ns | 253.8±1.85ns | **-0.47%** | | ops/map/yrs/insert | 3.8±0.23µs | 3.8±0.02µs | -0.00% | | ops/map/yrs/remove | 4.9±0.08µs | 4.9±0.27µs | -0.00% | | ops/text/jwst/insert | 68.5±1.37µs | 68.9±0.77µs | **+0.58%** | | ops/text/jwst/remove | 2.1±0.01µs | 2.1±0.01µs | -0.00% | | ops/text/yrs/insert | 27.6±0.18µs | 27.6±0.16µs | -0.00% | | ops/text/yrs/remove | 1784.6±12.90ns | 1738.6±44.58ns | **-2.58%** | | update/parse with jwst/basic.bin | 37.5±0.43µs | 39.4±0.15µs | **+5.07%** | | update/parse with jwst/database.bin | 30.3±0.62µs | 31.5±0.11µs | **+3.96%** | | update/parse with jwst/large.bin | 1805.0±28.16µs | 1909.4±27.06µs | **+5.78%** | | update/parse with jwst/with-subdoc.bin | 4.5±0.06µs | 4.9±0.20µs | **+8.89%** | | update/parse with yrs/basic.bin | 29.4±0.09µs | 29.9±0.17µs | **+1.70%** | | update/parse with yrs/database.bin | 24.3±0.15µs | 24.7±0.13µs | **+1.65%** | | update/parse with yrs/large.bin | 1347.8±14.51µs | 1357.7±17.84µs | +0.73% | | update/parse with yrs/with-subdoc.bin | 3.7±0.05µs | 3.6±0.17µs | **-2.70%** |

Benchmark for Windows

Click to view benchmark | Test | Base | PR | % | | --- | --- | --- | --- | | codec/jwst decode var_int (32 bit) | 213.4±1.36µs | 212.9±1.14µs | -0.23% | | codec/jwst decode var_uint (32 bit) | 190.3±3.63µs | 189.0±3.19µs | -0.68% | | codec/jwst decode var_uint (64 bit) | 194.9±2.56µs | 196.1±3.74µs | +0.62% | | codec/jwst encode var_int (32 bit) | 274.9±2.08µs | 274.1±1.99µs | -0.29% | | codec/jwst encode var_uint (32 bit) | 272.5±2.47µs | 273.2±7.34µs | +0.26% | | codec/jwst encode var_uint (64 bit) | 267.4±3.18µs | 266.8±1.79µs | -0.22% | | codec/lib0 decode var_int (64 bit) | 189.9±7.35µs | 188.4±4.69µs | -0.79% | | codec/lib0 decode var_uint (32 bit) | 162.1±9.29µs | 161.7±8.12µs | -0.25% | | codec/lib0 decode var_uint (64 bit) | 157.0±5.63µs | 157.5±7.69µs | +0.32% | | codec/lib0 encode var_int (64 bit) | 384.7±2.94µs | 385.1±1.06µs | +0.10% | | codec/lib0 encode var_uint (32 bit) | 373.5±1.20µs | 373.2±1.63µs | -0.08% | | codec/lib0 encode var_uint (64 bit) | 373.6±1.34µs | 386.8±3.53µs | **+3.53%** | | ops/array/jwst/insert | 150.3±1.48µs | 153.9±1.24µs | **+2.40%** | | ops/array/jwst/insert range | 207.5±1.69µs | 215.4±1.39µs | **+3.81%** | | ops/array/jwst/remove | 79.4±1.39µs | 76.0±0.84µs | **-4.28%** | | ops/array/yrs/insert | 70.3±0.83µs | 72.3±0.49µs | **+2.84%** | | ops/array/yrs/insert range | 98.6±0.52µs | 98.8±0.47µs | **+0.20%** | | ops/array/yrs/remove | 102.6±0.93µs | 105.3±0.55µs | **+2.63%** | | ops/map/jwst/get | 382.4±4.10ns | 383.2±3.79ns | +0.21% | | ops/map/jwst/insert | 5.9±0.06µs | 7.0±0.04µs | **+18.64%** | | ops/map/jwst/remove | 6.8±0.02µs | 6.6±0.03µs | **-2.94%** | | ops/map/yrs/get | 278.5±6.23ns | 274.8±4.61ns | -1.33% | | ops/map/yrs/insert | 5.7±0.03µs | 6.5±0.06µs | **+14.04%** | | ops/map/yrs/remove | 6.9±0.02µs | 7.3±0.03µs | **+5.80%** | | ops/text/jwst/insert | 87.8±1.12µs | 87.3±0.44µs | **-0.57%** | | ops/text/jwst/remove | 2.5±0.01µs | 2.4±0.02µs | **-4.00%** | | ops/text/yrs/insert | 32.4±0.19µs | 32.9±0.63µs | **+1.54%** | | ops/text/yrs/remove | 2.5±0.01µs | 2.6±0.01µs | **+4.00%** | | update/parse with jwst/basic.bin | 54.8±0.76µs | 55.9±0.40µs | **+2.01%** | | update/parse with jwst/database.bin | 41.7±0.21µs | 41.0±0.39µs | **-1.68%** | | update/parse with jwst/large.bin | 2.6±0.07ms | 2.5±0.05ms | **-3.85%** | | update/parse with jwst/with-subdoc.bin | 8.0±0.04µs | 7.4±0.06µs | **-7.50%** | | update/parse with yrs/basic.bin | 44.9±0.23µs | 43.7±0.33µs | **-2.67%** | | update/parse with yrs/database.bin | 35.3±0.23µs | 34.1±0.13µs | **-3.40%** | | update/parse with yrs/large.bin | 2.1±0.12ms | 2.0±0.04ms | **-4.76%** | | update/parse with yrs/with-subdoc.bin | 7.3±0.03µs | 6.7±0.05µs | **-8.22%** |