╔═tonbo═════════════════════════════════════════════════════╗ ║ ║ ║ ┌─────────client memory─┐ ┌─────────client memory─┐ ║ ║ │ ┏━━━━━━━━━━━━┓ │ │ ┏━━━━━━━━━━━━┓ │ ║ ║ │ ┃ memtable ┃ │ │ ┃ memtable ┃ │ ║ ║ │ ┗━━━━┳━━━━━━━┛ │ │ ┗━━━━┳━━━━━━━┛ │ ║ ║ │ ┏━━━━▼━━━━━━━┓ │ │ ┏━━━━▼━━━━━━━┓ │ ║ ║ │ ┃ memtable ┃ │ │ ┃ memtable ┃ │ ║ ║ │ ┗━━━━┳━━━━━━━┛ │ │ ┗━━━━┳━━━━━━━┛ │ ║ ║ │ ┏━━━━▼━━━━━━━┓ │ │ ┏━━━━▼━━━━━━━┓ │ ║ ║ │ ┃ memtable ┃ │ │ ┃ memtable ┃ │ ║ ║ │ ┗━━━━┳━━━━━━━┛ │ │ ┗━━━━┳━━━━━━━┛ │ ║ ║ └──────╂────────────────┘ └──────╂────────────────┘ ║ ║ ┌──────╂─client storage─┐ ┌──────╂─client storage─┐ ║ ║ │ ┏━━━━▼━━━━┓ │ │ ┏━━━━▼━━━━┓ │ ║ ║ │ ┃ parquet ┃ │ │ ┃ parquet ┃ │ ║ ║ │ ┗━━━━┳━━━━┛ │ │ ┗━━━━┳━━━━┛ │ ║ ║ └──────╂────────────────┘ └──────╂────────────────┘ ║ ║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ║ ║ ┌──────╂────────────────────────────────server ssd─┐ ║ ║ │ ┣━━━━━━━━━━━┓ │ ║ ║ │ ┏━━━━▼━━━━┓ ┏━━━━▼━━━━┓ │ ║ ║ │ ┃ parquet ┃ ┃ parquet ┃ │ ║ ║ │ ┗━━━━┳━━━━┛ ┗━━━━┳━━━━┛ │ ║ ║ └──────╂───────────╂───────────────────────────────┘ ║ ║ ┌──────╂───────────╂────────object storage service─┐ ║ ║ │ ┣━━━━━━━━━━━╋━━━━━━━━━━━┳━━━━━━━━━━━┓ │ ║ ║ │ ┏━━━━▼━━━━┓ ┏━━━━▼━━━━┓ ┏━━━━▼━━━━┓ ┏━━━━▼━━━━┓ │ ║ ║ │ ┃ parquet ┃ ┃ parquet ┃ ┃ parquet ┃ ┃ parquet ┃ │ ║ ║ │ ┗━━━━━━━━━┛ ┗━━━━━━━━━┛ ┗━━━━━━━━━┛ ┗━━━━━━━━━┛ │ ║ ║ └──────────────────────────────────────────────────┘ ║ ║ ║ ╚═══════════════════════════════════════════════════════════╝
╔═Web APP══════════════════════╗ ║ ║ ║ ┏━JS microtasks━━━━━━━━━━━━┓ ║ ║ ┃ ┃ ║ ║ ┃ ┏╍WASM binding╍╍╍╍╍╍╍╍╍┓ ┃ ║ ║ ┃ ┇ ┇ ┃ ║ ║ ┃ ┇ ┏━Tonbo async API━━┓ ┇ ┃ ║ ║ ┃ ┇ ┃ ┃ ┇ ┃ ║ ║ ┃ ┇ ┃ ┏╍WASM binding╍┓ ┃ ┇ ┃ ║ ║ ┃ ┇ ┃ ┇ ┇ ┃ ┇ ┃ ║ ║ ┃ ┇ ┃ ┇ ┏━━━━━━┓ ┇ ┃ ┇ ┃ ║ ║ ┃ ┇ ┃ ┇ ┃ OPFS ┃ ┇ ┃ ┇ ┃ ║ ║ ┃ ┇ ┃ ┇ ┗━━━━━━┛ ┇ ┃ ┇ ┃ ║ ║ ┃ ┇ ┃ ┗╍╍╍╍╍╍╍╍╍╍╍╍╍╍┛ ┃ ┇ ┃ ║ ║ ┃ ┇ ┗━━━━━━━━━━━━━━━━━━┛ ┇ ┃ ║ ║ ┃ ┗╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍┅┛ ┃ ║ ║ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ║ ╚══════════════════════════════╝