Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add an example of a join query with a group by but using confidential go app. #37

Open
qascade opened this issue May 19, 2023 · 2 comments

Comments

@qascade
Copy link
Owner

qascade commented May 19, 2023

Description

The use case only does a simple count query without any partitions. I want to add an example of partitions that properly demonstrates the use case of the maxContributionsPerUsers option inside the google dp definition.

How to do this ?

Use the same media/ advertiser/research data set for simplicity, although you are free to run your imagination for a different scenario you will have to generate your datasets.

You can do a query like What are the common customers grouped by the kind of pet they have. So the output should be:
Private Count of Customers who have dogs, Private Count of Customers who have cats.

In SQl terms the query should look like:

SELECT
    ac.pets,
    COUNT(DISTINCT ac.email) AS count_common_customers
FROM
    media_customers mc
INNER JOIN
    airline_customers ac ON mc.email = ac.email
GROUP BY
    ac.pets;

So the end result should be a Confidential GoApp with appropriate Yaml modifications that functions exactly as the above query would.

@Sarthak027
Copy link

Hey,
I want to work on this issue. Can you assign me on this issue under Gssoc'23.

@qascade
Copy link
Owner Author

qascade commented May 27, 2023

@Sarthak027 Awesome. Assigning this to you. You will have to understand Google's differential privacy definition and how it works. Please note, SQL is just for understanding you will have to write a go template that compiles and does same thing as what SQL query will do. Let me know if you have any further questions. Name the branch feat.join_goapp

Google Repo: https://github.com/google/differential-privacy
Video: https://youtu.be/1F6pRMVGWdc
Paper: https://arxiv.org/abs/1909.01917

@qascade qascade assigned Sarthak027 and unassigned Sarthak027 May 27, 2023
@Sarthak027 Sarthak027 removed their assignment Oct 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants