SlideShare a Scribd company logo
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Mul@tenant 
Search 
JDD 
2014, 
Krakow 
-­‐ 
PL 
Pablo 
Barros 
Applica@ons 
Architect 
October 
14, 
2014
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
• The 
opinions 
and 
views 
expressed 
in 
this 
talk 
are 
my 
own, 
and 
do 
not 
necessarily 
reflect 
the 
opinions 
or 
views 
of 
my 
employer. 
3
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
About 
me 
4
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
About 
me 
5
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Giveaway 
• Elas@csearch 
Server 
– 
Second 
Edi@on 
– By 
Rafal 
Kuc 
6
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Agenda 
Key 
Concepts 
and 
PiUalls 
of 
Mul@tenancy 
Designing 
the 
Search 
Index 
Defining 
the 
Cluster 
Topology 
Integra@ng 
with 
your 
Applica@on 
Q&A 
7 
1 
2 
3 
4 
5
Overview 
Key 
Concepts 
and 
Pi>alls 
of 
MulCtenant 
Search 
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
8
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Defining 
Mul@tenancy 
“Single 
so^ware 
instance 
serving 
mul@ple 
customers.” 
9
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Benefits 
• Sharing 
of 
Resources 
• Lower 
Costs 
• Easier 
Horizontal 
Scaling 
• Quicker 
onboarding 
of 
new 
Customers 
• Data 
Aggrega@on 
• Simpler 
Release 
Processes 
• “Green” 
10
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
PiUalls 
& 
Risks 
• Resource 
Sharing 
Limits 
• Requires 
more 
Customiza@on 
capabili@es 
• Higher 
Complexity 
• Data 
Security 
11
Search 
Engine 
Search 
EngiSneea 
Hub/Tribe 
Node 
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Topology 
12 
Your 
Applica@on 
rch 
Cluster 
1..N 
Read/Write 
Read
Designing 
the 
Search 
Index 
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
13
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Index 
Logical 
Granularity 
14 
vs.
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Shared 
Indices 
• Schema-­‐less 
Index 
• Pros 
– True 
Global 
search 
– Intermixed 
Results 
across 
Customers/En@@es 
• Cons 
– Cross 
Tenant 
Data 
Security 
– Weaker 
data 
separa@on 
– Index 
corrup@on 
can 
affect 
en@re 
Search 
– Ability 
of 
indexing 
data 
in 
parallel 
diminished 
15
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Dedicated 
Indices 
• Pros 
– Bejer 
data 
separa@on 
– More 
modular/portable 
– Bejer 
parallel 
indexing 
capabili@es 
• Cons 
– More 
storage 
– Global 
search 
is 
more 
limited 
• However, 
some 
search 
engines 
allow 
searching 
across 
indexes 
and 
even 
across 
clusters 
(Elas@csearch 
Tribe 
Node) 
16
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Indexing 
Process 
& 
Storage 
17
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Indexing 
Process 
& 
Storage 
18 
Token 
Pointer 
Droid 
1, 
2, 
3 
Look 
2, 
3 
Rain 
1 
Doc 
1: 
… 
Doc 
2: 
… 
Doc 
3: 
…
Indexing 
with 
Storage 
Enabled 
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
“total”: 2,! 
“hits”: [! 
{! 
!“id”: 1,! 
!“text”: “These are not the <b>droids</b> you are looking for.”,! 
!“date”: “2014/10/8”! 
},! 
{! 
!“id”: 2,! 
!“text”: “However, those are the <b>droids</b> you are looking for.”,! 
!“date”: “2014/10/8”! 
} ]! 
19
Indexing 
with 
Storage 
Disabled 
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
! 
“total”: 2,! 
“hits”: [! 
{! 
!“id”: 1,! 
},! 
{! 
!“id”: 2,! 
} ]! 
20
Storing 
and 
Retrieving 
Original 
Indexed 
Data 
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
21 
Full 
Document 
IDs 
Only 
Pros 
• Avoid 
hiong 
database 
on 
your 
applica@on 
• Snippet 
highligh@ng 
• Storage 
on 
Search 
Engine 
file 
system 
is 
light 
• Small 
response 
payload 
Cons 
• Extra 
storage 
on 
Search 
Engine 
file 
system 
• Access 
control 
needs 
to 
be 
built 
in 
the 
index 
• Reliance 
on 
database 
for 
reading 
data 
to 
show 
users
1 
0..* 
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Parent-­‐child 
Rela@onships 
• Defines 
1-­‐to-­‐many 
rela@onship 
between 
entries 
in 
different 
indices 
• Convenient 
when 
pushing 
rela@onal 
data 
into 
Index 
• Parent 
can 
be 
updated 
without 
re-­‐indexing 
children 
22 
Customer 
Order
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Mul@ple 
Languages 
• Leverage 
language 
auto-­‐detec@on 
• Leverage 
stop 
words 
• Limit 
amount 
of 
stemming 
• Op@on: 
– Single 
entry 
in 
mul@ple 
languages 
• Merge 
value 
in 
different 
languages 
into 
single 
field 
• Pro: 
Simple 
implementa@on. 
Search 
can 
be 
performed 
in 
any 
language 
• Con: 
Match 
might 
include 
homonym 
in 
other 
languages 
23
Defining 
the 
Search 
Cluster 
Topology 
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
24
Node 
2 
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Shards 
25 
Node 
1 
1 
2 
3 
4 
5
Node 
2 
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Replicas 
26 
Node 
1 
1 
2 
3 
4R 
5R 
4 
5 
1R 
2R 
3R
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Cluster 
• Approach 
depends 
on 
what 
your 
framework 
has 
to 
offer 
• Elas@csearch 
provides 
a 
lot 
of 
support 
out 
of 
the 
box 
• Considera@ons: 
– Cluster 
Segmenta@on 
(Few 
Smaller 
vs 
Single 
Large?) 
– Geographical 
Distribu@on 
– Searching 
across 
Clusters 
– Write/Read 
Ra@o 
27
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Hub 
• Aware 
of 
All 
Clusters 
• Maintains 
map 
of 
Tenant 
-­‐> 
Cluster 
• Serves 
as 
discovery 
mechanism 
for 
the 
Client 
Applica@on 
• Able 
to 
create/pause/move/delete 
Tenants 
28
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Hub 
Tenant 
Discovery 
Service 
29
Integra@ng 
with 
your 
Applica@on 
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
30
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Indexing 
vs 
Querying 
• Expected 
load 
on 
wri@ng/reads 
• Depends 
on 
Problem 
Domain 
of 
Client 
Applica@on 
• Writes 
are 
expensive! 
– Specially 
if 
not 
done 
in 
bulk 
• Reads 
are 
fairly 
cheap 
31
Ini@al 
Data 
Load/Full 
Re-­‐index 
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
• Perform 
Ac@ons 
in 
Bulk 
– Minimize 
overall 
number 
of 
Lucene 
Commits 
• Consider 
enabling 
External 
“Versioning” 
– Safely 
parallelize 
indexing 
requests 
• Keep 
track 
of 
documents 
that 
failed 
to 
index 
32
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Incremental 
Indexing 
33
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Incremental 
Indexing 
• Monitor 
Indexing 
requests 
delay 
• Message 
customers 
accordingly 
– i.e. 
Search 
Results 
might 
not 
include 
recently 
updated 
entries.
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Disaster 
Recovery 
• Take 
advantage 
of 
what 
your 
Framework 
offers 
you 
– i.e. 
Replica@on 
in 
Elas@c 
Search 
• Nightly 
Backups 
+ 
Replay 
of 
changes 
since 
Backup 
crea@on 
• Avoid 
star@ng 
from 
scratch! 
35
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Final 
Thoughts 
• Recent 
Open-­‐source 
Tooling 
(*cough* 
Elas%csearch) 
makes 
it 
easy 
• Consider 
Carefully: 
– Design 
and 
granularity 
of 
your 
tenant 
in 
the 
Search 
engine 
– Define 
En@@es 
and 
their 
Rela@onships 
– Sharding 
and 
Replica@on 
Schemes 
– Clustering 
Distribu@on 
• i.e. 
per 
applica@on 
Installa@on, 
geographically, 
etc. 
– High 
Availability 
Mechanisms 
36
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Q&A 
Thank 
you!
Copyright 
© 
2014 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
38
JDD2014: Multitenant Search - Pablo Barros

More Related Content

What's hot

Bringing it All Together: Apache Metron (Incubating) as a Case Study of a Mod...
Bringing it All Together: Apache Metron (Incubating) as a Case Study of a Mod...Bringing it All Together: Apache Metron (Incubating) as a Case Study of a Mod...
Bringing it All Together: Apache Metron (Incubating) as a Case Study of a Mod...
DataWorks Summit
 
Enabling a hardware accelerated deep learning data science experience for Apa...
Enabling a hardware accelerated deep learning data science experience for Apa...Enabling a hardware accelerated deep learning data science experience for Apa...
Enabling a hardware accelerated deep learning data science experience for Apa...
DataWorks Summit
 
Data Governance - Atlas 7.12.2015
Data Governance - Atlas 7.12.2015Data Governance - Atlas 7.12.2015
Data Governance - Atlas 7.12.2015
Hortonworks
 
HAWQ Meets Hive - Querying Unmanaged Data
HAWQ Meets Hive - Querying Unmanaged DataHAWQ Meets Hive - Querying Unmanaged Data
HAWQ Meets Hive - Querying Unmanaged Data
DataWorks Summit
 
Druid: Sub-Second OLAP queries over Petabytes of Streaming Data
Druid: Sub-Second OLAP queries over Petabytes of Streaming DataDruid: Sub-Second OLAP queries over Petabytes of Streaming Data
Druid: Sub-Second OLAP queries over Petabytes of Streaming Data
DataWorks Summit
 
Deep Learning using Spark and DL4J for fun and profit
Deep Learning using Spark and DL4J for fun and profitDeep Learning using Spark and DL4J for fun and profit
Deep Learning using Spark and DL4J for fun and profit
DataWorks Summit/Hadoop Summit
 
How to Achieve a Self-Service and Secure Multitenant Data Lake in a Large Com...
How to Achieve a Self-Service and Secure Multitenant Data Lake in a Large Com...How to Achieve a Self-Service and Secure Multitenant Data Lake in a Large Com...
How to Achieve a Self-Service and Secure Multitenant Data Lake in a Large Com...
DataWorks Summit
 
What s new in spark 2.3 and spark 2.4
What s new in spark 2.3 and spark 2.4What s new in spark 2.3 and spark 2.4
What s new in spark 2.3 and spark 2.4
DataWorks Summit
 
Security and Data Governance using Apache Ranger and Apache Atlas
Security and Data Governance using Apache Ranger and Apache AtlasSecurity and Data Governance using Apache Ranger and Apache Atlas
Security and Data Governance using Apache Ranger and Apache Atlas
DataWorks Summit/Hadoop Summit
 
Enabling ABAC with Accumulo and Ranger integration
Enabling ABAC with Accumulo and Ranger integrationEnabling ABAC with Accumulo and Ranger integration
Enabling ABAC with Accumulo and Ranger integration
DataWorks Summit
 
Apache Ranger Hive Metastore Security
Apache Ranger Hive Metastore Security Apache Ranger Hive Metastore Security
Apache Ranger Hive Metastore Security
DataWorks Summit/Hadoop Summit
 
Apache Hadoop Crash Course
Apache Hadoop Crash CourseApache Hadoop Crash Course
Apache Hadoop Crash Course
DataWorks Summit/Hadoop Summit
 
Security Updates: More Seamless Access Controls with Apache Spark and Apache ...
Security Updates: More Seamless Access Controls with Apache Spark and Apache ...Security Updates: More Seamless Access Controls with Apache Spark and Apache ...
Security Updates: More Seamless Access Controls with Apache Spark and Apache ...
DataWorks Summit
 
Internet of things Crash Course Workshop
Internet of things Crash Course WorkshopInternet of things Crash Course Workshop
Internet of things Crash Course Workshop
DataWorks Summit
 
Apache Atlas: Why Big Data Management Requires Hierarchical Taxonomies
Apache Atlas: Why Big Data Management Requires Hierarchical Taxonomies Apache Atlas: Why Big Data Management Requires Hierarchical Taxonomies
Apache Atlas: Why Big Data Management Requires Hierarchical Taxonomies
DataWorks Summit/Hadoop Summit
 
Getting involved with Open Source at the ASF
Getting involved with Open Source at the ASFGetting involved with Open Source at the ASF
Getting involved with Open Source at the ASF
Hortonworks
 
Hadoop in the Cloud - The what, why and how from the experts
Hadoop in the Cloud - The what, why and how from the expertsHadoop in the Cloud - The what, why and how from the experts
Hadoop in the Cloud - The what, why and how from the experts
DataWorks Summit/Hadoop Summit
 
Spark Summit EMEA - Arun Murthy's Keynote
Spark Summit EMEA - Arun Murthy's KeynoteSpark Summit EMEA - Arun Murthy's Keynote
Spark Summit EMEA - Arun Murthy's Keynote
Hortonworks
 
Building a Real-Time News Search Engine: Presented by Ramkumar Aiyengar, Bloo...
Building a Real-Time News Search Engine: Presented by Ramkumar Aiyengar, Bloo...Building a Real-Time News Search Engine: Presented by Ramkumar Aiyengar, Bloo...
Building a Real-Time News Search Engine: Presented by Ramkumar Aiyengar, Bloo...
Lucidworks
 
Bringing complex event processing to Spark streaming
Bringing complex event processing to Spark streamingBringing complex event processing to Spark streaming
Bringing complex event processing to Spark streaming
DataWorks Summit
 

What's hot (20)

Bringing it All Together: Apache Metron (Incubating) as a Case Study of a Mod...
Bringing it All Together: Apache Metron (Incubating) as a Case Study of a Mod...Bringing it All Together: Apache Metron (Incubating) as a Case Study of a Mod...
Bringing it All Together: Apache Metron (Incubating) as a Case Study of a Mod...
 
Enabling a hardware accelerated deep learning data science experience for Apa...
Enabling a hardware accelerated deep learning data science experience for Apa...Enabling a hardware accelerated deep learning data science experience for Apa...
Enabling a hardware accelerated deep learning data science experience for Apa...
 
Data Governance - Atlas 7.12.2015
Data Governance - Atlas 7.12.2015Data Governance - Atlas 7.12.2015
Data Governance - Atlas 7.12.2015
 
HAWQ Meets Hive - Querying Unmanaged Data
HAWQ Meets Hive - Querying Unmanaged DataHAWQ Meets Hive - Querying Unmanaged Data
HAWQ Meets Hive - Querying Unmanaged Data
 
Druid: Sub-Second OLAP queries over Petabytes of Streaming Data
Druid: Sub-Second OLAP queries over Petabytes of Streaming DataDruid: Sub-Second OLAP queries over Petabytes of Streaming Data
Druid: Sub-Second OLAP queries over Petabytes of Streaming Data
 
Deep Learning using Spark and DL4J for fun and profit
Deep Learning using Spark and DL4J for fun and profitDeep Learning using Spark and DL4J for fun and profit
Deep Learning using Spark and DL4J for fun and profit
 
How to Achieve a Self-Service and Secure Multitenant Data Lake in a Large Com...
How to Achieve a Self-Service and Secure Multitenant Data Lake in a Large Com...How to Achieve a Self-Service and Secure Multitenant Data Lake in a Large Com...
How to Achieve a Self-Service and Secure Multitenant Data Lake in a Large Com...
 
What s new in spark 2.3 and spark 2.4
What s new in spark 2.3 and spark 2.4What s new in spark 2.3 and spark 2.4
What s new in spark 2.3 and spark 2.4
 
Security and Data Governance using Apache Ranger and Apache Atlas
Security and Data Governance using Apache Ranger and Apache AtlasSecurity and Data Governance using Apache Ranger and Apache Atlas
Security and Data Governance using Apache Ranger and Apache Atlas
 
Enabling ABAC with Accumulo and Ranger integration
Enabling ABAC with Accumulo and Ranger integrationEnabling ABAC with Accumulo and Ranger integration
Enabling ABAC with Accumulo and Ranger integration
 
Apache Ranger Hive Metastore Security
Apache Ranger Hive Metastore Security Apache Ranger Hive Metastore Security
Apache Ranger Hive Metastore Security
 
Apache Hadoop Crash Course
Apache Hadoop Crash CourseApache Hadoop Crash Course
Apache Hadoop Crash Course
 
Security Updates: More Seamless Access Controls with Apache Spark and Apache ...
Security Updates: More Seamless Access Controls with Apache Spark and Apache ...Security Updates: More Seamless Access Controls with Apache Spark and Apache ...
Security Updates: More Seamless Access Controls with Apache Spark and Apache ...
 
Internet of things Crash Course Workshop
Internet of things Crash Course WorkshopInternet of things Crash Course Workshop
Internet of things Crash Course Workshop
 
Apache Atlas: Why Big Data Management Requires Hierarchical Taxonomies
Apache Atlas: Why Big Data Management Requires Hierarchical Taxonomies Apache Atlas: Why Big Data Management Requires Hierarchical Taxonomies
Apache Atlas: Why Big Data Management Requires Hierarchical Taxonomies
 
Getting involved with Open Source at the ASF
Getting involved with Open Source at the ASFGetting involved with Open Source at the ASF
Getting involved with Open Source at the ASF
 
Hadoop in the Cloud - The what, why and how from the experts
Hadoop in the Cloud - The what, why and how from the expertsHadoop in the Cloud - The what, why and how from the experts
Hadoop in the Cloud - The what, why and how from the experts
 
Spark Summit EMEA - Arun Murthy's Keynote
Spark Summit EMEA - Arun Murthy's KeynoteSpark Summit EMEA - Arun Murthy's Keynote
Spark Summit EMEA - Arun Murthy's Keynote
 
Building a Real-Time News Search Engine: Presented by Ramkumar Aiyengar, Bloo...
Building a Real-Time News Search Engine: Presented by Ramkumar Aiyengar, Bloo...Building a Real-Time News Search Engine: Presented by Ramkumar Aiyengar, Bloo...
Building a Real-Time News Search Engine: Presented by Ramkumar Aiyengar, Bloo...
 
Bringing complex event processing to Spark streaming
Bringing complex event processing to Spark streamingBringing complex event processing to Spark streaming
Bringing complex event processing to Spark streaming
 

Viewers also liked

PLNOG 13: Piotr Wojciechowski: Security and Control Policy
PLNOG 13: Piotr Wojciechowski: Security and Control PolicyPLNOG 13: Piotr Wojciechowski: Security and Control Policy
PLNOG 13: Piotr Wojciechowski: Security and Control Policy
PROIDEA
 
JDD2014: Game of Throneware, or how not to get killed when a developer become...
JDD2014: Game of Throneware, or how not to get killed when a developer become...JDD2014: Game of Throneware, or how not to get killed when a developer become...
JDD2014: Game of Throneware, or how not to get killed when a developer become...
PROIDEA
 
JDD2014: Real Big Data - Scott MacGregor
JDD2014: Real Big Data - Scott MacGregorJDD2014: Real Big Data - Scott MacGregor
JDD2014: Real Big Data - Scott MacGregor
PROIDEA
 
PLNOG 13: P. Kupisiewicz, O. Pelerin: Make IOS-XE Troubleshooting Easy – Pack...
PLNOG 13: P. Kupisiewicz, O. Pelerin: Make IOS-XE Troubleshooting Easy – Pack...PLNOG 13: P. Kupisiewicz, O. Pelerin: Make IOS-XE Troubleshooting Easy – Pack...
PLNOG 13: P. Kupisiewicz, O. Pelerin: Make IOS-XE Troubleshooting Easy – Pack...
PROIDEA
 
PLNOG 13: Artur Pająk: Storage w sieciach Ethernet, czyli coś o iSCSI I FCoE
PLNOG 13: Artur Pająk: Storage w sieciach Ethernet, czyli coś o iSCSI I FCoEPLNOG 13: Artur Pająk: Storage w sieciach Ethernet, czyli coś o iSCSI I FCoE
PLNOG 13: Artur Pająk: Storage w sieciach Ethernet, czyli coś o iSCSI I FCoE
PROIDEA
 
PLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environment
PLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environmentPLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environment
PLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environment
PROIDEA
 
JDD2014: Reactive JAVA - Tomasz Kowalczewski
JDD2014:  Reactive JAVA - Tomasz KowalczewskiJDD2014:  Reactive JAVA - Tomasz Kowalczewski
JDD2014: Reactive JAVA - Tomasz Kowalczewski
PROIDEA
 
PLNOG 13: Andrzej Karpiński: Mechanizmy ochrony anty-DDoS stosowanych w Tele...
PLNOG 13: Andrzej Karpiński: Mechanizmy ochrony anty-DDoS stosowanych w Tele...PLNOG 13: Andrzej Karpiński: Mechanizmy ochrony anty-DDoS stosowanych w Tele...
PLNOG 13: Andrzej Karpiński: Mechanizmy ochrony anty-DDoS stosowanych w Tele...
PROIDEA
 
JDD2014: Co Twój kod mówi do Ciebie - Mariusz Sieraczkiewicz
JDD2014: Co Twój kod mówi do Ciebie - Mariusz SieraczkiewiczJDD2014: Co Twój kod mówi do Ciebie - Mariusz Sieraczkiewicz
JDD2014: Co Twój kod mówi do Ciebie - Mariusz Sieraczkiewicz
PROIDEA
 
Project Proposal - Project Management
Project Proposal - Project ManagementProject Proposal - Project Management
Project Proposal - Project Management
Antonio Cesarano
 
Erasmus Traineeship Report @ RedHat
Erasmus Traineeship Report @ RedHatErasmus Traineeship Report @ RedHat
Erasmus Traineeship Report @ RedHat
Antonio Cesarano
 
Triple Green-Agricultural Management Interventions for a New Green Revolution
Triple Green-Agricultural Management Interventions for a New Green RevolutionTriple Green-Agricultural Management Interventions for a New Green Revolution
Triple Green-Agricultural Management Interventions for a New Green Revolution
SIANI
 
Participatory soil fertility management – a case of social soil science
 Participatory soil fertility management – a case of social soil science Participatory soil fertility management – a case of social soil science
Participatory soil fertility management – a case of social soil science
SIANI
 
Transforming Gender Relations in Agriculture: A SIANI Focus Area
Transforming Gender Relations in Agriculture: A SIANI Focus AreaTransforming Gender Relations in Agriculture: A SIANI Focus Area
Transforming Gender Relations in Agriculture: A SIANI Focus Area
SIANI
 
Hälsosamma människor är beroende av hälsosamma livsmedelssystem – undernäring...
Hälsosamma människor är beroende av hälsosamma livsmedelssystem – undernäring...Hälsosamma människor är beroende av hälsosamma livsmedelssystem – undernäring...
Hälsosamma människor är beroende av hälsosamma livsmedelssystem – undernäring...
SIANI
 
SIANI Expert Group: Agriculture Transformation in Low-Income Countries
SIANI Expert Group: Agriculture Transformation in Low-Income CountriesSIANI Expert Group: Agriculture Transformation in Low-Income Countries
SIANI Expert Group: Agriculture Transformation in Low-Income Countries
SIANI
 
Åtgärder för att hantera undernäring kräver samordnade insatser: Investeringa...
Åtgärder för att hantera undernäring kräver samordnade insatser: Investeringa...Åtgärder för att hantera undernäring kräver samordnade insatser: Investeringa...
Åtgärder för att hantera undernäring kräver samordnade insatser: Investeringa...
SIANI
 

Viewers also liked (17)

PLNOG 13: Piotr Wojciechowski: Security and Control Policy
PLNOG 13: Piotr Wojciechowski: Security and Control PolicyPLNOG 13: Piotr Wojciechowski: Security and Control Policy
PLNOG 13: Piotr Wojciechowski: Security and Control Policy
 
JDD2014: Game of Throneware, or how not to get killed when a developer become...
JDD2014: Game of Throneware, or how not to get killed when a developer become...JDD2014: Game of Throneware, or how not to get killed when a developer become...
JDD2014: Game of Throneware, or how not to get killed when a developer become...
 
JDD2014: Real Big Data - Scott MacGregor
JDD2014: Real Big Data - Scott MacGregorJDD2014: Real Big Data - Scott MacGregor
JDD2014: Real Big Data - Scott MacGregor
 
PLNOG 13: P. Kupisiewicz, O. Pelerin: Make IOS-XE Troubleshooting Easy – Pack...
PLNOG 13: P. Kupisiewicz, O. Pelerin: Make IOS-XE Troubleshooting Easy – Pack...PLNOG 13: P. Kupisiewicz, O. Pelerin: Make IOS-XE Troubleshooting Easy – Pack...
PLNOG 13: P. Kupisiewicz, O. Pelerin: Make IOS-XE Troubleshooting Easy – Pack...
 
PLNOG 13: Artur Pająk: Storage w sieciach Ethernet, czyli coś o iSCSI I FCoE
PLNOG 13: Artur Pająk: Storage w sieciach Ethernet, czyli coś o iSCSI I FCoEPLNOG 13: Artur Pająk: Storage w sieciach Ethernet, czyli coś o iSCSI I FCoE
PLNOG 13: Artur Pająk: Storage w sieciach Ethernet, czyli coś o iSCSI I FCoE
 
PLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environment
PLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environmentPLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environment
PLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environment
 
JDD2014: Reactive JAVA - Tomasz Kowalczewski
JDD2014:  Reactive JAVA - Tomasz KowalczewskiJDD2014:  Reactive JAVA - Tomasz Kowalczewski
JDD2014: Reactive JAVA - Tomasz Kowalczewski
 
PLNOG 13: Andrzej Karpiński: Mechanizmy ochrony anty-DDoS stosowanych w Tele...
PLNOG 13: Andrzej Karpiński: Mechanizmy ochrony anty-DDoS stosowanych w Tele...PLNOG 13: Andrzej Karpiński: Mechanizmy ochrony anty-DDoS stosowanych w Tele...
PLNOG 13: Andrzej Karpiński: Mechanizmy ochrony anty-DDoS stosowanych w Tele...
 
JDD2014: Co Twój kod mówi do Ciebie - Mariusz Sieraczkiewicz
JDD2014: Co Twój kod mówi do Ciebie - Mariusz SieraczkiewiczJDD2014: Co Twój kod mówi do Ciebie - Mariusz Sieraczkiewicz
JDD2014: Co Twój kod mówi do Ciebie - Mariusz Sieraczkiewicz
 
Project Proposal - Project Management
Project Proposal - Project ManagementProject Proposal - Project Management
Project Proposal - Project Management
 
Erasmus Traineeship Report @ RedHat
Erasmus Traineeship Report @ RedHatErasmus Traineeship Report @ RedHat
Erasmus Traineeship Report @ RedHat
 
Triple Green-Agricultural Management Interventions for a New Green Revolution
Triple Green-Agricultural Management Interventions for a New Green RevolutionTriple Green-Agricultural Management Interventions for a New Green Revolution
Triple Green-Agricultural Management Interventions for a New Green Revolution
 
Participatory soil fertility management – a case of social soil science
 Participatory soil fertility management – a case of social soil science Participatory soil fertility management – a case of social soil science
Participatory soil fertility management – a case of social soil science
 
Transforming Gender Relations in Agriculture: A SIANI Focus Area
Transforming Gender Relations in Agriculture: A SIANI Focus AreaTransforming Gender Relations in Agriculture: A SIANI Focus Area
Transforming Gender Relations in Agriculture: A SIANI Focus Area
 
Hälsosamma människor är beroende av hälsosamma livsmedelssystem – undernäring...
Hälsosamma människor är beroende av hälsosamma livsmedelssystem – undernäring...Hälsosamma människor är beroende av hälsosamma livsmedelssystem – undernäring...
Hälsosamma människor är beroende av hälsosamma livsmedelssystem – undernäring...
 
SIANI Expert Group: Agriculture Transformation in Low-Income Countries
SIANI Expert Group: Agriculture Transformation in Low-Income CountriesSIANI Expert Group: Agriculture Transformation in Low-Income Countries
SIANI Expert Group: Agriculture Transformation in Low-Income Countries
 
Åtgärder för att hantera undernäring kräver samordnade insatser: Investeringa...
Åtgärder för att hantera undernäring kräver samordnade insatser: Investeringa...Åtgärder för att hantera undernäring kräver samordnade insatser: Investeringa...
Åtgärder för att hantera undernäring kräver samordnade insatser: Investeringa...
 

Similar to JDD2014: Multitenant Search - Pablo Barros

Oracle Management Cloud
Oracle Management CloudOracle Management Cloud
Oracle Management Cloud
Fabio Batista
 
P6 Resource Management in the web
P6 Resource Management in the webP6 Resource Management in the web
P6 Resource Management in the web
p6academy
 
JDD2014: Enforcing architecture patterns with static code analysis - Pablo Ba...
JDD2014: Enforcing architecture patterns with static code analysis - Pablo Ba...JDD2014: Enforcing architecture patterns with static code analysis - Pablo Ba...
JDD2014: Enforcing architecture patterns with static code analysis - Pablo Ba...
PROIDEA
 
MySQL For Linux Sysadmins
MySQL For Linux SysadminsMySQL For Linux Sysadmins
MySQL For Linux Sysadmins
Morgan Tocker
 
Em13c New Features- Two of Two
Em13c New Features- Two of TwoEm13c New Features- Two of Two
Em13c New Features- Two of Two
Kellyn Pot'Vin-Gorman
 
New data dictionary an internal server api that matters
New data dictionary an internal server api that mattersNew data dictionary an internal server api that matters
New data dictionary an internal server api that matters
Alexander Nozdrin
 
IOUG at Coors Field ASH and AWR in EM12c!
IOUG at Coors Field ASH and AWR in EM12c!IOUG at Coors Field ASH and AWR in EM12c!
IOUG at Coors Field ASH and AWR in EM12c!
Kellyn Pot'Vin-Gorman
 
Developer day v2
Developer day v2Developer day v2
Developer day v2
AiougVizagChapter
 
A practical introduction to Oracle NoSQL Database - OOW2014
A practical introduction to Oracle NoSQL Database - OOW2014A practical introduction to Oracle NoSQL Database - OOW2014
A practical introduction to Oracle NoSQL Database - OOW2014
Anuj Sahni
 
OOW-TBE-12c-CON7307-Sharable
OOW-TBE-12c-CON7307-SharableOOW-TBE-12c-CON7307-Sharable
OOW-TBE-12c-CON7307-Sharable
Obaidur (OB) Rashid
 
MySQL: From Single Instance to Big Data
MySQL: From Single Instance to Big DataMySQL: From Single Instance to Big Data
MySQL: From Single Instance to Big Data
Morgan Tocker
 
Oracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version ControlOracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version Control
Chris Muir
 
Database trendsv4
Database trendsv4Database trendsv4
Database trendsv4
Tinku Ajit
 
Oracle Office Hours - Exposing REST services with APEX and ORDS
Oracle Office Hours - Exposing REST services with APEX and ORDSOracle Office Hours - Exposing REST services with APEX and ORDS
Oracle Office Hours - Exposing REST services with APEX and ORDS
Doug Gault
 
Nida event oracle business analytics 1 sep2016
Nida event   oracle business analytics 1 sep2016Nida event   oracle business analytics 1 sep2016
Nida event oracle business analytics 1 sep2016
BAINIDA
 
Oracle SQL Developer Data Modeler - for SQL Server
Oracle SQL Developer Data Modeler - for SQL ServerOracle SQL Developer Data Modeler - for SQL Server
Oracle SQL Developer Data Modeler - for SQL Server
Jeff Smith
 
Oracle Management Cloud - IT Analytics - Resource Analytics
Oracle Management Cloud - IT Analytics - Resource AnalyticsOracle Management Cloud - IT Analytics - Resource Analytics
Oracle Management Cloud - IT Analytics - Resource Analytics
Jean-Philippe PINTE
 
Oracle database in cloud, dr in cloud and overview of oracle database 18c
Oracle database in cloud, dr in cloud and overview of oracle database 18cOracle database in cloud, dr in cloud and overview of oracle database 18c
Oracle database in cloud, dr in cloud and overview of oracle database 18c
AiougVizagChapter
 
KSCOPE Cloud Services and the Self Service Portal
KSCOPE Cloud Services  and the Self Service PortalKSCOPE Cloud Services  and the Self Service Portal
KSCOPE Cloud Services and the Self Service Portal
Kellyn Pot'Vin-Gorman
 
Oracle Cloud Storage Service & Oracle Database Backup Cloud Service
Oracle Cloud Storage Service & Oracle Database Backup Cloud ServiceOracle Cloud Storage Service & Oracle Database Backup Cloud Service
Oracle Cloud Storage Service & Oracle Database Backup Cloud Service
Jean-Philippe PINTE
 

Similar to JDD2014: Multitenant Search - Pablo Barros (20)

Oracle Management Cloud
Oracle Management CloudOracle Management Cloud
Oracle Management Cloud
 
P6 Resource Management in the web
P6 Resource Management in the webP6 Resource Management in the web
P6 Resource Management in the web
 
JDD2014: Enforcing architecture patterns with static code analysis - Pablo Ba...
JDD2014: Enforcing architecture patterns with static code analysis - Pablo Ba...JDD2014: Enforcing architecture patterns with static code analysis - Pablo Ba...
JDD2014: Enforcing architecture patterns with static code analysis - Pablo Ba...
 
MySQL For Linux Sysadmins
MySQL For Linux SysadminsMySQL For Linux Sysadmins
MySQL For Linux Sysadmins
 
Em13c New Features- Two of Two
Em13c New Features- Two of TwoEm13c New Features- Two of Two
Em13c New Features- Two of Two
 
New data dictionary an internal server api that matters
New data dictionary an internal server api that mattersNew data dictionary an internal server api that matters
New data dictionary an internal server api that matters
 
IOUG at Coors Field ASH and AWR in EM12c!
IOUG at Coors Field ASH and AWR in EM12c!IOUG at Coors Field ASH and AWR in EM12c!
IOUG at Coors Field ASH and AWR in EM12c!
 
Developer day v2
Developer day v2Developer day v2
Developer day v2
 
A practical introduction to Oracle NoSQL Database - OOW2014
A practical introduction to Oracle NoSQL Database - OOW2014A practical introduction to Oracle NoSQL Database - OOW2014
A practical introduction to Oracle NoSQL Database - OOW2014
 
OOW-TBE-12c-CON7307-Sharable
OOW-TBE-12c-CON7307-SharableOOW-TBE-12c-CON7307-Sharable
OOW-TBE-12c-CON7307-Sharable
 
MySQL: From Single Instance to Big Data
MySQL: From Single Instance to Big DataMySQL: From Single Instance to Big Data
MySQL: From Single Instance to Big Data
 
Oracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version ControlOracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version Control
 
Database trendsv4
Database trendsv4Database trendsv4
Database trendsv4
 
Oracle Office Hours - Exposing REST services with APEX and ORDS
Oracle Office Hours - Exposing REST services with APEX and ORDSOracle Office Hours - Exposing REST services with APEX and ORDS
Oracle Office Hours - Exposing REST services with APEX and ORDS
 
Nida event oracle business analytics 1 sep2016
Nida event   oracle business analytics 1 sep2016Nida event   oracle business analytics 1 sep2016
Nida event oracle business analytics 1 sep2016
 
Oracle SQL Developer Data Modeler - for SQL Server
Oracle SQL Developer Data Modeler - for SQL ServerOracle SQL Developer Data Modeler - for SQL Server
Oracle SQL Developer Data Modeler - for SQL Server
 
Oracle Management Cloud - IT Analytics - Resource Analytics
Oracle Management Cloud - IT Analytics - Resource AnalyticsOracle Management Cloud - IT Analytics - Resource Analytics
Oracle Management Cloud - IT Analytics - Resource Analytics
 
Oracle database in cloud, dr in cloud and overview of oracle database 18c
Oracle database in cloud, dr in cloud and overview of oracle database 18cOracle database in cloud, dr in cloud and overview of oracle database 18c
Oracle database in cloud, dr in cloud and overview of oracle database 18c
 
KSCOPE Cloud Services and the Self Service Portal
KSCOPE Cloud Services  and the Self Service PortalKSCOPE Cloud Services  and the Self Service Portal
KSCOPE Cloud Services and the Self Service Portal
 
Oracle Cloud Storage Service & Oracle Database Backup Cloud Service
Oracle Cloud Storage Service & Oracle Database Backup Cloud ServiceOracle Cloud Storage Service & Oracle Database Backup Cloud Service
Oracle Cloud Storage Service & Oracle Database Backup Cloud Service
 

Recently uploaded

E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
lorraineandreiamcidl
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
pavan998932
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 

Recently uploaded (20)

E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 

JDD2014: Multitenant Search - Pablo Barros

  • 1.
  • 2. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Mul@tenant Search JDD 2014, Krakow -­‐ PL Pablo Barros Applica@ons Architect October 14, 2014
  • 3. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | • The opinions and views expressed in this talk are my own, and do not necessarily reflect the opinions or views of my employer. 3
  • 4. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | About me 4
  • 5. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | About me 5
  • 6. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Giveaway • Elas@csearch Server – Second Edi@on – By Rafal Kuc 6
  • 7. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Agenda Key Concepts and PiUalls of Mul@tenancy Designing the Search Index Defining the Cluster Topology Integra@ng with your Applica@on Q&A 7 1 2 3 4 5
  • 8. Overview Key Concepts and Pi>alls of MulCtenant Search Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 8
  • 9. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Defining Mul@tenancy “Single so^ware instance serving mul@ple customers.” 9
  • 10. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Benefits • Sharing of Resources • Lower Costs • Easier Horizontal Scaling • Quicker onboarding of new Customers • Data Aggrega@on • Simpler Release Processes • “Green” 10
  • 11. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | PiUalls & Risks • Resource Sharing Limits • Requires more Customiza@on capabili@es • Higher Complexity • Data Security 11
  • 12. Search Engine Search EngiSneea Hub/Tribe Node Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Topology 12 Your Applica@on rch Cluster 1..N Read/Write Read
  • 13. Designing the Search Index Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 13
  • 14. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Index Logical Granularity 14 vs.
  • 15. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Shared Indices • Schema-­‐less Index • Pros – True Global search – Intermixed Results across Customers/En@@es • Cons – Cross Tenant Data Security – Weaker data separa@on – Index corrup@on can affect en@re Search – Ability of indexing data in parallel diminished 15
  • 16. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Dedicated Indices • Pros – Bejer data separa@on – More modular/portable – Bejer parallel indexing capabili@es • Cons – More storage – Global search is more limited • However, some search engines allow searching across indexes and even across clusters (Elas@csearch Tribe Node) 16
  • 17. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Indexing Process & Storage 17
  • 18. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Indexing Process & Storage 18 Token Pointer Droid 1, 2, 3 Look 2, 3 Rain 1 Doc 1: … Doc 2: … Doc 3: …
  • 19. Indexing with Storage Enabled Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | “total”: 2,! “hits”: [! {! !“id”: 1,! !“text”: “These are not the <b>droids</b> you are looking for.”,! !“date”: “2014/10/8”! },! {! !“id”: 2,! !“text”: “However, those are the <b>droids</b> you are looking for.”,! !“date”: “2014/10/8”! } ]! 19
  • 20. Indexing with Storage Disabled Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | ! “total”: 2,! “hits”: [! {! !“id”: 1,! },! {! !“id”: 2,! } ]! 20
  • 21. Storing and Retrieving Original Indexed Data Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 21 Full Document IDs Only Pros • Avoid hiong database on your applica@on • Snippet highligh@ng • Storage on Search Engine file system is light • Small response payload Cons • Extra storage on Search Engine file system • Access control needs to be built in the index • Reliance on database for reading data to show users
  • 22. 1 0..* Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Parent-­‐child Rela@onships • Defines 1-­‐to-­‐many rela@onship between entries in different indices • Convenient when pushing rela@onal data into Index • Parent can be updated without re-­‐indexing children 22 Customer Order
  • 23. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Mul@ple Languages • Leverage language auto-­‐detec@on • Leverage stop words • Limit amount of stemming • Op@on: – Single entry in mul@ple languages • Merge value in different languages into single field • Pro: Simple implementa@on. Search can be performed in any language • Con: Match might include homonym in other languages 23
  • 24. Defining the Search Cluster Topology Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 24
  • 25. Node 2 Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Shards 25 Node 1 1 2 3 4 5
  • 26. Node 2 Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Replicas 26 Node 1 1 2 3 4R 5R 4 5 1R 2R 3R
  • 27. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Cluster • Approach depends on what your framework has to offer • Elas@csearch provides a lot of support out of the box • Considera@ons: – Cluster Segmenta@on (Few Smaller vs Single Large?) – Geographical Distribu@on – Searching across Clusters – Write/Read Ra@o 27
  • 28. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Hub • Aware of All Clusters • Maintains map of Tenant -­‐> Cluster • Serves as discovery mechanism for the Client Applica@on • Able to create/pause/move/delete Tenants 28
  • 29. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Hub Tenant Discovery Service 29
  • 30. Integra@ng with your Applica@on Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 30
  • 31. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Indexing vs Querying • Expected load on wri@ng/reads • Depends on Problem Domain of Client Applica@on • Writes are expensive! – Specially if not done in bulk • Reads are fairly cheap 31
  • 32. Ini@al Data Load/Full Re-­‐index Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | • Perform Ac@ons in Bulk – Minimize overall number of Lucene Commits • Consider enabling External “Versioning” – Safely parallelize indexing requests • Keep track of documents that failed to index 32
  • 33. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Incremental Indexing 33
  • 34. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Incremental Indexing • Monitor Indexing requests delay • Message customers accordingly – i.e. Search Results might not include recently updated entries.
  • 35. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Disaster Recovery • Take advantage of what your Framework offers you – i.e. Replica@on in Elas@c Search • Nightly Backups + Replay of changes since Backup crea@on • Avoid star@ng from scratch! 35
  • 36. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Final Thoughts • Recent Open-­‐source Tooling (*cough* Elas%csearch) makes it easy • Consider Carefully: – Design and granularity of your tenant in the Search engine – Define En@@es and their Rela@onships – Sharding and Replica@on Schemes – Clustering Distribu@on • i.e. per applica@on Installa@on, geographically, etc. – High Availability Mechanisms 36
  • 37. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Q&A Thank you!
  • 38. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 38