{"id":16572747,"url":"https://github.com/lemire/starschemabenchmark","last_synced_at":"2025-10-29T02:30:17.618Z","repository":{"id":26478452,"uuid":"29930305","full_name":"lemire/StarSchemaBenchmark","owner":"lemire","description":"O'Neil et al.'s Star Schema Benchmark: curated code","archived":false,"fork":false,"pushed_at":"2022-10-26T13:33:08.000Z","size":178,"stargazers_count":19,"open_issues_count":0,"forks_count":10,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-01T21:11:12.272Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lemire.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-27T19:15:20.000Z","updated_at":"2024-08-25T11:17:47.000Z","dependencies_parsed_at":"2023-01-14T04:44:50.701Z","dependency_job_id":null,"html_url":"https://github.com/lemire/StarSchemaBenchmark","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lemire%2FStarSchemaBenchmark","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lemire%2FStarSchemaBenchmark/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lemire%2FStarSchemaBenchmark/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lemire%2FStarSchemaBenchmark/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lemire","download_url":"https://codeload.github.com/lemire/StarSchemaBenchmark/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238758232,"owners_count":19525730,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T21:28:29.351Z","updated_at":"2025-10-29T02:30:17.612Z","avatar_url":"https://github.com/lemire.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Star Schema Benchmark (SSBM)\n\nThis repository contains a streamlined implementation of the table generation code from the **Star Schema Benchmark**, as described in:\n\n\u003e O'Neil, P., O'Neil, E., \u0026 Chen, X. (2007). *The Star Schema Benchmark*. [Online Publication of Database Generation Program](http://www.cs.umb.edu/~poneil/StarSchemaB.pdf).\n\nThe SSBM is designed to evaluate the performance of database systems optimized for star schema data warehouses. \n\nIt generates formatted text files that you can load in your database.\n\nThe generated fact table (`lineorder.tbl`) can be nearly as large as you desire. It can serve for various benchmarking purposes.\n\n---\n\n## Usage\n\n### Prerequisites\n- Ensure you have the necessary tools (e.g., `make`) and dependencies installed.\n- The `dbgen` tool is used to generate the benchmark tables.\n\n### Generating Tables\nRun the following commands to generate the benchmark tables at scale factor 1 (`-s 1`). The scale factor controls the size of the generated data.\n\n```bash\n# Build the tool\nmake\n\n# Generate individual tables\ndbgen -s 1 -T c  # customer.tbl\ndbgen -s 1 -T p  # part.tbl\ndbgen -s 1 -T s  # supplier.tbl\ndbgen -s 1 -T d  # date.tbl\ndbgen -s 1 -T l  # lineorder.tbl (fact table)\n\n# Generate all tables at once\ndbgen -s 1 -T a\n```\n\n#### Output Files\nThe above commands produce the following files:\n- `customer.tbl`\n- `date.tbl`\n- `lineorder.tbl`\n- `part.tbl`\n- `supplier.tbl`\n\n#### Scaling Data Size\nTo generate larger datasets, increase the scale factor (`-s`). For example:\n```bash\ndbgen -s 10 -T a  # Generates all tables with a scale factor of 10\n```\n\n### Generating Refresh Data (Insert/Delete)\nTo create refresh datasets for testing incremental updates:\n```bash\ndbgen -s 1 -r 5 -U 4\n```\n\n#### Parameters\n- `-r 5`: Specifies a refresh rate of 5/10,000 (0.05%) for the fact table.\n- `-U 4`: Generates 4 segments for deletes and inserts.\n\n#### Output Files\nThis command produces:\n- Delete files: `delete.1`, `delete.2`, `delete.3`, `delete.4`\n- Insert files: `lineorder.tbl.u1`, `lineorder.tbl.u2`, `lineorder.tbl.u3`, `lineorder.tbl.u4`\n\n\n## Notes\n- Adjust the scale factor (`-s`) and refresh rate (`-r`) based on your testing needs.\n- Ensure sufficient disk space for larger scale factors, as file sizes grow significantly.\n- Refer to the original paper for detailed benchmark specifications and usage scenarios.\n\n\n\n# Suitability\n\nThis is strictly for research purposes. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flemire%2Fstarschemabenchmark","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flemire%2Fstarschemabenchmark","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flemire%2Fstarschemabenchmark/lists"}