High-frequency financial trading, IoT device telemetry, and industrial sensor monitoring require time-series databases capable of ingesting millions of rows per second with sub-millisecond SQL query responses. QuestDB provides a lightweight, high-performance time-series database supporting SQL queries and InfluxDB Line Protocol ingestion. Testing ingestion pipelines, schema partitioning strategies, and Grafana integrations directly on a developer workstation often causes port conflicts (ports 9000, 8812, 9009) and leaves persistent disk databases. In Windows 11, Windows Sandbox provides a pristine, isolated testing platform. By authoring custom Windows Sandbox XML (.wsb) configuration files, you can deploy a standalone QuestDB database in seconds.
Architecture of the Disposable QuestDB Sandbox
Windows Sandbox provides a disposable, hypervisor-isolated guest environment that resets completely upon termination. To provision an automated QuestDB instance, the architecture requires:
- A mapped host folder: A directory containing the standalone QuestDB distribution and startup scripts.
- A WSB configuration file: An XML blueprint that mounts the mapped directory and initiates the time-series daemon automatically via
LogonCommand.
Authoring the Windows Sandbox WSB Blueprint
Create a working directory on your host machine, such as C:\SandboxQuestDB. Download the Windows release of QuestDB into this directory, then create RunQuestDB.wsb with the following XML code:
<Configuration>
<VGpu>Default</VGpu>
<Networking>Default</Networking>
<MappedFolders>
<MappedFolder>
<HostFolder>C:\SandboxQuestDB</HostFolder>
<SandboxFolder>C:\QuestDBFiles</SandboxFolder>
<ReadOnly>false</ReadOnly>
</MappedFolder>
</MappedFolders>
<LogonCommand>
<Command>powershell.exe -ExecutionPolicy Bypass -NoExit -File C:\QuestDBFiles\Start-QuestDB.ps1</Command>
</LogonCommand>
</Configuration>
Authoring QuestDB Startup Script
Inside the mapped host folder (C:\SandboxQuestDB), create the PowerShell initialization script named Start-QuestDB.ps1:
Write-Host "=============================================" -ForegroundColor Cyan
Write-Host " Starting QuestDB Time-Series Database... " -ForegroundColor Green
Write-Host " Web Console: http://127.0.0.1:9000 " -ForegroundColor Yellow
Write-Host " Postgres Wire: 127.0.0.1:8812 " -ForegroundColor Yellow
Write-Host " Influx Line: 127.0.0.1:9009 " -ForegroundColor Yellow
Write-Host "=============================================" -ForegroundColor Cyan
# Set working directory to mapped folder
Set-Location "C:\QuestDBFiles"
# Launch QuestDB server
& "C:\QuestDBFiles\bin\questdb.exe" start -d "C:\QuestDBFiles\data"
Running and Validating Ingestion in the Sandbox
Double-click RunQuestDB.wsb on your Windows 11 host. Windows Sandbox boots up, mounts the mapped folder, and immediately launches QuestDB inside an interactive PowerShell window.
The server binds to port 9000 for the web console, port 8812 for PostgreSQL wire protocol clients, and port 9009 for InfluxDB line protocol ingestion. Open Microsoft Edge inside the sandbox and navigate to http://127.0.0.1:9000 to access the visual SQL web console.
You can execute time-series queries (such as SAMPLE BY or LATEST ON), benchmark ingestion throughput, and verify partition pruning in complete isolation. When testing concludes, closing the sandbox window instantly eliminates all database files, memory buffers, and server processes, leaving your host workstation completely clean.