{"id":16270841,"url":"https://github.com/tjake/mvbench","last_synced_at":"2025-03-19T23:30:56.415Z","repository":{"id":36558947,"uuid":"40864833","full_name":"tjake/mvbench","owner":"tjake","description":"Benchmark tool for comparing cassandra auto MV to manual MV","archived":false,"fork":false,"pushed_at":"2016-08-16T16:04:45.000Z","size":18,"stargazers_count":11,"open_issues_count":2,"forks_count":9,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-28T21:41:03.238Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","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/tjake.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-08-17T04:54:03.000Z","updated_at":"2023-12-15T04:37:05.000Z","dependencies_parsed_at":"2022-09-08T18:53:39.311Z","dependency_job_id":null,"html_url":"https://github.com/tjake/mvbench","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/tjake%2Fmvbench","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tjake%2Fmvbench/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tjake%2Fmvbench/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tjake%2Fmvbench/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tjake","download_url":"https://codeload.github.com/tjake/mvbench/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244031033,"owners_count":20386534,"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-10T18:11:46.155Z","updated_at":"2025-03-19T23:30:55.990Z","avatar_url":"https://github.com/tjake.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"MATERIALIZED VIEW BENCHMARK\n===========================\n\n### Summary\n\nThis tools will run a synthetic workload against Apache Cassandra\nwith the intention of stressing the system.  It can maintain multiple\nviews of data either manually (in app) or via Materialized Views (in server)\n\n### Workload Story\n\nImagine we run a music service that allows users to create playlists.\nThe core table for our service is:\n  ````\nCREATE TABLE user_playlists\n(\n    user_name           text,\n    playlist_name       text,\n    song_id             text,\n    added_time          bigint,\n    artist_name         text,\n    genre               text,\n    last_played         bigint,\n    PRIMARY KEY (user_name, playlist_name, song_id) \n);\n\n  ````\n\nNow with this information we can create add, update, delete playlists in our system.\nBut we want to answer other questions using this data like:\n\n   Which users like the same song?\n   Which users like the same artist?\n   Which users like the same genre?\n   What was the recently played tracks for a given user?\n\nSo our system maintains other views on this data (defined in the schema)\n\n\n### How to use?\n\n````\n   # Load the schema into your C* cluster\n   cqlsh \u003c bench_schema.cql\n   \n   # compile \n   mvn compile\n   \n   # run with server based materialized view mode\n   mvn exec:java -Dexec.args=\"\"\n\n   # To with in app based manual view mode\n   mvn exec:java -Dexec.args=\"--manual\" \n\n   # To see all options\n   mvn exec:java -Dexec.args=\"--help\"\n   \n````\n\nAfter running, there will be a detailed csv files under ./reports/view and ./reports/manual\n\n\nby [@tjake](http://twitter.com/tjake)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftjake%2Fmvbench","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftjake%2Fmvbench","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftjake%2Fmvbench/lists"}