Skip to content

Benchmarking how quickly storage systems respond to GDPR queries

Notifications You must be signed in to change notification settings

brownsys/GDPRbench

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 

Repository files navigation

GDPRbench

The General Data Protection Regulation (GDPR) was introduced in Europe to offer new rights and protections to people concerning their personal data. In this project, we aim to benchmark how well a given storage system responds to the common queries of GDPR. In order to do this, we identify four key roles in GDPR--customer, controller, processor, and regulator--and compose workloads corresponding to their functionalities. The design of this benchmark is guided by our analysis of GDPR as well as the usage patterns from the real-world.

Design and Implementation

We implement GDPRbench by adapting and extending YCSB. This figure shows the core infrastructure components of YCSB (in gray), and our modifications and extensions (in blue). We create four new workloads, a GDPR-specific workload executor, and implement DB clients (one per storage system). So far, we have added ~1300 LoC to the workload engine, and ∼400 LoC for Redis and PostgreSQL clients.

Benchmarking

To get started with GDPRbench, download or clone this repository. It consists of a fully functional version of YCSB together with all the functionalities of GDPRbench. Please note that you will need Maven 3 to build and use the benchmark.

git clone https://github.com/GDPRbench/GDPRbench.git
cd GDPRbench/src/
mvn clean package
<start redis or postgres>
configure workloads/gdpr_{controller|customer|processor|regulator}
./bin/ycsb load redis -s -P workloads/gdpr_controller
./bin/ycsb run redis -s -P workloads/gdpr_controller

Interested in exploring the research behind this project? Check out our website.

About

Benchmarking how quickly storage systems respond to GDPR queries

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 88.4%
  • HTML 5.5%
  • Python 2.9%
  • Shell 1.8%
  • Batchfile 1.4%