SlideShare una empresa de Scribd logo
1 de 207
Descargar para leer sin conexión
Opaque: A Secure
Distributed Data Analytics
Framework
Wenting Zheng, Ankur Dave, Jethro Beekman,
Raluca Ada Popa, Joseph Gonzalez, Ion Stoica
Complex analytics run on sensitive data
client cloud provider
sensitive data
Complex analytics run on sensitive data
client
Spark
SQL
MLLib GraphX
Spark
Streaming
cloud provider
sensitive data
Complex analytics run on sensitive data
client
Spark
SQL
MLLib GraphX
Spark
Streaming
cloud provider
sensitive data
Threat model
client cloud provider
sensitive data
Threat model
client cloud provider
sensitive data
Threat model
client cloud provider
sensitive data
Threat model
client cloud provider
sensitive data
Challenge:
protect data and preserve functionality
Spark SQL
Opaque*: secure data analytics
* Oblivious Platform for Analytic QUEries
SQL
Machine
Learning
Graph
Analytics
Spark SQL
Opaque
Opaque*: secure data analytics
* Oblivious Platform for Analytic QUEries
SQL
Machine
Learning
Graph
Analytics
Prior work
Prior work
• Computation on encrypted data
Prior work
• Computation on encrypted data
– A cryptographic approach using homomorphic encryption
Prior work
• Computation on encrypted data
– A cryptographic approach using homomorphic encryption
– Either impractically slow (FHE), or limited functionality (CryptDB)
Prior work
• Computation on encrypted data
– A cryptographic approach using homomorphic encryption
– Either impractically slow (FHE), or limited functionality (CryptDB)
• Hardware-based systems
Prior work
• Computation on encrypted data
– A cryptographic approach using homomorphic encryption
– Either impractically slow (FHE), or limited functionality (CryptDB)
• Hardware-based systems
– Use trusted hardware
Prior work
• Computation on encrypted data
– A cryptographic approach using homomorphic encryption
– Either impractically slow (FHE), or limited functionality (CryptDB)
• Hardware-based systems
– Use trusted hardware
– Only single machine computation (Haven), or weaker security
guarantees (VC3)
Prior work
• Computation on encrypted data
– A cryptographic approach using homomorphic encryption
– Either impractically slow (FHE), or limited functionality (CryptDB)
• Hardware-based systems
– Use trusted hardware
– Only single machine computation (Haven), or weaker security
guarantees (VC3)
Opaque utilizes trusted hardware
Hardware enclaves
Hardware enclaves
• Hardware-protected containers in
presence of malicious OS
Hardware enclaves
• Hardware-protected containers in
presence of malicious OS
Hardware enclaves
• Hardware-protected containers in
presence of malicious OS
Hardware enclaves
• Hardware-protected containers in
presence of malicious OS
Untrusted OS
Enclave
Hardware enclaves
• Hardware-protected containers in
presence of malicious OS
Untrusted OS
Enclave
Hardware enclaves
• Hardware-protected containers in
presence of malicious OS
• Shielded execution
Untrusted OS
Enclave
Hardware enclaves
• Hardware-protected containers in
presence of malicious OS
• Shielded execution
Untrusted OS
Secret
data
Enclave
Hardware enclaves
• Hardware-protected containers in
presence of malicious OS
• Shielded execution
Untrusted OS
Secret
data
Code
Enclave
Hardware enclaves
• Hardware-protected containers in
presence of malicious OS
• Shielded execution
• Encrypted enclave memory
Untrusted OS
Secret
data
Code
Enclave
Hardware enclaves
• Hardware-protected containers in
presence of malicious OS
• Shielded execution
• Encrypted enclave memory
• Software attestation
Untrusted OS
Secret
data
Code
Enclave
Hardware enclaves
• Hardware-protected containers in
presence of malicious OS
• Shielded execution
• Encrypted enclave memory
• Software attestation
• Example: Intel SGX, AMD
memory encryption Untrusted OS
Secret
data
Code
System initialization
Database
Client Server
System initialization
• Remote
attestation to
load Opaque
code
Database
Client Server
System initialization
• Remote
attestation to
load Opaque
code
Opaque
SQL
operators
Database
Client Server
System initialization
• Remote
attestation to
load Opaque
code
Opaque
SQL
operators
Database
Client Server
System initialization
• Remote
attestation to
load Opaque
code
Opaque
SQL
operators
hash
Database
Client Server
System initialization
• Remote
attestation to
load Opaque
code
Opaque
SQL
operators
hash
Database
Client Server
System initialization
• Remote
attestation to
load Opaque
code
Opaque
SQL
operators
hash
Database
Client Server
System initialization
• Remote
attestation to
load Opaque
code
Database
Client Server
System initialization
• Remote
attestation to
load Opaque
code
• Key exchange
protocol
Database
Client Server
System initialization
• Remote
attestation to
load Opaque
code
• Key exchange
protocol
Database
Client Server
System initialization
• Remote
attestation to
load Opaque
code
• Key exchange
protocol
Database
Client Server
System initialization
• Remote
attestation to
load Opaque
code
• Key exchange
protocol
Database
Client Server
System initialization
• Remote
attestation to
load Opaque
code
• Key exchange
protocol
Database
Client Server
System initialization
• Remote
attestation to
load Opaque
code
• Key exchange
protocol
Database
Client Server
System initialization
• Remote
attestation to
load Opaque
code
• Key exchange
protocol
• This is NOT on a
per-query basis Database
Client Server
Spark
Driver
Opaque
Catalyst
Query execution
Client Server
Database
Scheduler
1 2 3
Spark
Driver
Opaque
Catalyst
Query execution
Client Server
Database
Scheduler
1 2 3query = SELECT sum(*)
FROM table
Spark
Driver
Opaque
Catalyst
Query execution
Client Server
Database
Scheduler
1 2 3
Query
query = SELECT sum(*)
FROM table
Spark
Driver
Opaque
Catalyst
Query execution
Client Server
Database
Scheduler
1 2 3
Query
query = SELECT sum(*)
FROM table
Spark
Driver
Opaque
Catalyst
Query execution
Client Server
Database
Scheduler
1 2 3query = SELECT sum(*)
FROM table
Spark
Driver
Opaque
Catalyst
Query execution
Client Server
Database
Scheduler
1 2 3query = SELECT sum(*)
FROM table
Spark
Driver
Opaque
Catalyst
Query execution
Client Server
Database
Scheduler
1 2 3query = SELECT sum(*)
FROM table
Spark
Driver
Opaque
Catalyst
Query execution
Client Server
Database
Scheduler
1 2 3query = SELECT sum(*)
FROM table
Spark
Driver
Opaque
Catalyst
Query execution
Client Server
Database
Scheduler
1 2 3
query = SELECT sum(*)
FROM table
Spark
Driver
Opaque
Catalyst
Query execution
Client Server
Database
Scheduler
query = SELECT sum(*)
FROM table
10 13 4
Spark
Driver
Opaque
Catalyst
Query execution
Client Server
Database
Scheduler
query = SELECT sum(*)
FROM table
10
13
4
Spark
Driver
Opaque
Catalyst 27
Query execution
Client Server
Database
Scheduler
query = SELECT sum(*)
FROM table
Spark
Driver
Opaque
Catalyst
27
Query execution
Client Server
Database
Scheduler
query = SELECT sum(*)
FROM table
Problem: cloud can alter distributed computation
Problem: cloud can alter distributed computation
• Drop data
Problem: cloud can alter distributed computation
• Drop data
• Modify data
Problem: cloud can alter distributed computation
• Drop data
• Modify data
• Skip task
Problem: cloud can alter distributed computation
• Drop data
• Modify data
• Skip task
• Replay old state
Example: drop data
Spark
Driver
Opaque
Catalyst
Server
Database
Scheduler
1 2 3
Client
query = SELECT sum(*)
FROM table
Example: drop data
Spark
Driver
Opaque
Catalyst
Server
Database
Scheduler
1 2 3
Client
query = SELECT sum(*)
FROM table
Example: drop data
Spark
Driver
Opaque
Catalyst
Server
Database
Scheduler
10 13 4
Client
query = SELECT sum(*)
FROM table
Example: drop data
Spark
Driver
Opaque
Catalyst
Server
Database
Scheduler
10
13
Client
query = SELECT sum(*)
FROM table
Example: drop data
Spark
Driver
Opaque
Catalyst
Server
Database
Scheduler
23
Client
query = SELECT sum(*)
FROM table
Example: drop data
Spark
Driver
Opaque
Catalyst
Server
Database
Scheduler
23
Client
query = SELECT sum(*)
FROM table
Self-verifying computation
Self-verifying computation
Invariant: if computation does not abort,
the execution completed so far is correct
Self-verifying computation
Invariant: if computation does not abort,
the execution completed so far is correct
Self-verifying computation
Invariant: if computation does not abort,
the execution completed so far is correct
If the computation is complete, then the entire
query was executed correctly
Self-verifying computation
Task 13
Task 14
Task 15
Task 20
query = SELECT sum(*)
FROM table
Self-verifying computation
20
1413 15
Task 13
Task 14
Task 15
Task 20
query = SELECT sum(*)
FROM table
Self-verifying computation
20
1413 15
Task 13
Task 14
Task 15
Task 20
query = SELECT sum(*)
FROM table
Self-verifying computation
20
1413 15
10
13
4
Task 13
Task 14
Task 15
Task 20
query = SELECT sum(*)
FROM table
Self-verifying computation
20
1413 15
10
13
4
Task 13
Task 14
Task 15
Task 20
query = SELECT sum(*)
FROM table
Self-verifying computation
20
1413 15
10
13
4
Task 13
Task 14
Task 15
Task 20
query = SELECT sum(*)
FROM table
Self-verifying computation
20
1413 15
10
13
4
Task 13
Task 14
Task 15
Task 20
query = SELECT sum(*)
FROM table
Self-verifying computation
20
1413 15
10
13
4
Task 13
Task 14
Task 15
Task 20
query = SELECT sum(*)
FROM table
Self-verifying computation
20
1413 15
10
13
4
Task 13
Task 14
Task 15
Task 20
query = SELECT sum(*)
FROM table
Self-verifying computation
20
1413 15
10
13
4
Task 13
Task 14
Task 15
Task 20
query = SELECT sum(*)
FROM table
ID Name Age Disease
12809 Amanda D. Edwards 40 Diabetes
29489 Robert R. McGowan 56 Diabetes
13744 Kimberly R. Seay 51 Cancer
18740 Dennis G. Bates 32 Diabetes
98329 Ronald S. Ogden 53 Cancer
medical table:
Problem: access pattern leakage
32591 Donna R. Bridges 26 Diabetes
ID Name Age Disease
SELECT count(*) FROM medical 

GROUP BY disease
12809 Amanda D. Edwards 40 Diabetes
29489 Robert R. McGowan 56 Diabetes
13744 Kimberly R. Seay 51 Cancer
18740 Dennis G. Bates 32 Diabetes
98329 Ronald S. Ogden 53 Cancer
medical table:
Problem: access pattern leakage
32591 Donna R. Bridges 26 Diabetes
Problem: access pattern leakage
SELECT count(*) FROM medical 

GROUP BY disease
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
Problem: access pattern leakage
SELECT count(*) FROM medical 

GROUP BY disease
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
Problem: access pattern leakage
SELECT count(*) FROM medical 

GROUP BY disease
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
Problem: access pattern leakage
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
Attack viable for both
memory and network
access patterns!
Oblivious mode
Oblivious mode
Oblivious
primitives
Oblivious mode
intra-machine
o-sort
inter-machine
o-sort
random
permutation
Oblivious
primitives
Oblivious mode
intra-machine
o-sort
inter-machine
o-sort
random
permutation
Oblivious
primitives
Opaque
operators
Oblivious mode
intra-machine
o-sort
inter-machine
o-sort
random
permutation
Oblivious
primitives
Opaque
operators
project-
filter
low-cardinality
agg.
sort-
merge join
broadcast
join
…
Oblivious mode
intra-machine
o-sort
inter-machine
o-sort
random
permutation
Oblivious
primitives
Opaque
operators
Oblivious
operators
project-
filter
low-cardinality
agg.
sort-
merge join
broadcast
join
…
Oblivious mode
intra-machine
o-sort
inter-machine
o-sort
random
permutation
Oblivious
primitives
Opaque
operators
Oblivious
operators
project-
filter
low-cardinality
agg.
sort-
merge join
broadcast
join
…
Oblivious
Filter
Oblivious
Sort
Oblivious
Aggregation
Oblivious
Join
Oblivious mode
intra-machine
o-sort
inter-machine
o-sort
random
permutation
Oblivious
primitives
Opaque
operators
Oblivious
operators
project-
filter
low-cardinality
agg.
sort-
merge join
broadcast
join
…
Oblivious
Filter
Oblivious
Sort
Oblivious
Aggregation
Oblivious
Join
Oblivious Query Plan
Oblivious mode
intra-machine
o-sort
inter-machine
o-sort
random
permutation
Oblivious
primitives
Opaque
operators
Oblivious
operators
project-
filter
low-cardinality
agg.
sort-
merge join
broadcast
join
…
Oblivious
Filter
Oblivious
Sort
Oblivious
Aggregation
Oblivious
Join
Oblivious Query Plan
{
Oblivious mode
intra-machine
o-sort
inter-machine
o-sort
random
permutation
Oblivious
primitives
Opaque
operators
Oblivious
operators
project-
filter
low-cardinality
agg.
sort-
merge join
broadcast
join
…
Oblivious
Filter
Oblivious
Sort
Oblivious
Aggregation
Oblivious
Join
Oblivious Query Plan
{Query
optimization
Oblivious aggregation
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
Oblivious
sort
SELECT count(*) FROM medical GROUP BY disease
Map Sort
Oblivious aggregation
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
Oblivious
sort
SELECT count(*) FROM medical GROUP BY disease
Map Sort
Oblivious aggregation
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
Oblivious
sort
SELECT count(*) FROM medical GROUP BY disease
Map Sort
Map Sort
Oblivious
sort
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
Oblivious aggregation
SELECT count(*) FROM medical GROUP BY disease
Sort
Oblivious
sort
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
Oblivious aggregation
SELECT count(*) FROM medical GROUP BY disease
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
Scan
Oblivious aggregation
SELECT count(*) FROM medical GROUP BY disease
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
Scan
Statistics
Statistics
Oblivious aggregation
SELECT count(*) FROM medical GROUP BY disease
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
Scan Boundary
processing
Statistics
Statistics
Oblivious aggregation
SELECT count(*) FROM medical GROUP BY disease
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
Scan Boundary
processing
Statistics
Statistics
Oblivious aggregation
SELECT count(*) FROM medical GROUP BY disease
2; 1
2; 2
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
Scan Boundary
processing
Oblivious aggregation
SELECT count(*) FROM medical GROUP BY disease
2; 1
2; 2
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
Scan Boundary
processing
Result size
Oblivious aggregation
SELECT count(*) FROM medical GROUP BY disease
2; 1
2; 2
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
Scan Boundary
processing
Oblivious aggregation
SELECT count(*) FROM medical GROUP BY disease
2; 1
2; 2
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
Scan Boundary
processing
Offset
Oblivious aggregation
SELECT count(*) FROM medical GROUP BY disease
2; 1
2; 2
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
Scan Boundary
processing
Oblivious aggregation
SELECT count(*) FROM medical GROUP BY disease
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
2; 1
2; 2
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
Scan Boundary
processing
Scan
Oblivious aggregation
SELECT count(*) FROM medical GROUP BY disease
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
2; 1
2; 2
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
Scan Boundary
processing
Scan
Oblivious aggregation
SELECT count(*) FROM medical GROUP BY disease
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
Scan Boundary
processing
Scan
Oblivious aggregation
SELECT count(*) FROM medical GROUP BY disease
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
Scan Boundary
processing
Scan
Oblivious aggregation
SELECT count(*) FROM medical GROUP BY disease
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
Scan Boundary
processing
Scan
Cancer:2
Diabetes:3
Diabetes:1
DUMMY
Final
result
Oblivious aggregation
SELECT count(*) FROM medical GROUP BY disease
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
12809 … Diabetes
29489 … Diabetes
13744 … Cancer
18740 … Diabetes
98329 … Cancer
32591 … Diabetes
Scan Boundary
processing
Scan
Final
result
Cancer:2
Diabetes:4
Oblivious aggregation
SELECT count(*) FROM medical GROUP BY disease
Opaque modes
Opaque modes
• Encryption mode
Opaque modes
• Encryption mode
– Data encryption and
authentication
Opaque modes
• Encryption mode
– Data encryption and
authentication
– Computation is
integrity protected
Opaque modes
• Encryption mode
– Data encryption and
authentication
– Computation is
integrity protected
Opaque modes
• Encryption mode
– Data encryption and
authentication
– Computation is
integrity protected
Snapshot attacker
e.g. external hacker
Opaque modes
• Encryption mode
– Data encryption and
authentication
– Computation is
integrity protected
• Oblivious mode
Snapshot attacker
e.g. external hacker
Opaque modes
• Encryption mode
– Data encryption and
authentication
– Computation is
integrity protected
• Oblivious mode
– Additionally hide
access patterns
Snapshot attacker
e.g. external hacker
Opaque modes
• Encryption mode
– Data encryption and
authentication
– Computation is
integrity protected
• Oblivious mode
– Additionally hide
access patterns
Snapshot attacker
e.g. external hacker
Opaque modes
• Encryption mode
– Data encryption and
authentication
– Computation is
integrity protected
• Oblivious mode
– Additionally hide
access patterns
Snapshot attacker
e.g. external hacker
Persistent attacker
e.g. insider
Opaque modes
• Encryption mode
– Data encryption and
authentication
– Computation is
integrity protected
• Oblivious mode
– Additionally hide
access patterns
Snapshot attacker
e.g. external hacker
Persistent attacker
e.g. insider
Trade off: performance and security
Project-filter
Obliv. sort
Filter
Query optimization - oblivious
SELECT count(*) 

FROM medical

WHERE age > 30 

GROUP BY disease
Low-card. obliv. agg.
Scan
Obliv. sort
Aggregate
medical
Project-filter
Obliv. sort
Filter
Query optimization - oblivious
SELECT count(*) 

FROM medical

WHERE age > 30 

GROUP BY disease
Low-card. obliv. agg.
Scan
Obliv. sort
Aggregate
medical
Project-filter
Obliv. sort
Filter
Query optimization - oblivious
SELECT count(*) 

FROM medical

WHERE age > 30 

GROUP BY disease
Low-card. obliv. agg.
Scan
Obliv. sort
Aggregate
medical
Project-filter
Obliv. sort
Filter
Query optimization - oblivious
SELECT count(*) 

FROM medical

WHERE age > 30 

GROUP BY disease
Low-card. obliv. agg.
Scan
Obliv. sort
Aggregate
medical
Project-filter
Obliv. sort
Filter
Query optimization - oblivious
SELECT count(*) 

FROM medical

WHERE age > 30 

GROUP BY disease
Low-card. obliv. agg.
Scan
Obliv. sort
Aggregate
medical
Project-filter
Obliv. sort
Filter
Query optimization - oblivious
SELECT count(*) 

FROM medical

WHERE age > 30 

GROUP BY disease
Low-card. obliv. agg.
Scan
Obliv. sort
Aggregate
medical
Project-filter
Obliv. sort
Filter
Query optimization - oblivious
SELECT count(*) 

FROM medical

WHERE age > 30 

GROUP BY disease
Low-card. obliv. agg.
Scan
Obliv. sort
Aggregate
medical
Project-filter
Filter
Query optimization - oblivious
SELECT count(*) 

FROM medical

WHERE age > 30 

GROUP BY disease
Low-card. obliv. agg.
Scan
Obliv. sort
Aggregate
medical
Project-filter
Filter
Query optimization - oblivious
SELECT count(*) 

FROM medical

WHERE age > 30 

GROUP BY disease
Low-card. obliv. agg.
Scan
Obliv. sort
Aggregate
medical
Reduced # of
oblivious sorts
by 1
D_ID
AGE
NAME
P_ID
END_DATE
START_DATE
PID
COMMENT
DOCTOR
T_ID
DOSAGE
END_TIME
START_TIME
M_ID
T_ID
COMMENT
DATE
TR_ID
G_ID
NAME
D_ID
COST
D_ID
NAME
M_ID
COMMENT
NAME
G_ID
Patient (P_)
Treatment Plan
(TP_)
Treatment
Record (TR_)
Disease (D_) Medication (M_)
Gene (G_)
Query optimization - mixed sensitivity
D_ID
AGE
NAME
P_ID
END_DATE
START_DATE
PID
COMMENT
DOCTOR
T_ID
DOSAGE
END_TIME
START_TIME
M_ID
T_ID
COMMENT
DATE
TR_ID
G_ID
NAME
D_ID
COST
D_ID
NAME
M_ID
COMMENT
NAME
G_ID
Patient (P_)
Treatment Plan
(TP_)
Treatment
Record (TR_)
Disease (D_) Medication (M_)
Gene (G_)
Query optimization - mixed sensitivity
D_ID
AGE
NAME
P_ID
END_DATE
START_DATE
PID
COMMENT
DOCTOR
T_ID
DOSAGE
END_TIME
START_TIME
M_ID
T_ID
COMMENT
DATE
TR_ID
G_ID
NAME
D_ID
COST
D_ID
NAME
M_ID
COMMENT
NAME
G_ID
Patient (P_)
Treatment Plan
(TP_)
Treatment
Record (TR_)
Disease (D_) Medication (M_)
Gene (G_)
Query optimization - mixed sensitivity
Query optimization - mixed sensitivity
Query optimization - mixed sensitivity
D_ID
AGE
NAME
P_ID
END_DATE
START_DATE
PID
COMMENT
DOCTOR
T_ID
DOSAGE
END_TIME
START_TIME
M_ID
T_ID
COMMENT
DATE
TR_ID
G_ID
NAME
D_ID
COST
D_ID
NAME
M_ID
COMMENT
NAME
G_ID
Patient (P_)
Treatment Plan
(TP_)
Treatment
Record (TR_)
Disease (D_) Medication (M_)
Gene (G_)
Query optimization - mixed sensitivity
D_ID
AGE
NAME
P_ID
END_DATE
START_DATE
PID
COMMENT
DOCTOR
T_ID
DOSAGE
END_TIME
START_TIME
M_ID
T_ID
COMMENT
DATE
TR_ID
G_ID
NAME
D_ID
COST
D_ID
NAME
M_ID
COMMENT
NAME
G_ID
Patient (P_)
Treatment Plan
(TP_)
Treatment
Record (TR_)
Disease (D_) Medication (M_)
Gene (G_)
SELECT p_name, d_name, med_cost
FROM patient, disease,
(SELECT d_id, min(cost) AS med_cost
FROM medication
GROUP BY d_id) AS med
WHERE disease.d_id = patient.d_id
AND disease.d_id = med.d_id
Query optimization - mixed sensitivity
D_ID
AGE
NAME
P_ID
END_DATE
START_DATE
PID
COMMENT
DOCTOR
T_ID
DOSAGE
END_TIME
START_TIME
M_ID
T_ID
COMMENT
DATE
TR_ID
G_ID
NAME
D_ID
COST
D_ID
NAME
M_ID
COMMENT
NAME
G_ID
Patient (P_)
Treatment Plan
(TP_)
Treatment
Record (TR_)
Disease (D_) Medication (M_)
Gene (G_)
SELECT p_name, d_name, med_cost
FROM patient, disease,
(SELECT d_id, min(cost) AS med_cost
FROM medication
GROUP BY d_id) AS med
WHERE disease.d_id = patient.d_id
AND disease.d_id = med.d_id
|P| < |D| < |M|
Query optimization - mixed sensitivity
D_ID
AGE
NAME
P_ID
END_DATE
START_DATE
PID
COMMENT
DOCTOR
T_ID
DOSAGE
END_TIME
START_TIME
M_ID
T_ID
COMMENT
DATE
TR_ID
G_ID
NAME
D_ID
COST
D_ID
NAME
M_ID
COMMENT
NAME
G_ID
Patient (P_)
Treatment Plan
(TP_)
Treatment
Record (TR_)
Disease (D_) Medication (M_)
Gene (G_)
SELECT p_name, d_name, med_cost
FROM patient, disease,
(SELECT d_id, min(cost) AS med_cost
FROM medication
GROUP BY d_id) AS med
WHERE disease.d_id = patient.d_id
AND disease.d_id = med.d_id
Patient Disease
⨝
Medication
⨝
ᵞ
|P| < |D| < |M|
Query optimization - mixed sensitivity
D_ID
AGE
NAME
P_ID
END_DATE
START_DATE
PID
COMMENT
DOCTOR
T_ID
DOSAGE
END_TIME
START_TIME
M_ID
T_ID
COMMENT
DATE
TR_ID
G_ID
NAME
D_ID
COST
D_ID
NAME
M_ID
COMMENT
NAME
G_ID
Patient (P_)
Treatment Plan
(TP_)
Treatment
Record (TR_)
Disease (D_) Medication (M_)
Gene (G_)
SELECT p_name, d_name, med_cost
FROM patient, disease,
(SELECT d_id, min(cost) AS med_cost
FROM medication
GROUP BY d_id) AS med
WHERE disease.d_id = patient.d_id
AND disease.d_id = med.d_id
Patient Disease
⨝
Medication
⨝
ᵞ
SQL join order
|P| < |D| < |M|
Query optimization - mixed sensitivity
D_ID
AGE
NAME
P_ID
END_DATE
START_DATE
PID
COMMENT
DOCTOR
T_ID
DOSAGE
END_TIME
START_TIME
M_ID
T_ID
COMMENT
DATE
TR_ID
G_ID
NAME
D_ID
COST
D_ID
NAME
M_ID
COMMENT
NAME
G_ID
Patient (P_)
Treatment Plan
(TP_)
Treatment
Record (TR_)
Disease (D_) Medication (M_)
Gene (G_)
SELECT p_name, d_name, med_cost
FROM patient, disease,
(SELECT d_id, min(cost) AS med_cost
FROM medication
GROUP BY d_id) AS med
WHERE disease.d_id = patient.d_id
AND disease.d_id = med.d_id
Patient Disease
⨝
Medication
⨝
ᵞ
SQL join order
|P| < |D| < |M|
Query optimization - mixed sensitivity
D_ID
AGE
NAME
P_ID
END_DATE
START_DATE
PID
COMMENT
DOCTOR
T_ID
DOSAGE
END_TIME
START_TIME
M_ID
T_ID
COMMENT
DATE
TR_ID
G_ID
NAME
D_ID
COST
D_ID
NAME
M_ID
COMMENT
NAME
G_ID
Patient (P_)
Treatment Plan
(TP_)
Treatment
Record (TR_)
Disease (D_) Medication (M_)
Gene (G_)
SELECT p_name, d_name, med_cost
FROM patient, disease,
(SELECT d_id, min(cost) AS med_cost
FROM medication
GROUP BY d_id) AS med
WHERE disease.d_id = patient.d_id
AND disease.d_id = med.d_id
Patient Disease
⨝
Medication
⨝
ᵞ
Patient
Disease
⨝
Medication
⨝ ᵞ
SQL join order
|P| < |D| < |M|
Query optimization - mixed sensitivity
D_ID
AGE
NAME
P_ID
END_DATE
START_DATE
PID
COMMENT
DOCTOR
T_ID
DOSAGE
END_TIME
START_TIME
M_ID
T_ID
COMMENT
DATE
TR_ID
G_ID
NAME
D_ID
COST
D_ID
NAME
M_ID
COMMENT
NAME
G_ID
Patient (P_)
Treatment Plan
(TP_)
Treatment
Record (TR_)
Disease (D_) Medication (M_)
Gene (G_)
SELECT p_name, d_name, med_cost
FROM patient, disease,
(SELECT d_id, min(cost) AS med_cost
FROM medication
GROUP BY d_id) AS med
WHERE disease.d_id = patient.d_id
AND disease.d_id = med.d_id
Patient Disease
⨝
Medication
⨝
ᵞ
Patient
Disease
⨝
Medication
⨝ ᵞ
SQL join order
Opaque join order
|P| < |D| < |M|
Query optimization - mixed sensitivity
D_ID
AGE
NAME
P_ID
END_DATE
START_DATE
PID
COMMENT
DOCTOR
T_ID
DOSAGE
END_TIME
START_TIME
M_ID
T_ID
COMMENT
DATE
TR_ID
G_ID
NAME
D_ID
COST
D_ID
NAME
M_ID
COMMENT
NAME
G_ID
Patient (P_)
Treatment Plan
(TP_)
Treatment
Record (TR_)
Disease (D_) Medication (M_)
Gene (G_)
SELECT p_name, d_name, med_cost
FROM patient, disease,
(SELECT d_id, min(cost) AS med_cost
FROM medication
GROUP BY d_id) AS med
WHERE disease.d_id = patient.d_id
AND disease.d_id = med.d_id
Patient Disease
⨝
Medication
⨝
ᵞ
Patient
Disease
⨝
Medication
⨝ ᵞ
SQL join order
Opaque join order
|P| < |D| < |M|
Evaluation setup
Evaluation setup
• Single machine experiments
– Intel Xeon E3-1280 v5, 4 cores, 64 GB RAM
– Intel SGX: 128 MB of enclave page cache (EPC)
– Hardware mode
Evaluation setup
• Single machine experiments
– Intel Xeon E3-1280 v5, 4 cores, 64 GB RAM
– Intel SGX: 128 MB of enclave page cache (EPC)
– Hardware mode
• Distributed experiments
– EC2: five r3.2xlarge instances, 8 cores, 61 GB RAM
– Simulation mode only
Evaluation
Evaluation
• How does Opaque compare to Spark SQL?
Evaluation
• How does Opaque compare to Spark SQL?
– Big Data Benchmark (BDB)
Evaluation
• How does Opaque compare to Spark SQL?
– Big Data Benchmark (BDB)
• Queries 1, 2, 3: filter, aggregation, join
Evaluation
• How does Opaque compare to Spark SQL?
– Big Data Benchmark (BDB)
• Queries 1, 2, 3: filter, aggregation, join
• 1 million records
Evaluation
• How does Opaque compare to Spark SQL?
– Big Data Benchmark (BDB)
• Queries 1, 2, 3: filter, aggregation, join
• 1 million records
• How does Opaque compare to state-of-the-art oblivious
systems?
Evaluation
• How does Opaque compare to Spark SQL?
– Big Data Benchmark (BDB)
• Queries 1, 2, 3: filter, aggregation, join
• 1 million records
• How does Opaque compare to state-of-the-art oblivious
systems?
– GraphSC (graph analytics)
Evaluation
• How does Opaque compare to Spark SQL?
– Big Data Benchmark (BDB)
• Queries 1, 2, 3: filter, aggregation, join
• 1 million records
• How does Opaque compare to state-of-the-art oblivious
systems?
– GraphSC (graph analytics)
• PageRank
Big Data Benchmark
(encryption mode)
Single machine
Big Data Benchmark
(encryption mode)Runtime(s)
0.01
0.1
1
10
100
Query number
Query 1 Query 2 Query 3
Spark SQL Opaque
Single machine
Big Data Benchmark
(encryption mode)Runtime(s)
0.01
0.1
1
10
100
Query number
Query 1 Query 2 Query 3
Spark SQL Opaque
Single machine
Big Data Benchmark
(encryption mode)Runtime(s)
0.01
0.1
1
10
100
Query number
Query 1 Query 2 Query 3
Spark SQL Opaque
Single machine
Big Data Benchmark
(encryption mode)Runtime(s)
0.01
0.1
1
10
100
Query number
Query 1 Query 2 Query 3
Spark SQL Opaque
DistributedSingle machine
Big Data Benchmark
(encryption mode)Runtime(s)
0.01
0.1
1
10
100
Query number
Query 1 Query 2 Query 3
Spark SQL Opaque
Runtime(s)
0.01
0.1
1
10
100
Query number
Query 1 Query 2 Query 3
Spark SQL Opaque
DistributedSingle machine
Big Data Benchmark
(encryption mode)Runtime(s)
0.01
0.1
1
10
100
Query number
Query 1 Query 2 Query 3
Spark SQL Opaque
Runtime(s)
0.01
0.1
1
10
100
Query number
Query 1 Query 2 Query 3
Spark SQL Opaque
DistributedSingle machine
Big Data Benchmark
(encryption mode)Runtime(s)
0.01
0.1
1
10
100
Query number
Query 1 Query 2 Query 3
Spark SQL Opaque
Runtime(s)
0.01
0.1
1
10
100
Query number
Query 1 Query 2 Query 3
Spark SQL Opaque
DistributedSingle machine
Big Data Benchmark
(encryption mode)Runtime(s)
0.01
0.1
1
10
100
Query number
Query 1 Query 2 Query 3
Spark SQL Opaque
Runtime(s)
0.01
0.1
1
10
100
Query number
Query 1 Query 2 Query 3
Spark SQL Opaque
Distributed
With very little cost, you will have data
encryption, authentication and
computation protection!
Single machine
Single machine Distributed
Big Data Benchmark
(oblivious mode)
Single machine Distributed
Big Data Benchmark
(oblivious mode)Runtime(s)
0.01
0.1
1
10
100
Query number
Query 1 Query 2 Query 3
Spark SQL Opaque
Single machine Distributed
Big Data Benchmark
(oblivious mode)Runtime(s)
0.01
0.1
1
10
100
Query number
Query 1 Query 2 Query 3
Spark SQL Opaque
Single machine Distributed
Big Data Benchmark
(oblivious mode)Runtime(s)
0.01
0.1
1
10
100
Query number
Query 1 Query 2 Query 3
Spark SQL Opaque
Runtime(s)
0.01
0.1
1
10
100
Query number
Query 1 Query 2 Query 3
Spark SQL Opaque
Single machine Distributed
Big Data Benchmark
(oblivious mode)Runtime(s)
0.01
0.1
1
10
100
Query number
Query 1 Query 2 Query 3
Spark SQL Opaque
Runtime(s)
0.01
0.1
1
10
100
Query number
Query 1 Query 2 Query 3
Spark SQL Opaque
Single machine Distributed
Big Data Benchmark
(oblivious mode)Runtime(s)
0.01
0.1
1
10
100
Query number
Query 1 Query 2 Query 3
Spark SQL Opaque
Runtime(s)
0.01
0.1
1
10
100
Query number
Query 1 Query 2 Query 3
Spark SQL Opaque
Single machine Distributed
Big Data Benchmark
(oblivious mode)Runtime(s)
0.01
0.1
1
10
100
Query number
Query 1 Query 2 Query 3
Spark SQL Opaque
PageRank: comparison with GraphSC
We have an NSDI 2017 paper!
Open source release
Open source release
• Available at github.com/ucbrise/opaque
Open source release
• Available at github.com/ucbrise/opaque
• Opaque is implemented as a Spark package
Open source release
• Available at github.com/ucbrise/opaque
• Opaque is implemented as a Spark package
• Features
Open source release
• Available at github.com/ucbrise/opaque
• Opaque is implemented as a Spark package
• Features
– Supports DataFrame select, filter, group by, join
Open source release
• Available at github.com/ucbrise/opaque
• Opaque is implemented as a Spark package
• Features
– Supports DataFrame select, filter, group by, join
– Allows users to specify DataFrames in encryption/
oblivious modes
Open source release
• Available at github.com/ucbrise/opaque
• Opaque is implemented as a Spark package
• Features
– Supports DataFrame select, filter, group by, join
– Allows users to specify DataFrames in encryption/
oblivious modes
• Automatic sensitivity propagation in mixed
sensitivity
Open source release
Open source release
• Extension
Open source release
• Extension
– More functionality requires rewriting operators in C++
Open source release
• Extension
– More functionality requires rewriting operators in C++
– No UDF support yet
Open source release
• Extension
– More functionality requires rewriting operators in C++
– No UDF support yet
– Possible solutions
Open source release
• Extension
– More functionality requires rewriting operators in C++
– No UDF support yet
– Possible solutions
• Automatically generate C++
Open source release
• Extension
– More functionality requires rewriting operators in C++
– No UDF support yet
– Possible solutions
• Automatically generate C++
• Run JVM in the enclave
Open source release
• Extension
– More functionality requires rewriting operators in C++
– No UDF support yet
– Possible solutions
• Automatically generate C++
• Run JVM in the enclave
• Deployment
Open source release
• Extension
– More functionality requires rewriting operators in C++
– No UDF support yet
– Possible solutions
• Automatically generate C++
• Run JVM in the enclave
• Deployment
– Master must be trusted
Open source release
• Extension
– More functionality requires rewriting operators in C++
– No UDF support yet
– Possible solutions
• Automatically generate C++
• Run JVM in the enclave
• Deployment
– Master must be trusted
– SGX available now on Skylake processors
Open source release
• Extension
– More functionality requires rewriting operators in C++
– No UDF support yet
– Possible solutions
• Automatically generate C++
• Run JVM in the enclave
• Deployment
– Master must be trusted
– SGX available now on Skylake processors
• Cloud providers have no support yet
Demo
Conclusion
Opaque is a secure distributed analytics platform
Opaque
SQL
Machine
Learning
Graph
Analytics
Try it out at github.com/ucbrise/opaque
Wenting Zheng - wzheng@eecs.berkeley.edu

Más contenido relacionado

La actualidad más candente

Mobility insights at Swisscom - Understanding collective mobility in Switzerland
Mobility insights at Swisscom - Understanding collective mobility in SwitzerlandMobility insights at Swisscom - Understanding collective mobility in Switzerland
Mobility insights at Swisscom - Understanding collective mobility in Switzerland
François Garillot
 
Extending Spark With Java Agent (handout)
Extending Spark With Java Agent (handout)Extending Spark With Java Agent (handout)
Extending Spark With Java Agent (handout)
Jaroslav Bachorik
 

La actualidad más candente (20)

Spark Summit EU talk by Jim Dowling
Spark Summit EU talk by Jim DowlingSpark Summit EU talk by Jim Dowling
Spark Summit EU talk by Jim Dowling
 
Apache Spark and Apache Ignite: Where Fast Data Meets the IoT with Denis Magda
Apache Spark and Apache Ignite: Where Fast Data Meets the IoT with Denis MagdaApache Spark and Apache Ignite: Where Fast Data Meets the IoT with Denis Magda
Apache Spark and Apache Ignite: Where Fast Data Meets the IoT with Denis Magda
 
Spark Summit EU talk by Jorg Schad
Spark Summit EU talk by Jorg SchadSpark Summit EU talk by Jorg Schad
Spark Summit EU talk by Jorg Schad
 
Mobility insights at Swisscom - Understanding collective mobility in Switzerland
Mobility insights at Swisscom - Understanding collective mobility in SwitzerlandMobility insights at Swisscom - Understanding collective mobility in Switzerland
Mobility insights at Swisscom - Understanding collective mobility in Switzerland
 
Extending Spark With Java Agent (handout)
Extending Spark With Java Agent (handout)Extending Spark With Java Agent (handout)
Extending Spark With Java Agent (handout)
 
Very Large Data Files, Object Stores, and Deep Learning—Lessons Learned While...
Very Large Data Files, Object Stores, and Deep Learning—Lessons Learned While...Very Large Data Files, Object Stores, and Deep Learning—Lessons Learned While...
Very Large Data Files, Object Stores, and Deep Learning—Lessons Learned While...
 
Getting Started with Apache Spark on Kubernetes
Getting Started with Apache Spark on KubernetesGetting Started with Apache Spark on Kubernetes
Getting Started with Apache Spark on Kubernetes
 
Kerberizing Spark: Spark Summit East talk by Abel Rincon and Jorge Lopez-Malla
Kerberizing Spark: Spark Summit East talk by Abel Rincon and Jorge Lopez-MallaKerberizing Spark: Spark Summit East talk by Abel Rincon and Jorge Lopez-Malla
Kerberizing Spark: Spark Summit East talk by Abel Rincon and Jorge Lopez-Malla
 
Fault Tolerance in Spark: Lessons Learned from Production: Spark Summit East ...
Fault Tolerance in Spark: Lessons Learned from Production: Spark Summit East ...Fault Tolerance in Spark: Lessons Learned from Production: Spark Summit East ...
Fault Tolerance in Spark: Lessons Learned from Production: Spark Summit East ...
 
Building production spark streaming applications
Building production spark streaming applicationsBuilding production spark streaming applications
Building production spark streaming applications
 
Productionizing Spark and the REST Job Server- Evan Chan
Productionizing Spark and the REST Job Server- Evan ChanProductionizing Spark and the REST Job Server- Evan Chan
Productionizing Spark and the REST Job Server- Evan Chan
 
Efficient State Management With Spark 2.0 And Scale-Out Databases
Efficient State Management With Spark 2.0 And Scale-Out DatabasesEfficient State Management With Spark 2.0 And Scale-Out Databases
Efficient State Management With Spark 2.0 And Scale-Out Databases
 
Homologous Apache Spark Clusters Using Nomad with Alex Dadgar
Homologous Apache Spark Clusters Using Nomad with Alex DadgarHomologous Apache Spark Clusters Using Nomad with Alex Dadgar
Homologous Apache Spark Clusters Using Nomad with Alex Dadgar
 
Next CERN Accelerator Logging Service with Jakub Wozniak
Next CERN Accelerator Logging Service with Jakub WozniakNext CERN Accelerator Logging Service with Jakub Wozniak
Next CERN Accelerator Logging Service with Jakub Wozniak
 
[Spark Summit EU 2017] Apache spark streaming + kafka 0.10 an integration story
[Spark Summit EU 2017] Apache spark streaming + kafka 0.10  an integration story[Spark Summit EU 2017] Apache spark streaming + kafka 0.10  an integration story
[Spark Summit EU 2017] Apache spark streaming + kafka 0.10 an integration story
 
Spark Summit EU talk by William Benton
Spark Summit EU talk by William BentonSpark Summit EU talk by William Benton
Spark Summit EU talk by William Benton
 
Spark Summit EU talk by Steve Loughran
Spark Summit EU talk by Steve LoughranSpark Summit EU talk by Steve Loughran
Spark Summit EU talk by Steve Loughran
 
Apache Spark Overview
Apache Spark OverviewApache Spark Overview
Apache Spark Overview
 
Scaling Data Analytics Workloads on Databricks
Scaling Data Analytics Workloads on DatabricksScaling Data Analytics Workloads on Databricks
Scaling Data Analytics Workloads on Databricks
 
Time Series Analytics with Spark: Spark Summit East talk by Simon Ouellette
Time Series Analytics with Spark: Spark Summit East talk by Simon OuelletteTime Series Analytics with Spark: Spark Summit East talk by Simon Ouellette
Time Series Analytics with Spark: Spark Summit East talk by Simon Ouellette
 

Destacado

Cost-Based Optimizer Framework for Spark SQL: Spark Summit East talk by Ron H...
Cost-Based Optimizer Framework for Spark SQL: Spark Summit East talk by Ron H...Cost-Based Optimizer Framework for Spark SQL: Spark Summit East talk by Ron H...
Cost-Based Optimizer Framework for Spark SQL: Spark Summit East talk by Ron H...
Spark Summit
 
Analysis Andromeda Galaxy Data Using Spark: Spark Summit East Talk by Jose Na...
Analysis Andromeda Galaxy Data Using Spark: Spark Summit East Talk by Jose Na...Analysis Andromeda Galaxy Data Using Spark: Spark Summit East Talk by Jose Na...
Analysis Andromeda Galaxy Data Using Spark: Spark Summit East Talk by Jose Na...
Spark Summit
 
Fighting Cybercrime: A Joint Task Force of Real-Time Data and Human Analytics...
Fighting Cybercrime: A Joint Task Force of Real-Time Data and Human Analytics...Fighting Cybercrime: A Joint Task Force of Real-Time Data and Human Analytics...
Fighting Cybercrime: A Joint Task Force of Real-Time Data and Human Analytics...
Spark Summit
 

Destacado (20)

Building Deep Learning Powered Big Data: Spark Summit East talk by Jiao Wang ...
Building Deep Learning Powered Big Data: Spark Summit East talk by Jiao Wang ...Building Deep Learning Powered Big Data: Spark Summit East talk by Jiao Wang ...
Building Deep Learning Powered Big Data: Spark Summit East talk by Jiao Wang ...
 
BigDL: A Distributed Deep Learning Library on Spark: Spark Summit East talk b...
BigDL: A Distributed Deep Learning Library on Spark: Spark Summit East talk b...BigDL: A Distributed Deep Learning Library on Spark: Spark Summit East talk b...
BigDL: A Distributed Deep Learning Library on Spark: Spark Summit East talk b...
 
Trends for Big Data and Apache Spark in 2017 by Matei Zaharia
Trends for Big Data and Apache Spark in 2017 by Matei ZahariaTrends for Big Data and Apache Spark in 2017 by Matei Zaharia
Trends for Big Data and Apache Spark in 2017 by Matei Zaharia
 
RISELab: Enabling Intelligent Real-Time Decisions keynote by Ion Stoica
RISELab: Enabling Intelligent Real-Time Decisions keynote by Ion StoicaRISELab: Enabling Intelligent Real-Time Decisions keynote by Ion Stoica
RISELab: Enabling Intelligent Real-Time Decisions keynote by Ion Stoica
 
Spark + Flashblade: Spark Summit East talk by Brian Gold
Spark + Flashblade: Spark Summit East talk by Brian GoldSpark + Flashblade: Spark Summit East talk by Brian Gold
Spark + Flashblade: Spark Summit East talk by Brian Gold
 
Ernest: Efficient Performance Prediction for Advanced Analytics on Apache Spa...
Ernest: Efficient Performance Prediction for Advanced Analytics on Apache Spa...Ernest: Efficient Performance Prediction for Advanced Analytics on Apache Spa...
Ernest: Efficient Performance Prediction for Advanced Analytics on Apache Spa...
 
Building a Real-Time Fraud Prevention Engine Using Open Source (Big Data) Sof...
Building a Real-Time Fraud Prevention Engine Using Open Source (Big Data) Sof...Building a Real-Time Fraud Prevention Engine Using Open Source (Big Data) Sof...
Building a Real-Time Fraud Prevention Engine Using Open Source (Big Data) Sof...
 
Migrating from Redshift to Spark at Stitch Fix: Spark Summit East talk by Sky...
Migrating from Redshift to Spark at Stitch Fix: Spark Summit East talk by Sky...Migrating from Redshift to Spark at Stitch Fix: Spark Summit East talk by Sky...
Migrating from Redshift to Spark at Stitch Fix: Spark Summit East talk by Sky...
 
Analytics at the Real-Time Speed of Business: Spark Summit East talk by Manis...
Analytics at the Real-Time Speed of Business: Spark Summit East talk by Manis...Analytics at the Real-Time Speed of Business: Spark Summit East talk by Manis...
Analytics at the Real-Time Speed of Business: Spark Summit East talk by Manis...
 
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...
 
Horizontally Scalable Relational Databases with Spark: Spark Summit East talk...
Horizontally Scalable Relational Databases with Spark: Spark Summit East talk...Horizontally Scalable Relational Databases with Spark: Spark Summit East talk...
Horizontally Scalable Relational Databases with Spark: Spark Summit East talk...
 
Making Structured Streaming Ready for Production
Making Structured Streaming Ready for ProductionMaking Structured Streaming Ready for Production
Making Structured Streaming Ready for Production
 
Drizzle—Low Latency Execution for Apache Spark: Spark Summit East talk by Shi...
Drizzle—Low Latency Execution for Apache Spark: Spark Summit East talk by Shi...Drizzle—Low Latency Execution for Apache Spark: Spark Summit East talk by Shi...
Drizzle—Low Latency Execution for Apache Spark: Spark Summit East talk by Shi...
 
Time-evolving Graph Processing on Commodity Clusters: Spark Summit East talk ...
Time-evolving Graph Processing on Commodity Clusters: Spark Summit East talk ...Time-evolving Graph Processing on Commodity Clusters: Spark Summit East talk ...
Time-evolving Graph Processing on Commodity Clusters: Spark Summit East talk ...
 
ModelDB: A System to Manage Machine Learning Models: Spark Summit East talk b...
ModelDB: A System to Manage Machine Learning Models: Spark Summit East talk b...ModelDB: A System to Manage Machine Learning Models: Spark Summit East talk b...
ModelDB: A System to Manage Machine Learning Models: Spark Summit East talk b...
 
Virtualizing Analytics with Apache Spark: Keynote by Arsalan Tavakoli
Virtualizing Analytics with Apache Spark: Keynote by Arsalan Tavakoli Virtualizing Analytics with Apache Spark: Keynote by Arsalan Tavakoli
Virtualizing Analytics with Apache Spark: Keynote by Arsalan Tavakoli
 
Cost-Based Optimizer Framework for Spark SQL: Spark Summit East talk by Ron H...
Cost-Based Optimizer Framework for Spark SQL: Spark Summit East talk by Ron H...Cost-Based Optimizer Framework for Spark SQL: Spark Summit East talk by Ron H...
Cost-Based Optimizer Framework for Spark SQL: Spark Summit East talk by Ron H...
 
Analysis Andromeda Galaxy Data Using Spark: Spark Summit East Talk by Jose Na...
Analysis Andromeda Galaxy Data Using Spark: Spark Summit East Talk by Jose Na...Analysis Andromeda Galaxy Data Using Spark: Spark Summit East Talk by Jose Na...
Analysis Andromeda Galaxy Data Using Spark: Spark Summit East Talk by Jose Na...
 
A New “Sparkitecture” for Modernizing your Data Warehouse: Spark Summit East ...
A New “Sparkitecture” for Modernizing your Data Warehouse: Spark Summit East ...A New “Sparkitecture” for Modernizing your Data Warehouse: Spark Summit East ...
A New “Sparkitecture” for Modernizing your Data Warehouse: Spark Summit East ...
 
Fighting Cybercrime: A Joint Task Force of Real-Time Data and Human Analytics...
Fighting Cybercrime: A Joint Task Force of Real-Time Data and Human Analytics...Fighting Cybercrime: A Joint Task Force of Real-Time Data and Human Analytics...
Fighting Cybercrime: A Joint Task Force of Real-Time Data and Human Analytics...
 

Similar a Opaque: A Data Analytics Platform with Strong Security: Spark Summit East talk by Wenting Zheng

Performance Scenario: Diagnosing and resolving sudden slow down on two node RAC
Performance Scenario: Diagnosing and resolving sudden slow down on two node RACPerformance Scenario: Diagnosing and resolving sudden slow down on two node RAC
Performance Scenario: Diagnosing and resolving sudden slow down on two node RAC
Kristofferson A
 
Oracle Basics and Architecture
Oracle Basics and ArchitectureOracle Basics and Architecture
Oracle Basics and Architecture
Sidney Chen
 

Similar a Opaque: A Data Analytics Platform with Strong Security: Spark Summit East talk by Wenting Zheng (20)

Scaling ingest pipelines with high performance computing principles - Rajiv K...
Scaling ingest pipelines with high performance computing principles - Rajiv K...Scaling ingest pipelines with high performance computing principles - Rajiv K...
Scaling ingest pipelines with high performance computing principles - Rajiv K...
 
Drilling Cyber Security Data With Apache Drill
Drilling Cyber Security Data With Apache DrillDrilling Cyber Security Data With Apache Drill
Drilling Cyber Security Data With Apache Drill
 
z/OS Authorized Code Scanner
z/OS Authorized Code Scannerz/OS Authorized Code Scanner
z/OS Authorized Code Scanner
 
How to Connect SystemVerilog with Octave
How to Connect SystemVerilog with OctaveHow to Connect SystemVerilog with Octave
How to Connect SystemVerilog with Octave
 
Ansible benelux meetup - Amsterdam 27-5-2015
Ansible benelux meetup - Amsterdam 27-5-2015Ansible benelux meetup - Amsterdam 27-5-2015
Ansible benelux meetup - Amsterdam 27-5-2015
 
Concurrency
ConcurrencyConcurrency
Concurrency
 
The Pushdown of Everything by Stephan Kessler and Santiago Mola
The Pushdown of Everything by Stephan Kessler and Santiago MolaThe Pushdown of Everything by Stephan Kessler and Santiago Mola
The Pushdown of Everything by Stephan Kessler and Santiago Mola
 
Productizing Structured Streaming Jobs
Productizing Structured Streaming JobsProductizing Structured Streaming Jobs
Productizing Structured Streaming Jobs
 
Dissecting Open Source Cloud Evolution: An OpenStack Case Study
Dissecting Open Source Cloud Evolution: An OpenStack Case StudyDissecting Open Source Cloud Evolution: An OpenStack Case Study
Dissecting Open Source Cloud Evolution: An OpenStack Case Study
 
Genji: Framework for building resilient near-realtime data pipelines
Genji: Framework for building resilient near-realtime data pipelinesGenji: Framework for building resilient near-realtime data pipelines
Genji: Framework for building resilient near-realtime data pipelines
 
Performance Scenario: Diagnosing and resolving sudden slow down on two node RAC
Performance Scenario: Diagnosing and resolving sudden slow down on two node RACPerformance Scenario: Diagnosing and resolving sudden slow down on two node RAC
Performance Scenario: Diagnosing and resolving sudden slow down on two node RAC
 
Professional SQL for Developers
Professional SQL for DevelopersProfessional SQL for Developers
Professional SQL for Developers
 
Sista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performanceSista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performance
 
Reactive Programming in Java 8 with Rx-Java
Reactive Programming in Java 8 with Rx-JavaReactive Programming in Java 8 with Rx-Java
Reactive Programming in Java 8 with Rx-Java
 
ShmooCON 2009 : Re-playing with (Blind) SQL Injection
ShmooCON 2009 : Re-playing with (Blind) SQL InjectionShmooCON 2009 : Re-playing with (Blind) SQL Injection
ShmooCON 2009 : Re-playing with (Blind) SQL Injection
 
Apache Spark Performance Troubleshooting at Scale, Challenges, Tools, and Met...
Apache Spark Performance Troubleshooting at Scale, Challenges, Tools, and Met...Apache Spark Performance Troubleshooting at Scale, Challenges, Tools, and Met...
Apache Spark Performance Troubleshooting at Scale, Challenges, Tools, and Met...
 
Oracle Basics and Architecture
Oracle Basics and ArchitectureOracle Basics and Architecture
Oracle Basics and Architecture
 
CS6270 Virtual Machines - Java Virtual Machine Architecture and APIs
CS6270 Virtual Machines - Java Virtual Machine Architecture and APIsCS6270 Virtual Machines - Java Virtual Machine Architecture and APIs
CS6270 Virtual Machines - Java Virtual Machine Architecture and APIs
 
GraphConnect Europe 2016 - Moving Graphs to Production at Scale - Ian Robinson
GraphConnect Europe 2016 - Moving Graphs to Production at Scale - Ian RobinsonGraphConnect Europe 2016 - Moving Graphs to Production at Scale - Ian Robinson
GraphConnect Europe 2016 - Moving Graphs to Production at Scale - Ian Robinson
 
Как разработать DBFW с нуля
Как разработать DBFW с нуляКак разработать DBFW с нуля
Как разработать DBFW с нуля
 

Más de Spark Summit

Apache Spark Structured Streaming Helps Smart Manufacturing with Xiaochang Wu
Apache Spark Structured Streaming Helps Smart Manufacturing with  Xiaochang WuApache Spark Structured Streaming Helps Smart Manufacturing with  Xiaochang Wu
Apache Spark Structured Streaming Helps Smart Manufacturing with Xiaochang Wu
Spark Summit
 
Improving Traffic Prediction Using Weather Data with Ramya Raghavendra
Improving Traffic Prediction Using Weather Data  with Ramya RaghavendraImproving Traffic Prediction Using Weather Data  with Ramya Raghavendra
Improving Traffic Prediction Using Weather Data with Ramya Raghavendra
Spark Summit
 
MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...
MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...
MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...
Spark Summit
 
Improving Traffic Prediction Using Weather Datawith Ramya Raghavendra
Improving Traffic Prediction Using Weather Datawith Ramya RaghavendraImproving Traffic Prediction Using Weather Datawith Ramya Raghavendra
Improving Traffic Prediction Using Weather Datawith Ramya Raghavendra
Spark Summit
 
Deduplication and Author-Disambiguation of Streaming Records via Supervised M...
Deduplication and Author-Disambiguation of Streaming Records via Supervised M...Deduplication and Author-Disambiguation of Streaming Records via Supervised M...
Deduplication and Author-Disambiguation of Streaming Records via Supervised M...
Spark Summit
 
MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...
MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...
MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...
Spark Summit
 
Indicium: Interactive Querying at Scale Using Apache Spark, Zeppelin, and Spa...
Indicium: Interactive Querying at Scale Using Apache Spark, Zeppelin, and Spa...Indicium: Interactive Querying at Scale Using Apache Spark, Zeppelin, and Spa...
Indicium: Interactive Querying at Scale Using Apache Spark, Zeppelin, and Spa...
Spark Summit
 

Más de Spark Summit (20)

FPGA-Based Acceleration Architecture for Spark SQL Qi Xie and Quanfu Wang
FPGA-Based Acceleration Architecture for Spark SQL Qi Xie and Quanfu Wang FPGA-Based Acceleration Architecture for Spark SQL Qi Xie and Quanfu Wang
FPGA-Based Acceleration Architecture for Spark SQL Qi Xie and Quanfu Wang
 
VEGAS: The Missing Matplotlib for Scala/Apache Spark with DB Tsai and Roger M...
VEGAS: The Missing Matplotlib for Scala/Apache Spark with DB Tsai and Roger M...VEGAS: The Missing Matplotlib for Scala/Apache Spark with DB Tsai and Roger M...
VEGAS: The Missing Matplotlib for Scala/Apache Spark with DB Tsai and Roger M...
 
Apache Spark Structured Streaming Helps Smart Manufacturing with Xiaochang Wu
Apache Spark Structured Streaming Helps Smart Manufacturing with  Xiaochang WuApache Spark Structured Streaming Helps Smart Manufacturing with  Xiaochang Wu
Apache Spark Structured Streaming Helps Smart Manufacturing with Xiaochang Wu
 
Improving Traffic Prediction Using Weather Data with Ramya Raghavendra
Improving Traffic Prediction Using Weather Data  with Ramya RaghavendraImproving Traffic Prediction Using Weather Data  with Ramya Raghavendra
Improving Traffic Prediction Using Weather Data with Ramya Raghavendra
 
A Tale of Two Graph Frameworks on Spark: GraphFrames and Tinkerpop OLAP Artem...
A Tale of Two Graph Frameworks on Spark: GraphFrames and Tinkerpop OLAP Artem...A Tale of Two Graph Frameworks on Spark: GraphFrames and Tinkerpop OLAP Artem...
A Tale of Two Graph Frameworks on Spark: GraphFrames and Tinkerpop OLAP Artem...
 
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark Marcin ...
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark Marcin ...No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark Marcin ...
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark Marcin ...
 
Apache Spark and Tensorflow as a Service with Jim Dowling
Apache Spark and Tensorflow as a Service with Jim DowlingApache Spark and Tensorflow as a Service with Jim Dowling
Apache Spark and Tensorflow as a Service with Jim Dowling
 
Apache Spark and Tensorflow as a Service with Jim Dowling
Apache Spark and Tensorflow as a Service with Jim DowlingApache Spark and Tensorflow as a Service with Jim Dowling
Apache Spark and Tensorflow as a Service with Jim Dowling
 
MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...
MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...
MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...
 
Powering a Startup with Apache Spark with Kevin Kim
Powering a Startup with Apache Spark with Kevin KimPowering a Startup with Apache Spark with Kevin Kim
Powering a Startup with Apache Spark with Kevin Kim
 
Improving Traffic Prediction Using Weather Datawith Ramya Raghavendra
Improving Traffic Prediction Using Weather Datawith Ramya RaghavendraImproving Traffic Prediction Using Weather Datawith Ramya Raghavendra
Improving Traffic Prediction Using Weather Datawith Ramya Raghavendra
 
Hiding Apache Spark Complexity for Fast Prototyping of Big Data Applications—...
Hiding Apache Spark Complexity for Fast Prototyping of Big Data Applications—...Hiding Apache Spark Complexity for Fast Prototyping of Big Data Applications—...
Hiding Apache Spark Complexity for Fast Prototyping of Big Data Applications—...
 
How Nielsen Utilized Databricks for Large-Scale Research and Development with...
How Nielsen Utilized Databricks for Large-Scale Research and Development with...How Nielsen Utilized Databricks for Large-Scale Research and Development with...
How Nielsen Utilized Databricks for Large-Scale Research and Development with...
 
Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...
Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...
Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...
 
Goal Based Data Production with Sim Simeonov
Goal Based Data Production with Sim SimeonovGoal Based Data Production with Sim Simeonov
Goal Based Data Production with Sim Simeonov
 
Preventing Revenue Leakage and Monitoring Distributed Systems with Machine Le...
Preventing Revenue Leakage and Monitoring Distributed Systems with Machine Le...Preventing Revenue Leakage and Monitoring Distributed Systems with Machine Le...
Preventing Revenue Leakage and Monitoring Distributed Systems with Machine Le...
 
Getting Ready to Use Redis with Apache Spark with Dvir Volk
Getting Ready to Use Redis with Apache Spark with Dvir VolkGetting Ready to Use Redis with Apache Spark with Dvir Volk
Getting Ready to Use Redis with Apache Spark with Dvir Volk
 
Deduplication and Author-Disambiguation of Streaming Records via Supervised M...
Deduplication and Author-Disambiguation of Streaming Records via Supervised M...Deduplication and Author-Disambiguation of Streaming Records via Supervised M...
Deduplication and Author-Disambiguation of Streaming Records via Supervised M...
 
MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...
MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...
MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...
 
Indicium: Interactive Querying at Scale Using Apache Spark, Zeppelin, and Spa...
Indicium: Interactive Querying at Scale Using Apache Spark, Zeppelin, and Spa...Indicium: Interactive Querying at Scale Using Apache Spark, Zeppelin, and Spa...
Indicium: Interactive Querying at Scale Using Apache Spark, Zeppelin, and Spa...
 

Último

Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
nirzagarg
 
Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...
gajnagarg
 
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
gajnagarg
 
Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...
Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...
Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...
Klinik kandungan
 
Jodhpur Park | Call Girls in Kolkata Phone No 8005736733 Elite Escort Service...
Jodhpur Park | Call Girls in Kolkata Phone No 8005736733 Elite Escort Service...Jodhpur Park | Call Girls in Kolkata Phone No 8005736733 Elite Escort Service...
Jodhpur Park | Call Girls in Kolkata Phone No 8005736733 Elite Escort Service...
HyderabadDolls
 
Sealdah % High Class Call Girls Kolkata - 450+ Call Girl Cash Payment 8005736...
Sealdah % High Class Call Girls Kolkata - 450+ Call Girl Cash Payment 8005736...Sealdah % High Class Call Girls Kolkata - 450+ Call Girl Cash Payment 8005736...
Sealdah % High Class Call Girls Kolkata - 450+ Call Girl Cash Payment 8005736...
HyderabadDolls
 
如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样
如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样
如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样
wsppdmt
 
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi ArabiaIn Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
ahmedjiabur940
 
Abortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get CytotecAbortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Riyadh +966572737505 get cytotec
 

Último (20)

20240412-SmartCityIndex-2024-Full-Report.pdf
20240412-SmartCityIndex-2024-Full-Report.pdf20240412-SmartCityIndex-2024-Full-Report.pdf
20240412-SmartCityIndex-2024-Full-Report.pdf
 
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
 
Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...
 
High Profile Call Girls Service in Jalore { 9332606886 } VVIP NISHA Call Girl...
High Profile Call Girls Service in Jalore { 9332606886 } VVIP NISHA Call Girl...High Profile Call Girls Service in Jalore { 9332606886 } VVIP NISHA Call Girl...
High Profile Call Girls Service in Jalore { 9332606886 } VVIP NISHA Call Girl...
 
RESEARCH-FINAL-DEFENSE-PPT-TEMPLATE.pptx
RESEARCH-FINAL-DEFENSE-PPT-TEMPLATE.pptxRESEARCH-FINAL-DEFENSE-PPT-TEMPLATE.pptx
RESEARCH-FINAL-DEFENSE-PPT-TEMPLATE.pptx
 
Ranking and Scoring Exercises for Research
Ranking and Scoring Exercises for ResearchRanking and Scoring Exercises for Research
Ranking and Scoring Exercises for Research
 
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
 
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
 
Top Call Girls in Balaghat 9332606886Call Girls Advance Cash On Delivery Ser...
Top Call Girls in Balaghat  9332606886Call Girls Advance Cash On Delivery Ser...Top Call Girls in Balaghat  9332606886Call Girls Advance Cash On Delivery Ser...
Top Call Girls in Balaghat 9332606886Call Girls Advance Cash On Delivery Ser...
 
Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...
Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...
Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...
 
Dubai Call Girls Peeing O525547819 Call Girls Dubai
Dubai Call Girls Peeing O525547819 Call Girls DubaiDubai Call Girls Peeing O525547819 Call Girls Dubai
Dubai Call Girls Peeing O525547819 Call Girls Dubai
 
Jodhpur Park | Call Girls in Kolkata Phone No 8005736733 Elite Escort Service...
Jodhpur Park | Call Girls in Kolkata Phone No 8005736733 Elite Escort Service...Jodhpur Park | Call Girls in Kolkata Phone No 8005736733 Elite Escort Service...
Jodhpur Park | Call Girls in Kolkata Phone No 8005736733 Elite Escort Service...
 
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With Orange
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With OrangePredicting HDB Resale Prices - Conducting Linear Regression Analysis With Orange
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With Orange
 
Sealdah % High Class Call Girls Kolkata - 450+ Call Girl Cash Payment 8005736...
Sealdah % High Class Call Girls Kolkata - 450+ Call Girl Cash Payment 8005736...Sealdah % High Class Call Girls Kolkata - 450+ Call Girl Cash Payment 8005736...
Sealdah % High Class Call Girls Kolkata - 450+ Call Girl Cash Payment 8005736...
 
TrafficWave Generator Will Instantly drive targeted and engaging traffic back...
TrafficWave Generator Will Instantly drive targeted and engaging traffic back...TrafficWave Generator Will Instantly drive targeted and engaging traffic back...
TrafficWave Generator Will Instantly drive targeted and engaging traffic back...
 
如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样
如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样
如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样
 
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi ArabiaIn Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
 
Abortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get CytotecAbortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get Cytotec
 
Kings of Saudi Arabia, information about them
Kings of Saudi Arabia, information about themKings of Saudi Arabia, information about them
Kings of Saudi Arabia, information about them
 
Gulbai Tekra * Cheap Call Girls In Ahmedabad Phone No 8005736733 Elite Escort...
Gulbai Tekra * Cheap Call Girls In Ahmedabad Phone No 8005736733 Elite Escort...Gulbai Tekra * Cheap Call Girls In Ahmedabad Phone No 8005736733 Elite Escort...
Gulbai Tekra * Cheap Call Girls In Ahmedabad Phone No 8005736733 Elite Escort...
 

Opaque: A Data Analytics Platform with Strong Security: Spark Summit East talk by Wenting Zheng