Skip to content

Commit

Permalink
WIP benchmark
Browse files Browse the repository at this point in the history
  • Loading branch information
exAspArk committed Nov 5, 2024
1 parent 49cc33b commit 5e0e3cb
Show file tree
Hide file tree
Showing 5 changed files with 240 additions and 1 deletion.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/iceberg
/iceberg-test
.env
/benchmark/dbt3/
28 changes: 28 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,31 @@ lint:

outdated:
devbox run "cd src && go list -u -m -f '{{if and .Update (not .Indirect)}}{{.}}{{end}}' all"

pg-init:
devbox run initdb

pg-up:
devbox services start postgresql

pg-down:
devbox services stop postgresql

benchmark-init:
devbox run "cd benchmark && \
git clone https://github.com/osdldbt/dbt3.git && \
cd dbt3 && \
make -f Makefile.cmake release && \
cd builds/release && \
sudo cmake --install . --prefix /usr/local && \
createdb dbt3 && \

git clone https://github.com/gregrahn/tpch-kit.git && \


"

benchmark-uninstall:
devbox run "cd benchmark/dbt3/builds/release && \
xargs rm < install_manifest.txt && \
dropdb dbt3"
27 changes: 27 additions & 0 deletions benchmark/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# BemiDB Bechmark

1. Download the TPC-H .zip benchmark file from the [following link](https://www.tpc.org/tpc_documents_current_versions/current_specifications5.asp) (requires to fill a form)
2. Unzip the downloaded file into the `benchmark` directory

3. Run the following commands:

```sh
make pg-init
make pg-up
make benchmark-init

cd benchmark
dbt3-build-dbgen --patch-dir=dbt3/patches --query-dir=dbt3/queries pgsql "TPC-H V3.0.1"/
```

---

```sh
make pg-init
make pg-up

cd benchmark
git clone https://github.com/gregrahn/tpch-kit.git
cd tpch-kit/dbgen
make MACHINE=MACOS DATABASE=POSTGRESQL # Use MACHINE=LINUX for Linux
```
4 changes: 3 additions & 1 deletion devbox.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
{
"$schema": "https://raw.githubusercontent.com/jetify-com/devbox/0.13.1/.schema/devbox.schema.json",
"packages": [
"go@latest"
"go@latest",
"postgresql@latest",
"cmake@latest"
],
"shell": {
"init_hook": [],
Expand Down
181 changes: 181 additions & 0 deletions devbox.lock
Original file line number Diff line number Diff line change
@@ -1,6 +1,62 @@
{
"lockfile_version": "1",
"packages": {
"cmake@latest": {
"last_modified": "2024-10-13T23:44:06Z",
"resolved": "github:NixOS/nixpkgs/d4f247e89f6e10120f911e2e2d2254a050d0f732#cmake",
"source": "devbox-search",
"version": "3.29.6",
"systems": {
"aarch64-darwin": {
"outputs": [
{
"name": "out",
"path": "/nix/store/a7v65i1rs0jbdjq578pk9h689fif32sd-cmake-3.29.6",
"default": true
}
],
"store_path": "/nix/store/a7v65i1rs0jbdjq578pk9h689fif32sd-cmake-3.29.6"
},
"aarch64-linux": {
"outputs": [
{
"name": "out",
"path": "/nix/store/kap109b20fvapdkpk0djrqy5chqc8rgh-cmake-3.29.6",
"default": true
},
{
"name": "debug",
"path": "/nix/store/k6dxnvzrpjng7f1vv3likb8p8x3a2gwf-cmake-3.29.6-debug"
}
],
"store_path": "/nix/store/kap109b20fvapdkpk0djrqy5chqc8rgh-cmake-3.29.6"
},
"x86_64-darwin": {
"outputs": [
{
"name": "out",
"path": "/nix/store/s1b6hfmgbib22r5xyrw86v9x6mljxhal-cmake-3.29.6",
"default": true
}
],
"store_path": "/nix/store/s1b6hfmgbib22r5xyrw86v9x6mljxhal-cmake-3.29.6"
},
"x86_64-linux": {
"outputs": [
{
"name": "out",
"path": "/nix/store/24gbi6mcw4c6jgzai9aaxx9qi2rxdb09-cmake-3.29.6",
"default": true
},
{
"name": "debug",
"path": "/nix/store/6jgji8dva0n4d9l3yplabfa29j6hsjwf-cmake-3.29.6-debug"
}
],
"store_path": "/nix/store/24gbi6mcw4c6jgzai9aaxx9qi2rxdb09-cmake-3.29.6"
}
}
},
"go@latest": {
"last_modified": "2024-09-10T15:01:03Z",
"resolved": "github:NixOS/nixpkgs/5ed627539ac84809c78b2dd6d26a5cebeb5ae269#go_1_23",
Expand Down Expand Up @@ -48,6 +104,131 @@
"store_path": "/nix/store/mi0ybwsm6pmxzv9hsm6bcbqaq1pkf8wh-go-1.23.1"
}
}
},
"postgresql@latest": {
"last_modified": "2024-10-24T16:50:28Z",
"plugin_version": "0.0.2",
"resolved": "github:NixOS/nixpkgs/63487b2f26fa065cfeeaa47dddb08e2856ba53e8#postgresql",
"source": "devbox-search",
"version": "16.4",
"systems": {
"aarch64-darwin": {
"outputs": [
{
"name": "out",
"path": "/nix/store/6dzxj78wph840cpwslh96s4gpm0iwch2-postgresql-16.4",
"default": true
},
{
"name": "man",
"path": "/nix/store/z1n2vh799a5icpaxbrjfqsasagb276bk-postgresql-16.4-man",
"default": true
},
{
"name": "dev",
"path": "/nix/store/afjpl8ilq8s6j6zh4qqyy6mxz3v2xbav-postgresql-16.4-dev"
},
{
"name": "doc",
"path": "/nix/store/ry9d9by692xj92y5b9j6z0aa5y3lh3px-postgresql-16.4-doc"
},
{
"name": "lib",
"path": "/nix/store/d1im42w02x8gl2y380r4hgj8xgkkkbwc-postgresql-16.4-lib"
}
],
"store_path": "/nix/store/6dzxj78wph840cpwslh96s4gpm0iwch2-postgresql-16.4"
},
"aarch64-linux": {
"outputs": [
{
"name": "out",
"path": "/nix/store/37r0vmsb8xd1kv3wjd99kr59q99ja3g0-postgresql-16.4",
"default": true
},
{
"name": "man",
"path": "/nix/store/mawnv85hv5y64csbmpgrnz88j7r8cby5-postgresql-16.4-man",
"default": true
},
{
"name": "debug",
"path": "/nix/store/71hz4hv1n6ivymbzd0jm3a61cyj9fwh5-postgresql-16.4-debug"
},
{
"name": "dev",
"path": "/nix/store/ibhwvhq4gkdibkfrkqg9vmip9mhhrg2q-postgresql-16.4-dev"
},
{
"name": "doc",
"path": "/nix/store/rmvkab0pxjjjznk350syr3gzpa13dz1k-postgresql-16.4-doc"
},
{
"name": "lib",
"path": "/nix/store/39mnmp40qhpq2h6r3cj66s23sb5fkzr6-postgresql-16.4-lib"
}
],
"store_path": "/nix/store/37r0vmsb8xd1kv3wjd99kr59q99ja3g0-postgresql-16.4"
},
"x86_64-darwin": {
"outputs": [
{
"name": "out",
"path": "/nix/store/vlgydd1rakmw9j14i8dgrlhzj4pa82vi-postgresql-16.4",
"default": true
},
{
"name": "man",
"path": "/nix/store/2wm2caki07a557z97228n2zxrd3a8j4b-postgresql-16.4-man",
"default": true
},
{
"name": "doc",
"path": "/nix/store/r03r96a44grl85sflw6hvwwlrzr32rk9-postgresql-16.4-doc"
},
{
"name": "lib",
"path": "/nix/store/cy3q9y20jwk1vkd6jxf3mnq6xzbb9dn8-postgresql-16.4-lib"
},
{
"name": "dev",
"path": "/nix/store/96nxx00m06jl2jmvb16916l2rpwb13hk-postgresql-16.4-dev"
}
],
"store_path": "/nix/store/vlgydd1rakmw9j14i8dgrlhzj4pa82vi-postgresql-16.4"
},
"x86_64-linux": {
"outputs": [
{
"name": "out",
"path": "/nix/store/mjjfx6yyaaba5hmv6bga20m8fxrca93l-postgresql-16.4",
"default": true
},
{
"name": "man",
"path": "/nix/store/b8cvsw47h2487y4j805zi0645x3ajh1i-postgresql-16.4-man",
"default": true
},
{
"name": "doc",
"path": "/nix/store/apbxfs52v8im9725mn2f1jhgbdfggrpd-postgresql-16.4-doc"
},
{
"name": "lib",
"path": "/nix/store/32cprs7xwxvb0rw2imfrgy5vcacc27hc-postgresql-16.4-lib"
},
{
"name": "debug",
"path": "/nix/store/alcnsd7fkkr3iipvcn9gzsyv16kab6m9-postgresql-16.4-debug"
},
{
"name": "dev",
"path": "/nix/store/pqya8lq5jyplfmbmafrrwsrsi07d5ssn-postgresql-16.4-dev"
}
],
"store_path": "/nix/store/mjjfx6yyaaba5hmv6bga20m8fxrca93l-postgresql-16.4"
}
}
}
}
}

0 comments on commit 5e0e3cb

Please sign in to comment.