SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
4 June 2012
                 Sanne Grinovero, Red Hat




What you get by replicating
 Lucene indexes on the
  Infinispan Data Grid
Who is that guy?
•   Sanne Grinovero

    •   From this planet

•   Team Hibernate

    •   Hibernate Search

    •   Hibernate OGM

•   Team Infinispan

    •   Infinispan Core

    •   Infinispan Query

•   Apache Lucene, Netty, HotSpot, ANTLR, JGroups,
    Byteman, The Jokre
What are we talking
          about?

•   Apache Lucene
•   Infinispan
    •   Integrations with Lucene
         ●
             Infinispan Lucene Directory
Apache Lucene ?
•   An in-memory datagrid

    •   Memory of multiple nodes

    •   Cluster modes

    •   CacheLoaders

    •   Integrations with Lucene

        •   Lucene Directory
Infinispan API?
•   Map-like key/value store
    •   JSR 107 javax.cache.Cache interface
    •   JSR 347 ??
•   Asynchronous API
In practice:
cache.put( “user-34”, userInstance );

cache.get( “user-34” );

cache.remove( “user-34” );

cache.putIfAbsent( “user-38”, other );
Distributed Data
Connected via JGroups




A Toolkit for Reliable Multicast Communication
             http://jgroups.org
Or remote clients via:
•   Memcached
•   REST
•   Hot Rod (Ruby, Python, C, C#, ...)
    •   Netty
Consistent Hashing: DIST
Transactions!
JBoss AS7 core
          component
•   Cluster nodes autodiscovery
•   Session replication / failover
•   Hibernate second level cache
•   mod_cluster integration
In-memory volatile?
Cache Stores: durability, warm caches,
more capacity...

•   Cassandra

•   HBase

•   JDBC

•   Clouds (S3, ...)

•   Plain Old Files

•   Many more + custom
Back on Lucene:
Single Writer lock
Queue-based clustering
      (filesystem index)
Lucene index storage
Index stored in
   Infinispan
Example architecture :
    JIRA / Scarlet
Hints
•   Some tuning options might have
    different effects than what you're used
•   Network is orders of magnitude faster
    than disk (YMMV)
    •   But data locality helps
    •   Balance resources
•   Get mergers to avoid segment
    chunking, or readlocks will engage
“benchmarks”, stats
                      and more lies
                       Write ops/sec                                                                            Queries/sec



 RAMDirectory                                                                           RAMDirectory



    Infinispan 0                                                                           Infinispan 0



  Infinispan D4                                                                          Infinispan D4




                                                                  queries per second
 Infinispan D40                                                                         Infinispan D40



   FSDirectory                                                                            FSDirectory



Infinispan Local                                                                       Infinispan Local


                   0   50   100   150   200   250   300   350   400                                       0   5000   10000    15000   20000   25000
It's not about the
                                  figures
                       Write ops/sec                                                                            Queries/sec



 RAMDirectory                                                                           RAMDirectory



    Infinispan 0                                                                           Infinispan 0



  Infinispan D4                                                                          Infinispan D4




                                                                  queries per second
 Infinispan D40                                                                         Infinispan D40



   FSDirectory                                                                            FSDirectory



Infinispan Local                                                                       Infinispan Local


                   0   50   100   150   200   250   300   350   400                                       0   5000   10000    15000   20000   25000
What's next?
•   Infinispan (core) 5.2 and 6
•   Lucene 4.x
•   Dynamic chunk sizes
•   Ad-hoc “Lucene native” CacheStore
    •   NIO byte buffers?
Conclusions
•   Quick index replication
•   Transactions
•   Not a replacements for shards
•   Cloud-friendly
    •   Delegates to any storage
Q&A




http://infinispan.org     @Infinispan
http://in.relation.to     @Hibernate
http://jboss.org          @SanneGrinovero

Más contenido relacionado

Similar a What you get by replicating Lucene indexes on the Infinispan Data Grid (Berlin Buzzwords 2012)

Sun storage tek 6140 customer presentation
Sun storage tek 6140 customer presentationSun storage tek 6140 customer presentation
Sun storage tek 6140 customer presentation
xKinAnx
 
Enhancing Live Migration Process for CPU and/or memory intensive VMs running...
Enhancing Live Migration Process for CPU and/or  memory intensive VMs running...Enhancing Live Migration Process for CPU and/or  memory intensive VMs running...
Enhancing Live Migration Process for CPU and/or memory intensive VMs running...
Benoit Hudzia
 
Stathy DevOps in MSP / MKE on IAC
Stathy DevOps in MSP / MKE on IACStathy DevOps in MSP / MKE on IAC
Stathy DevOps in MSP / MKE on IAC
Stathy Touloumis
 
Password Recovery Tools
Password Recovery ToolsPassword Recovery Tools
Password Recovery Tools
Andrey Belenko
 
A Behind the Scenes Look at the Force.com Platform
A Behind the Scenes Look at the Force.com PlatformA Behind the Scenes Look at the Force.com Platform
A Behind the Scenes Look at the Force.com Platform
Salesforce Developers
 
Lsi Nytro flash ssd PCIe controllers product training value proposition and k...
Lsi Nytro flash ssd PCIe controllers product training value proposition and k...Lsi Nytro flash ssd PCIe controllers product training value proposition and k...
Lsi Nytro flash ssd PCIe controllers product training value proposition and k...
Kent Abendroth LSI Nytro VAR channel manager
 
Yahoo Communities Architecture Unlikely Bedfellows
Yahoo Communities Architecture Unlikely BedfellowsYahoo Communities Architecture Unlikely Bedfellows
Yahoo Communities Architecture Unlikely Bedfellows
ConSanFrancisco123
 
Owned By An iPod
Owned By An iPodOwned By An iPod
Owned By An iPod
KarlFrank99
 
Sun storage tek 6140 technical presentation
Sun storage tek 6140 technical presentationSun storage tek 6140 technical presentation
Sun storage tek 6140 technical presentation
xKinAnx
 

Similar a What you get by replicating Lucene indexes on the Infinispan Data Grid (Berlin Buzzwords 2012) (20)

Tidal scale short_story_v2
Tidal scale short_story_v2Tidal scale short_story_v2
Tidal scale short_story_v2
 
Apache con 2011 gd
Apache con 2011 gdApache con 2011 gd
Apache con 2011 gd
 
Next Gen Datacenter
Next Gen DatacenterNext Gen Datacenter
Next Gen Datacenter
 
Plugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 TaiwanPlugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 Taiwan
 
Sun storage tek 6140 customer presentation
Sun storage tek 6140 customer presentationSun storage tek 6140 customer presentation
Sun storage tek 6140 customer presentation
 
Enhancing Live Migration Process for CPU and/or memory intensive VMs running...
Enhancing Live Migration Process for CPU and/or  memory intensive VMs running...Enhancing Live Migration Process for CPU and/or  memory intensive VMs running...
Enhancing Live Migration Process for CPU and/or memory intensive VMs running...
 
Stathy DevOps in MSP / MKE on IAC
Stathy DevOps in MSP / MKE on IACStathy DevOps in MSP / MKE on IAC
Stathy DevOps in MSP / MKE on IAC
 
Usenix lisa 2011
Usenix lisa 2011Usenix lisa 2011
Usenix lisa 2011
 
Password Recovery Tools
Password Recovery ToolsPassword Recovery Tools
Password Recovery Tools
 
A Behind the Scenes Look at the Force.com Platform
A Behind the Scenes Look at the Force.com PlatformA Behind the Scenes Look at the Force.com Platform
A Behind the Scenes Look at the Force.com Platform
 
Lsi Nytro flash ssd PCIe controllers product training value proposition and k...
Lsi Nytro flash ssd PCIe controllers product training value proposition and k...Lsi Nytro flash ssd PCIe controllers product training value proposition and k...
Lsi Nytro flash ssd PCIe controllers product training value proposition and k...
 
Yahoo Communities Architecture Unlikely Bedfellows
Yahoo Communities Architecture Unlikely BedfellowsYahoo Communities Architecture Unlikely Bedfellows
Yahoo Communities Architecture Unlikely Bedfellows
 
All Aboard the Databus
All Aboard the DatabusAll Aboard the Databus
All Aboard the Databus
 
Large scale preservation workflows with Taverna – SCAPE Training event, Guima...
Large scale preservation workflows with Taverna – SCAPE Training event, Guima...Large scale preservation workflows with Taverna – SCAPE Training event, Guima...
Large scale preservation workflows with Taverna – SCAPE Training event, Guima...
 
Dynamo Systems - QCon SF 2012 Presentation
Dynamo Systems - QCon SF 2012 PresentationDynamo Systems - QCon SF 2012 Presentation
Dynamo Systems - QCon SF 2012 Presentation
 
Owned By An iPod
Owned By An iPodOwned By An iPod
Owned By An iPod
 
Sun storage tek 6140 technical presentation
Sun storage tek 6140 technical presentationSun storage tek 6140 technical presentation
Sun storage tek 6140 technical presentation
 
Erik Ableson & Vincent Branger: What's best for vdi storage optimisation hard...
Erik Ableson & Vincent Branger: What's best for vdi storage optimisation hard...Erik Ableson & Vincent Branger: What's best for vdi storage optimisation hard...
Erik Ableson & Vincent Branger: What's best for vdi storage optimisation hard...
 
Linux HA anno 2014
Linux HA anno 2014Linux HA anno 2014
Linux HA anno 2014
 
Super cluster oracleday cl 7
Super cluster oracleday cl 7Super cluster oracleday cl 7
Super cluster oracleday cl 7
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 

What you get by replicating Lucene indexes on the Infinispan Data Grid (Berlin Buzzwords 2012)

  • 1. 4 June 2012 Sanne Grinovero, Red Hat What you get by replicating Lucene indexes on the Infinispan Data Grid
  • 2. Who is that guy? • Sanne Grinovero • From this planet • Team Hibernate • Hibernate Search • Hibernate OGM • Team Infinispan • Infinispan Core • Infinispan Query • Apache Lucene, Netty, HotSpot, ANTLR, JGroups, Byteman, The Jokre
  • 3. What are we talking about? • Apache Lucene • Infinispan • Integrations with Lucene ● Infinispan Lucene Directory
  • 5. An in-memory datagrid • Memory of multiple nodes • Cluster modes • CacheLoaders • Integrations with Lucene • Lucene Directory
  • 6. Infinispan API? • Map-like key/value store • JSR 107 javax.cache.Cache interface • JSR 347 ?? • Asynchronous API
  • 7. In practice: cache.put( “user-34”, userInstance ); cache.get( “user-34” ); cache.remove( “user-34” ); cache.putIfAbsent( “user-38”, other );
  • 9. Connected via JGroups A Toolkit for Reliable Multicast Communication http://jgroups.org
  • 10. Or remote clients via: • Memcached • REST • Hot Rod (Ruby, Python, C, C#, ...) • Netty
  • 13. JBoss AS7 core component • Cluster nodes autodiscovery • Session replication / failover • Hibernate second level cache • mod_cluster integration
  • 14. In-memory volatile? Cache Stores: durability, warm caches, more capacity... • Cassandra • HBase • JDBC • Clouds (S3, ...) • Plain Old Files • Many more + custom
  • 15. Back on Lucene: Single Writer lock
  • 16. Queue-based clustering (filesystem index)
  • 18.
  • 19. Index stored in Infinispan
  • 20. Example architecture : JIRA / Scarlet
  • 21. Hints • Some tuning options might have different effects than what you're used • Network is orders of magnitude faster than disk (YMMV) • But data locality helps • Balance resources • Get mergers to avoid segment chunking, or readlocks will engage
  • 22. “benchmarks”, stats and more lies Write ops/sec Queries/sec RAMDirectory RAMDirectory Infinispan 0 Infinispan 0 Infinispan D4 Infinispan D4 queries per second Infinispan D40 Infinispan D40 FSDirectory FSDirectory Infinispan Local Infinispan Local 0 50 100 150 200 250 300 350 400 0 5000 10000 15000 20000 25000
  • 23. It's not about the figures Write ops/sec Queries/sec RAMDirectory RAMDirectory Infinispan 0 Infinispan 0 Infinispan D4 Infinispan D4 queries per second Infinispan D40 Infinispan D40 FSDirectory FSDirectory Infinispan Local Infinispan Local 0 50 100 150 200 250 300 350 400 0 5000 10000 15000 20000 25000
  • 24. What's next? • Infinispan (core) 5.2 and 6 • Lucene 4.x • Dynamic chunk sizes • Ad-hoc “Lucene native” CacheStore • NIO byte buffers?
  • 25. Conclusions • Quick index replication • Transactions • Not a replacements for shards • Cloud-friendly • Delegates to any storage
  • 26. Q&A http://infinispan.org @Infinispan http://in.relation.to @Hibernate http://jboss.org @SanneGrinovero