{"id":18798028,"url":"https://github.com/polypheny/polypheny-simple-client","last_synced_at":"2025-04-13T17:09:44.615Z","repository":{"id":37205803,"uuid":"233130074","full_name":"polypheny/Polypheny-Simple-Client","owner":"polypheny","description":"A simple benchmarking and testing client for Polypheny.","archived":false,"fork":false,"pushed_at":"2025-03-24T08:52:45.000Z","size":2059,"stargazers_count":6,"open_issues_count":1,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-13T17:09:32.777Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/polypheny.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2020-01-10T21:03:57.000Z","updated_at":"2025-02-24T16:52:34.000Z","dependencies_parsed_at":"2023-10-16T22:12:03.436Z","dependency_job_id":"58dc4f16-19bf-4a8b-8ed6-d928317bc471","html_url":"https://github.com/polypheny/Polypheny-Simple-Client","commit_stats":null,"previous_names":[],"tags_count":78,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polypheny%2FPolypheny-Simple-Client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polypheny%2FPolypheny-Simple-Client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polypheny%2FPolypheny-Simple-Client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polypheny%2FPolypheny-Simple-Client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/polypheny","download_url":"https://codeload.github.com/polypheny/Polypheny-Simple-Client/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248750107,"owners_count":21155686,"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-11-07T22:10:37.145Z","updated_at":"2025-04-13T17:09:44.587Z","avatar_url":"https://github.com/polypheny.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Polypheny Simple Client\n\nA simple benchmarking and testing client for Polypheny-DB. It includes support for the following benchmarks:\n\n* **Gavel**: The Gavel benchmark simulates the workload of a fictional auction house.\n* **kNN-Bench**: A benchmark tailored towards typical workloads of multimedia retrieval applications and especially k-Nearest-Neighbor search.\n* **Multimedia**: This benchmarks produces workload containing or requesting randomly generated BLOBs.\n* **Graph**: A simple synthetic graph benchmark that executes a mixture of DQL and DML Cypher queries against a pseudo-random network.\n* **DocBench**: A simple benchmark for document schemas generating MongoQL queries.\n* **MultiBench**: A benchmark that combines Gavel, Graph, and DocBench.\n* [**AuctionMark**](http://hstore.cs.brown.edu/projects/auctionmark/): A benchmark executing workload that simulates the activities found in a well-known auction site.\n* [**SmallBank**](http://ses.library.usyd.edu.au/bitstream/2123/5353/1/michael-cahill-2009-thesis.pdf): The SmallBank benchmark models a simple banking application.\n* [**TPC-C**](http://www.tpc.org/tpcc/): A well-known on-line transaction processing (OLTP) benchmark.\n* [**TPC-H**](http://www.tpc.org/tpch/): A decision support benchmark consisting of a suite of business oriented ad-hoc queries and concurrent data modifications.\n* [**YCSB**](https://github.com/brianfrankcooper/YCSB): Benchmark for evaluating the performance of \"key-value\" and \"cloud\" serving stores.\n* [**MMSBench-Net**](https://gvdb23.informatik.uni-stuttgart.de/wp-content/uploads/2023/06/GvDB2023_Lengweiler.pdf) A benchmark for multi-model database systems simulating a network monitoring application.\n\nThis benchmarking client contains a [Chronos](https://chronos-eaas.org/) connector. This allows to easily execute evaluation campaigns.\n\n## Getting Started\n\nThis client can either be started in a stand-alone mode for quick testing or in a chronos mode for automated benchmarking using [Chronos](https://chronos-eaas.org/).\n\n### Chronos\n\n```\nSYNOPSIS\n        polypheny-simple-client.jar chronos [ {-cc | --chronos} \u003cchronos\u003e ]\n                [ {-e | --environment} \u003cenvironment\u003e ] [ --host \u003cIP or Port\u003e ] \n                [ --control-username \u003cPolypheny Control Username\u003e ] \n                [ --control-password \u003cPolypheny Control Password\u003e ] \n                [ {-p | --port} \u003cport\u003e ] [ --queryList ] {-s | --supports} \u003csupports\u003e \n                [ --writeCSV ]\n\nOPTIONS\n        -cc \u003cchronos\u003e, --chronos \u003cchronos\u003e\n            Hostname or IP address of the Chronos Control.\n\n        -e \u003cenvironment\u003e, --environment \u003cenvironment\u003e\n            Identifier of the Chronos evaluation environment this client\n            belongs to (default: \"default\").\n\n        --host \u003cIP or Port\u003e\n            Hostname or IP address of the host running the system(s) to be\n            benchmarked (default: 127.0.0.1).\n            \n        --control-username \u003cPolypheny Control Username\u003e\n            The username to be used for authentication with Polypheny Control.\n            \n        --control-password \u003cPolypheny Control Password\u003e\n            The password to be used for authentication with Polypheny Control.\n\n        -p \u003cport\u003e, --port \u003cport\u003e\n            Port of the REST API of the Chronos Control server (default: 443).\n\n        --queryList\n            Dump all Gavel queries as SQL into a file (default: false).\n\n        -s \u003csupports\u003e, --supports \u003csupports\u003e\n            Comma-separated list of system identifiers supported by this\n            client. Depends on the Chronos instance.\n\n        --writeCSV\n            Write a CSV file containing execution times for all executed\n            queries (default: false).\n```\n\n### Stand-alone\n\nThis client can be used by specifying the name of the benchmark as first parameter and the task as second parameter. Optionally, it is also possible to specify a multiplier for the data and workload (integer \u003e 0). The general syntax is identical for all benchmarks:\n\n```\njava -jar polypheny-simple-client.jar  BENCHMARK  TASK  [ MULTIPLIER ] \n```\n\nUse the `help` command to get an overview of all available parameters for a benchmark. For example:\n\n```\njava -jar polypheny-simple-client.jar help gavel  \n```\n\n_BENCHMARK_: `{ gavel | knnbench | multimedia | graph | docbench | multibench | auctionmark | smallbank | tpcc | tpch | ycsb | coms }`\n\n_TASK_: `{ schema | data | workload | warmup }`\n\n_MULTIPLIER_: Optional parameter taking an integer for multiplying the number of data and queries. Defaults to 1.\n\n## Roadmap\n\nSee the [open issues](https://github.com/polypheny/Polypheny-DB/labels/A-client) for a list of proposed features (and known issues).\n\n## Contributing\n\nWe highly welcome your contributions to _Polypheny Simple Client_. If you would like to contribute, please fork the repository and submit your changes as a pull request. Please consult our [Admin Repository](https://github.com/polypheny/Admin) and our [Website](https://polypheny.org) for guidelines and additional information.\n\nPlease note that we have a [code of conduct](https://github.com/polypheny/Admin/blob/master/CODE_OF_CONDUCT.md). Please follow it in all your interactions with the project.\n\n\n## Credits\n\n_Polypheny Simple Client_ builds upon the great work of several other open-source projects:\n\n* [Airline](https://rvesse.github.io/airline/): Annotation-driven Java library for building command line interfaces.\n* [Apache Commons](http://commons.apache.org/): A bunch of useful Java utility classes.\n* [Chronos](https://chronos-eaas.org/): A system for defining, executing, and monitoring evaluations.\n* [jCodec](https://github.com/Devskiller/jfairy/): Pure java implementation of video/audio codecs.\n* [jFairy](https://github.com/Devskiller/jfairy/): A library for generating fake data.\n* [Log4j](https://logging.apache.org/log4j/2.x/): Fast and flexible logging framework for Java.\n* [Opencsv](http://opencsv.sourceforge.net/): Library for parsing CSV (comma-separated values) data.\n* [Project Lombok](https://projectlombok.org/): A library providing compiler annotations for tedious tasks.\n* [Shadow](https://imperceptiblethoughts.com/shadow/): Gradle plugin for creating fat JARs.\n* [SLF4J](http://www.slf4j.org/): Provides a logging API by means of a facade pattern.\n* [Unirest](http://kong.github.io/unirest-java/): A lightweight HTTP client library.\n* [zip4j](https://github.com/srikanth-lingala/zip4j): A Java library for zip files and streams.\n\n\n## License\n\nThe MIT License (MIT)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpolypheny%2Fpolypheny-simple-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpolypheny%2Fpolypheny-simple-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpolypheny%2Fpolypheny-simple-client/lists"}