{"id":28604009,"url":"https://github.com/uber/uber-graph-benchmark","last_synced_at":"2025-09-02T03:44:33.046Z","repository":{"id":66084621,"uuid":"157290915","full_name":"uber/uber-graph-benchmark","owner":"uber","description":"A framework to benchmark different graph databases, based on generated data from customizable schema, distribution, and size.","archived":false,"fork":false,"pushed_at":"2019-01-30T23:26:25.000Z","size":677,"stargazers_count":25,"open_issues_count":1,"forks_count":9,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-06-11T18:06:20.255Z","etag":null,"topics":["benchmark-framework","graph-database"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uber.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-11-12T23:21:25.000Z","updated_at":"2025-04-16T16:42:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"b329bdfe-b101-4109-b214-f310ed5a49e2","html_url":"https://github.com/uber/uber-graph-benchmark","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/uber/uber-graph-benchmark","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uber%2Fuber-graph-benchmark","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uber%2Fuber-graph-benchmark/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uber%2Fuber-graph-benchmark/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uber%2Fuber-graph-benchmark/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uber","download_url":"https://codeload.github.com/uber/uber-graph-benchmark/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uber%2Fuber-graph-benchmark/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273227307,"owners_count":25067684,"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","status":"online","status_checked_at":"2025-09-02T02:00:09.530Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["benchmark-framework","graph-database"],"created_at":"2025-06-11T17:40:04.820Z","updated_at":"2025-09-02T03:44:33.038Z","avatar_url":"https://github.com/uber.png","language":"Java","readme":"Uber Graph Benchmark (UGB)\n====================================\n\nSlides: [Uber Graph Benchmark Framwork](./UberGraphBenchmarkFramework.pdf)\n\nGetting Started\n---------------\n\n1. Check out the repo\n\n2. Set up a database to benchmark. There is a README file under each binding \n   directory. List out all modules by\n   ```sh\n   ./gradlew projects\n   ```\n\n3. Run benchmark on db\n\n  ```sh\n  # generates and writes to redis db, then reads with subgraph queries\n  ./gradlew execute -PmainArgs=\"-db com.uber.ugb.db.redis.RedisDB -w -g benchdata/graphs/trips -b benchdata/workloads/workloada -r\"\n\n  # generates and writes to redis db, then reads with subgraph queries\n  ./gradlew execute -PmainArgs=\"-db com.uber.ugb.db.cassandra.CassandraDB -w -g benchdata/graphs/trips -b benchdata/workloads/workloada -r\"\n\n  # this generate vertices and edges and write to noop, used for measuring data gen performance\n  ./gradlew execute -PmainArgs=\"-db com.uber.ugb.db.NoopDB -g benchdata/graphs/trips -b benchdata/workloads/workloada -w\"\n\n  # this generate vertices and edges and write as csv to System.out or a file\n  ./gradlew execute -PmainArgs=\"-db com.uber.ugb.db.CsvOutputDB -g benchdata/graphs/trips -b benchdata/workloads/workloada -w\"\n\n  ```\n\nCustomization\n---------------\n\n\nSet environment variables in\n\n  ```text\n  benchdata/workloads/env.properties\n  ```\n\nTo add a new DB implementation, consider inherit from\n  * com.uber.ugb.db.KeyValueDB\n    \n    This stores the adjacency list in one blob.\n\n  * com.uber.ugb.db.PrefixKeyValueDB\n  \n    This stores the adjacency list with the same prefix. The edge writes could be faster than KeyValueDB.\n\n  * com.uber.ugb.db.GremlinDB\n\n    This processes gremlin queries directly.\n\n\n\nBuild\n---------------\n  * create jar\n   ```sh\n   ./gradlew jar\n   ```\n  * build fat jar for spark\n   ```sh\n   ./gradlew build\n   ```\n\n\nRun on Spark\n---------------\nHere is one example on how to run spark\n```\n#!/usr/bin/env bash\n\ncd ugsb\n\nYARN_CONF_DIR=/etc/hadoop/conf /home/spark-2.1.0/bin/spark-submit \\\n--class \"com.uber.ugb.Benchmark\" \\\n--master yarn \\\n--deploy-mode client \\\n--driver-memory 6G \\\n--executor-memory 6G \\\n--executor-cores 2 \\\n--driver-cores 2 \\\n--num-executors 10 \\\n--conf spark.yarn.executor.memoryOverhead=2048 \\\n--driver-class-path '/etc/hive/conf' \\\nbuild/libs/ugb-all-0.0.15.jar \\\n\"-db com.uber.ugb.db.cassandra.CassandraDB -w -g benchdata/graphs/trips -b benchdata/workloads/workloada -r -s\"\n\necho $?\n\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuber%2Fuber-graph-benchmark","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuber%2Fuber-graph-benchmark","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuber%2Fuber-graph-benchmark/lists"}