概述
深入了解 PipelineDP 的工作原理以及项目背后的一些基本设计决策。
请注意,该项目仍处于试验阶段,可能会发生变化。目前我们不推荐在生产系统中使用它,因为它还没有经过彻底的测试。您可以在 路线图部分了解更多信息。
关键概念
本页解释了文档、代码和示例中使用的关键定义 。
设计概述
PipelineDP 设计可以在多个数据处理框架上执行(包括本地执行),并且可以扩展到其他框架。这可以通过以与框架无关的方式实现所有 DP 逻辑来实现,与框架执行数据处理的方式完全分离。
这是它的详细工作原理:
DPEngine
是 PipelineDP 的核心。它是一个以与框架无关的方式封装所有差异隐私逻辑的组件。开发人员可以 DPEngine
直接使用,但通常他们更喜欢通过一组面向开发人员的 API 访问,这些 API 类似于流行框架的常规(非私有)API。
PipelineBackend
是对低级数据处理操作(map、join、combine、filter 等)的抽象。该抽象带有几个特定于框架的实现,可以在 Apache Beam、Apache Spark 甚至本地执行 PipelineDP。
有关 DP 计算的更多信息,请查看数据管道中的 DP 计算。
路线图
我们为未来计划的一些高层次的事情:
- 功能:
- 添加更多聚合类型(方差、百分位数、向量求和)。
- 与 Python 生态系统(例如数据框)更好地集成。
- 效用:
- 使用高级组合方法(如隐私损失分布)。
- 可靠性:
- 对不同隐私属性进行严格的统计测试。