https://github.com/tjake/mvbench
Benchmark tool for comparing cassandra auto MV to manual MV
https://github.com/tjake/mvbench
Last synced: about 1 year ago
JSON representation
Benchmark tool for comparing cassandra auto MV to manual MV
- Host: GitHub
- URL: https://github.com/tjake/mvbench
- Owner: tjake
- Created: 2015-08-17T04:54:03.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2016-08-16T16:04:45.000Z (almost 10 years ago)
- Last Synced: 2025-02-28T21:41:03.238Z (over 1 year ago)
- Language: Java
- Homepage:
- Size: 17.6 KB
- Stars: 11
- Watchers: 2
- Forks: 9
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
MATERIALIZED VIEW BENCHMARK
===========================
### Summary
This tools will run a synthetic workload against Apache Cassandra
with the intention of stressing the system. It can maintain multiple
views of data either manually (in app) or via Materialized Views (in server)
### Workload Story
Imagine we run a music service that allows users to create playlists.
The core table for our service is:
````
CREATE TABLE user_playlists
(
user_name text,
playlist_name text,
song_id text,
added_time bigint,
artist_name text,
genre text,
last_played bigint,
PRIMARY KEY (user_name, playlist_name, song_id)
);
````
Now with this information we can create add, update, delete playlists in our system.
But we want to answer other questions using this data like:
Which users like the same song?
Which users like the same artist?
Which users like the same genre?
What was the recently played tracks for a given user?
So our system maintains other views on this data (defined in the schema)
### How to use?
````
# Load the schema into your C* cluster
cqlsh < bench_schema.cql
# compile
mvn compile
# run with server based materialized view mode
mvn exec:java -Dexec.args=""
# To with in app based manual view mode
mvn exec:java -Dexec.args="--manual"
# To see all options
mvn exec:java -Dexec.args="--help"
````
After running, there will be a detailed csv files under ./reports/view and ./reports/manual
by [@tjake](http://twitter.com/tjake)