SlideShare a Scribd company logo
1 of 39
Download to read offline
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.2015Hortonworks
 
HAWQ Meets Hive - Querying Unmanaged Data
HAWQ Meets Hive - Querying Unmanaged DataHAWQ Meets Hive - Querying Unmanaged Data
HAWQ Meets Hive - Querying Unmanaged DataDataWorks 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 DataDataWorks 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.4DataWorks 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 AtlasDataWorks 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 integrationDataWorks 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 WorkshopDataWorks 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 ASFHortonworks
 
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 expertsDataWorks 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 KeynoteHortonworks
 
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 streamingDataWorks 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 PolicyPROIDEA
 
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 MacGregorPROIDEA
 
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 FCoEPROIDEA
 
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 environmentPROIDEA
 
JDD2014: Reactive JAVA - Tomasz Kowalczewski
JDD2014:  Reactive JAVA - Tomasz KowalczewskiJDD2014:  Reactive JAVA - Tomasz Kowalczewski
JDD2014: Reactive JAVA - Tomasz KowalczewskiPROIDEA
 
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 SieraczkiewiczPROIDEA
 
Project Proposal - Project Management
Project Proposal - Project ManagementProject Proposal - Project Management
Project Proposal - Project ManagementAntonio Cesarano
 
Erasmus Traineeship Report @ RedHat
Erasmus Traineeship Report @ RedHatErasmus Traineeship Report @ RedHat
Erasmus Traineeship Report @ RedHatAntonio 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 RevolutionSIANI
 
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 scienceSIANI
 
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 AreaSIANI
 
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 CountriesSIANI
 
Å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 CloudFabio Batista
 
P6 Resource Management in the web
P6 Resource Management in the webP6 Resource Management in the web
P6 Resource Management in the webp6academy
 
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 SysadminsMorgan Tocker
 
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 mattersAlexander 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
 
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 - OOW2014Anuj Sahni
 
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 DataMorgan 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 ControlChris Muir
 
Database trendsv4
Database trendsv4Database trendsv4
Database trendsv4Tinku 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 ORDSDoug 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 sep2016BAINIDA
 
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 ServerJeff 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 AnalyticsJean-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 18cAiougVizagChapter
 
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 PortalKellyn 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 ServiceJean-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

Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 

Recently uploaded (20)

Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 

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