MCPcopy
hub / github.com/brianfrankcooper/YCSB

github.com/brianfrankcooper/YCSB @0.17.0 sqlite

repository ↗ · DeepWiki ↗ · release 0.17.0 ↗
1,638 symbols 5,086 edges 249 files 633 documented · 39%
README

YCSB

Build Status

Links

Getting Started

  1. Download the latest release of YCSB:

    sh curl -O --location https://github.com/brianfrankcooper/YCSB/releases/download/0.15.0/ycsb-0.15.0.tar.gz tar xfvz ycsb-0.15.0.tar.gz cd ycsb-0.15.0

  2. Set up a database to benchmark. There is a README file under each binding directory.

  3. Run YCSB command.

    On Linux: sh bin/ycsb.sh load basic -P workloads/workloada bin/ycsb.sh run basic -P workloads/workloada

    On Windows: bat bin/ycsb.bat load basic -P workloads\workloada bin/ycsb.bat run basic -P workloads\workloada

Running the ycsb command without any argument will print the usage.

See https://github.com/brianfrankcooper/YCSB/wiki/Running-a-Workload for a detailed documentation on how to run a workload.

See https://github.com/brianfrankcooper/YCSB/wiki/Core-Properties for the list of available workload properties.

Building from source

YCSB requires the use of Maven 3; if you use Maven 2, you may see errors such as these.

To build the full distribution, with all database bindings:

mvn clean package

To build a single database binding:

mvn -pl mongodb-binding -am clean package

Extension points exported contracts — how you extend this code

MeasurementsExporter (Interface)
Used to export the collected measurements into a useful format, for example human readable text or machine readable JSON [7 …
core/src/main/java/site/ycsb/measurements/exporter/MeasurementsExporter.java

Core symbols most depended-on inside this repo

toString
called by 248
core/src/main/java/site/ycsb/Status.java
add
called by 207
voltdb/src/main/java/site/ycsb/db/voltdb/YCSBSchemaBuilder.java
getProperties
called by 198
core/src/main/java/site/ycsb/DB.java
equals
called by 95
core/src/main/java/site/ycsb/Status.java
toBytes
called by 89
riak/src/main/java/site/ycsb/db/riak/RiakUtils.java
format
called by 81
core/src/main/java/site/ycsb/Client.java
toArray
called by 71
core/src/main/java/site/ycsb/ByteIterator.java
write
called by 64
core/src/main/java/site/ycsb/measurements/exporter/MeasurementsExporter.java

Shape

Method 1,415
Class 212
Enum 10
Interface 1

Languages

Java100%

Modules by API surface

couchbase2/src/main/java/site/ycsb/db/couchbase2/Couchbase2Client.java38 symbols
jdbc/src/main/java/site/ycsb/db/JdbcDBClient.java23 symbols
core/src/test/java/site/ycsb/workloads/TestTimeSeriesWorkload.java23 symbols
rest/src/main/java/site/ycsb/webservice/rest/RestClient.java22 symbols
rest/src/test/java/site/ycsb/webservice/rest/RestClientTest.java21 symbols
core/src/main/java/site/ycsb/workloads/TimeSeriesWorkload.java20 symbols
postgrenosql/src/main/java/site/ycsb/postgrenosql/PostgreNoSQLDBClient.java19 symbols
rocksdb/src/main/java/site/ycsb/db/rocksdb/RocksDBClient.java18 symbols
core/src/main/java/site/ycsb/measurements/Measurements.java18 symbols
azurecosmos/src/main/java/site/ycsb/db/AzureCosmosClient.java18 symbols
core/src/main/java/site/ycsb/workloads/CoreWorkload.java17 symbols
core/src/main/java/site/ycsb/Client.java17 symbols

Dependencies from manifests, versioned

ch.qos.logback:logback-classic1.1.2 · 1×
ch.qos.logback:logback-core1.1.3 · 1×
com.aerospike:aerospike-client
com.aliyun.openservices:tablestore
com.allanbank:mongodb-async-driver
com.amazonaws:aws-java-sdk1.10.48 · 1×
com.amazonaws:aws-java-sdk-s3
com.arangodb:arangodb-java-driver
com.basho.riak:riak-client2.0.5 · 1×
com.ceph:rados
com.couchbase.client:couchbase-client
com.couchbase.client:java-client

Datastores touched

(mongodb)Database · 1 repos
ycsbDatabase · 1 repos
(mysql)Database · 1 repos
ycsbDatabase · 1 repos
ycsbDatabase · 1 repos

For agents

$ claude mcp add YCSB \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact