DuckDB-Wasm ใใใฉใฆใถใงไฝฟ็จใใฆใ OPFS ใซ DuckDB ใใผใฟใใผในใใกใคใซใไฝๆใใ S3 ไบๆใชใใธใงใฏใในใใฌใผใธใซใใ Parquet ใใกใคใซใ่ชญใฟ่พผใใง DuckdB-Wasm ใซ็ป้ฒใใ DuckDB-Wasm ใง SQL ใงใฏใจใชใๅฎ่กใใใ่ฉฆใ็จใฎใขใใชใงใใ
- TypeScript ใฏ้ฉๅฝใงใใฎใงใๅ่ใซใใชใใงไธใใ
- SQL ใฏ้ฉๅฝใงใใฎใงใๅ่ใซใใชใใงไธใใ
GitHub Pages ใซใขใใชใใใใญใคใใฆใใใพใใ
DuckDB-Wasm (OPFS) + Parquet + S3-compatible object storage
pnpm install
mv .env.template .env
# https://duckdb-wasm.shiguredo.jp/P78BHZM3MD3MV47JDZG47PB8PW.parquet ใ่จญๅฎใใ
pnpm run dev
- ใใฉใฆใถใง
http://localhost:5173/
ใซใขใฏใปในใใใจ่ชๅใง OPFS ใซ DuckDB ใใผใฟใใผในใใกใคใซใไฝๆใใParquet ใใกใคใซใๅใ่พผใฟใพใ Read Parquet
ใใฟใณใใฏใชใใฏใใฆใPurge
ใใฟใณใๆผใใๅพใซๅๅบฆ DuckDB ใใผใฟใใผในใใกใคใซใไฝๆใใพใSamples (1%)
ใใฟใณใใฏใชใใฏใใฆใใตใณใใชใณใฐใใ 1% ใฎใใผใฟใ่กจ็คบใใฆใฟใฆใใ ใใAggregation
ใใฟใณใใฏใชใใฏใใฆใ้่จใใ็ตๆใ่กจ็คบใใฆใฟใฆใใ ใใPurge
ใใฟใณใง OPFS ใฎ DuckDB ใใผใฟใใผในใใกใคใซใๅ้คใใพใ
ๆฏๅ SQL ใๅฎ่กใใฆใใพใใ
Vim ใญใผใใคใณใใฃใณใฐใ่ฟฝๅ ใใฆใพใใ
ไปฅไธใฎ URL ใงใ่ฉฆใ็จใฎ Parquet ใใกใคใซใๅๅพใใใใจใใงใใพใใ
https://duckdb-wasm.shiguredo.jp/P78BHZM3MD3MV47JDZG47PB8PW.parquet
ใใฎ Parquet ใใกใคใซใฏๆ้จๅ ใฎ WebRTC SFU Sora ใๅบๅใใ ใฏใฉใคใขใณใใใ้ใใใฆใใ WebRTC ็ตฑ่จๆ ๅ ฑ ใ Fluent Bit ็ต็ฑใง S3 ไบๆใชใใธใงใฏใในใใฌใผใธ ใธไฟๅญใใ DuckDB ใง้็ดใ Parquet ใใกใคใซใจใใฆๅบๅใใใใฎใงใใ ๅ ใ ใฎใญใฐใฏ JSONL ๅฝขๅผใง gzip ๅง็ธฎใงใใ
- ใใฎ Parquet ใใกใคใซใฏ zstd ใงๅง็ธฎใใใฆใใพใ
- ใใฎ Parquet ใใกใคใซใฏ Cloudflare R2 ใซไฟๅญใใใฆใใใใใใชใใฏใง่ชฐใงใใขใฏใปในใใใใจใใงใใพใ
- ใใฎ Parquet ใใกใคใซใฎ Access-Control-Allow-Origin ใฏ
http://localhost:5173/
ใใใฎใขใฏใปในใ่จฑๅฏใใฆใใพใ - ใใฎ Parquet ใใกใคใซใฎใฉใคใปใณในใฏ CC BY-NC-ND 4.0 ใงใ
Origin private file system - Web APIs | MDN
ๅฎๅ จใซใใฉใฆใถใงใใกใคใซใๅใๆฑใไป็ตใฟใงใใ DuckDB-Wasm ใฎ OPFS ใซ DuckDB ใใผใฟใใผในใใกใคใซใไฟๅญใใไป็ตใฟใๅฉ็จใใฆใใพใใ
await db.open({
path: 'opfs://test.db',
accessMode: duckdb.DuckDBAccessMode.READ_WRITE,
})
ใใฎไป็ตใฟใไฝฟใไบใงใใฉใฆใถใซ DuckDB ใใผใฟใใผในใใกใคใซใๆฐธ็ถๅใใใใจใใงใใใใใซใชใใ ใใฉใฆใถใ้ใใฆใใใผใฟใๆฎใ็ถใใพใใ
D SELECT * FROM parquet_scan('https://duckdb-wasm.shiguredo.jp/P78BHZM3MD3MV47JDZG47PB8PW.parquet');
โโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโฌโโโโฌโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโ
โ connection_id โ id โ label โ โฆ โ rtc_timestamp โ rtc_type โ
โ varchar โ varchar โ varchar โ โ double โ varchar โ
โโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโผโโโโผโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโค
โ F6WJ4SY2HD63Z25XD3โฆ โ DE5MC2JG3H2PK667ZGโฆ โ WebRTC SFU Sora โ โฆ โ 1726394702721.481 โ media-playout โ
โ F6WJ4SY2HD63Z25XD3โฆ โ DE5MC2JG3H2PK667ZGโฆ โ WebRTC SFU Sora โ โฆ โ 1726394702721.481 โ certificate โ
โ F6WJ4SY2HD63Z25XD3โฆ โ DE5MC2JG3H2PK667ZGโฆ โ WebRTC SFU Sora โ โฆ โ 1726394702721.481 โ certificate โ
โ F6WJ4SY2HD63Z25XD3โฆ โ DE5MC2JG3H2PK667ZGโฆ โ WebRTC SFU Sora โ โฆ โ 1726394702721.481 โ codec โ
โ F6WJ4SY2HD63Z25XD3โฆ โ DE5MC2JG3H2PK667ZGโฆ โ WebRTC SFU Sora โ โฆ โ 1726394702721.481 โ codec โ
โ F6WJ4SY2HD63Z25XD3โฆ โ DE5MC2JG3H2PK667ZGโฆ โ WebRTC SFU Sora โ โฆ โ 1726394702721.481 โ candidate-pair โ
โ F6WJ4SY2HD63Z25XD3โฆ โ DE5MC2JG3H2PK667ZGโฆ โ WebRTC SFU Sora โ โฆ โ 1726394702721.481 โ candidate-pair โ
โ F6WJ4SY2HD63Z25XD3โฆ โ DE5MC2JG3H2PK667ZGโฆ โ WebRTC SFU Sora โ โฆ โ 1726394702721.481 โ candidate-pair โ
โ F6WJ4SY2HD63Z25XD3โฆ โ DE5MC2JG3H2PK667ZGโฆ โ WebRTC SFU Sora โ โฆ โ 1726394702721.481 โ candidate-pair โ
โ F6WJ4SY2HD63Z25XD3โฆ โ DE5MC2JG3H2PK667ZGโฆ โ WebRTC SFU Sora โ โฆ โ 1726394702721.481 โ candidate-pair โ
โ F6WJ4SY2HD63Z25XD3โฆ โ DE5MC2JG3H2PK667ZGโฆ โ WebRTC SFU Sora โ โฆ โ 1726394702721.481 โ candidate-pair โ
โ F6WJ4SY2HD63Z25XD3โฆ โ DE5MC2JG3H2PK667ZGโฆ โ WebRTC SFU Sora โ โฆ โ 1726394702721.481 โ data-channel โ
โ F6WJ4SY2HD63Z25XD3โฆ โ DE5MC2JG3H2PK667ZGโฆ โ WebRTC SFU Sora โ โฆ โ 1726394702721.481 โ data-channel โ
โ F6WJ4SY2HD63Z25XD3โฆ โ DE5MC2JG3H2PK667ZGโฆ โ WebRTC SFU Sora โ โฆ โ 1726394702721.481 โ data-channel โ
โ F6WJ4SY2HD63Z25XD3โฆ โ DE5MC2JG3H2PK667ZGโฆ โ WebRTC SFU Sora โ โฆ โ 1726394702721.481 โ data-channel โ
โ F6WJ4SY2HD63Z25XD3โฆ โ DE5MC2JG3H2PK667ZGโฆ โ WebRTC SFU Sora โ โฆ โ 1726394702721.481 โ local-candidate โ
โ F6WJ4SY2HD63Z25XD3โฆ โ DE5MC2JG3H2PK667ZGโฆ โ WebRTC SFU Sora โ โฆ โ 1726394702721.481 โ local-candidate โ
โ F6WJ4SY2HD63Z25XD3โฆ โ DE5MC2JG3H2PK667ZGโฆ โ WebRTC SFU Sora โ โฆ โ 1726394702721.481 โ local-candidate โ
โ F6WJ4SY2HD63Z25XD3โฆ โ DE5MC2JG3H2PK667ZGโฆ โ WebRTC SFU Sora โ โฆ โ 1726394702721.481 โ local-candidate โ
โ F6WJ4SY2HD63Z25XD3โฆ โ DE5MC2JG3H2PK667ZGโฆ โ WebRTC SFU Sora โ โฆ โ 1726394702721.481 โ local-candidate โ
โ ยท โ ยท โ ยท โ ยท โ ยท โ ยท โ
โ ยท โ ยท โ ยท โ ยท โ ยท โ ยท โ
โ ยท โ ยท โ ยท โ ยท โ ยท โ ยท โ
โ ZVWETDA641527D2A6Tโฆ โ S31C88V2SX7M76DD6Mโฆ โ WebRTC SFU Sora โ โฆ โ 1726403015487.149 โ candidate-pair โ
โ ZVWETDA641527D2A6Tโฆ โ S31C88V2SX7M76DD6Mโฆ โ WebRTC SFU Sora โ โฆ โ 1726403015487.149 โ data-channel โ
โ ZVWETDA641527D2A6Tโฆ โ S31C88V2SX7M76DD6Mโฆ โ WebRTC SFU Sora โ โฆ โ 1726403015487.149 โ data-channel โ
โ ZVWETDA641527D2A6Tโฆ โ S31C88V2SX7M76DD6Mโฆ โ WebRTC SFU Sora โ โฆ โ 1726403015487.149 โ data-channel โ
โ ZVWETDA641527D2A6Tโฆ โ S31C88V2SX7M76DD6Mโฆ โ WebRTC SFU Sora โ โฆ โ 1726403015487.149 โ data-channel โ
โ ZVWETDA641527D2A6Tโฆ โ S31C88V2SX7M76DD6Mโฆ โ WebRTC SFU Sora โ โฆ โ 1726403015487.149 โ inbound-rtp โ
โ ZVWETDA641527D2A6Tโฆ โ S31C88V2SX7M76DD6Mโฆ โ WebRTC SFU Sora โ โฆ โ 1726403015487.149 โ inbound-rtp โ
โ ZVWETDA641527D2A6Tโฆ โ S31C88V2SX7M76DD6Mโฆ โ WebRTC SFU Sora โ โฆ โ 1726403015487.149 โ inbound-rtp โ
โ ZVWETDA641527D2A6Tโฆ โ S31C88V2SX7M76DD6Mโฆ โ WebRTC SFU Sora โ โฆ โ 1726403015487.149 โ inbound-rtp โ
โ ZVWETDA641527D2A6Tโฆ โ S31C88V2SX7M76DD6Mโฆ โ WebRTC SFU Sora โ โฆ โ 1726403015487.149 โ outbound-rtp โ
โ ZVWETDA641527D2A6Tโฆ โ S31C88V2SX7M76DD6Mโฆ โ WebRTC SFU Sora โ โฆ โ 1726403015487.149 โ outbound-rtp โ
โ ZVWETDA641527D2A6Tโฆ โ S31C88V2SX7M76DD6Mโฆ โ WebRTC SFU Sora โ โฆ โ 1726403011612.0 โ remote-inbound-rtp โ
โ ZVWETDA641527D2A6Tโฆ โ S31C88V2SX7M76DD6Mโฆ โ WebRTC SFU Sora โ โฆ โ 1726403014647.0 โ remote-inbound-rtp โ
โ ZVWETDA641527D2A6Tโฆ โ S31C88V2SX7M76DD6Mโฆ โ WebRTC SFU Sora โ โฆ โ 1726403013580.0 โ remote-outbound-rtp โ
โ ZVWETDA641527D2A6Tโฆ โ S31C88V2SX7M76DD6Mโฆ โ WebRTC SFU Sora โ โฆ โ 1726403011612.0 โ remote-outbound-rtp โ
โ ZVWETDA641527D2A6Tโฆ โ S31C88V2SX7M76DD6Mโฆ โ WebRTC SFU Sora โ โฆ โ 1726403015068.0 โ remote-outbound-rtp โ
โ ZVWETDA641527D2A6Tโฆ โ S31C88V2SX7M76DD6Mโฆ โ WebRTC SFU Sora โ โฆ โ 1726403014750.0 โ remote-outbound-rtp โ
โ ZVWETDA641527D2A6Tโฆ โ S31C88V2SX7M76DD6Mโฆ โ WebRTC SFU Sora โ โฆ โ 1726403015487.149 โ media-source โ
โ ZVWETDA641527D2A6Tโฆ โ S31C88V2SX7M76DD6Mโฆ โ WebRTC SFU Sora โ โฆ โ 1726403015487.149 โ media-source โ
โ ZVWETDA641527D2A6Tโฆ โ S31C88V2SX7M76DD6Mโฆ โ WebRTC SFU Sora โ โฆ โ 1726403015487.149 โ transport โ
โโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโดโโโโดโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโค
โ 83911 rows (40 shown) 20 columns (5 shown) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
DuckDB/DuckDB-Wasm ใๅฉ็จใใไฝใณในใใงใฎๅฏ่ฆๅ
Copyright 2024-2025, @voluntas
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.