SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
Alfresco Scalability and Performance
    How Alfresco 4.x will solve all you headaches around scalable ECM solutions
Agenda
ECM high end scenarios
  •  ECM platform use cases
  •  What is ECM scalability?

Alfresco ECM scalability and performance
  •  What we (should) already know
  •  Alfresco 3.4 improvements
  •  Alfresco 4.0 “hardening” features
    •    Apache SolR
    •    Clustered filesystems
  •  Post 4.0 scalability opportunities

Alfresco Platform benchmarks
  •  Benchmarks rationales and progress
  •  Alfresco Benchmark Tools
Alfresco ECM Solutions
What do you expect from an ECM system?

  •  ECM semantics grows alongside with the ‘content explosion’
    •     The Classic Alfresco ECM Trio
         •    System of Record (Massive Injection & Retrieval Content Platform)
         •    System of Engagement (Enterprise Collaboration Platform)
         •    Web Content Publishing (Multichannel XML/HTML delivery)
    •     The present (and future)
         •    Social Content Management
         •    Records Management & Archival
         •    Business Intelligence (Content & Workflow OLAP)

  •  Each solution has specific requirements around
    1.  Scalablity
    2.  Information retrieval Isolation
ECM Scalability defined
What does scalability mean for ECM?
   •  Performance
     •     “Acceptable” to “No” search degradation as users/content grow
     •     “Acceptable” to “No” browsing degradation as users/content grow
     •     Geo-independence of the system (if global)
   •  Availability
     •     Offer service continuity upon
          •    Disasters
          •    Functional / corrective maintenance
     •     No single point of failure
   •  Load distribution
     •     Parallelization
     •     Optimization of CPU usage ($$$) per transaction
Scalability requirements are solution dependent …
                 So pick your battles!
Alfresco is designed to scale
At any level of the infrastructure
  •  Repository
    •    Cluster nodes can be added dynamically
    •    Ehcache supports distributed cache replication
  •  User interface
    •    Alfresco Share is stateless and HTTP based
    •    Share can scale out independently from the repository
  •  Database
    •    Alfresco supports Master / Slave DB replication
    •    Solutions a la Oracle RAC are also supported
  •  Storage
    •    Content Addressable Storage (XAM) support – Enterprise Only
    •    Content Store Selector – Enterprise Only

Check out the Scale your Alfresco Solutions paper!
    http://support.alfresco.com/ics/support/DLRedirect.asp?fileID=18158
Full-Blown Multi-layer scalable architecture
                                                       Load Balancer

                 Share                         Share                         Share                        Share

                 App Srv                      App Srv                       App Srv                       App Srv


                                                         Load Balancer




     Alfresco                             Alfresco                                 Alfresco                   Alfresco

     EHCache                              EHCache                              EHCache                       EHCache
         Index




                                                                                                                  Index
                                                                                      Index
                                              Index




                                                           Database


                           Database      Database
                                                                         Content
                           (Master)       (Slave)
                                                                          Store
                                  Failover

                         Database Clustering
                                                                                                Content      Content
                                                                                                Store 1      store 2



                                                                                              Content store selector
Levels of ECM Information Isolation

Think about it as “transaction isolation” for Databases

1.  SERIALIZABLE
  •  System of records
2.  REPEATABLE_READS
3.  READ_COMMITTED
4.  READ_UNCOMMITTED
Where does your solution stand?




Identify where your solution is in the graph, then trade
off between consistency & performance!

There is NO one size fits all, so pick your battles!
10 tips you MUST know to scale Alfresco
1.  Disable quotas when unneeded
   system.usages.enabled=false
2.  Disable audit
   audit.enabled=false
3.  When ~1M docs and above fine tune #index segments
   http://wiki.alfresco.com/index.php?title=Index_Merging_Performance
4.  Tune DB pool size (default for evaluation mode)
   db.pool.max=225
5.  And don’t forget to tune DB accordingly
   Ask your DBA to allow enough incoming connections (especially in high concurrency)
6.  Use multi-operation batches for your transactions
   Transaction setup and teardown are expensive!
7.  For bulk injection you can disable in transaction indexing
   index.tracking.disableInTransactionIndexing=true
8.  Tune permission checking behavior
   system.acl.maxPermissionChecks and system.acl.maxPermissionCheckTimeMillis
9.  Read the “Scale your Alfresco Solutions” paper!
10. Call me  (or any other Alfresco Consultant)
5 scalability gotchas prior to Alfresco 3.4
1.  In process (or in transaction) content indexing
   Alfresco spending transaction time to update Lucene index

2.  Lucene index replicated & tracked per cluster node
   Additional DB and Alfresco load for IndexTransactionTracker

3.  Query ‘bottlenecks’ during index maintenance
   High (blocking) CPU spike during index merging

4.  Not all interfaces available in High Availability mode
   Additional DB and Alfresco load for IndexTransactionTracker

5.  Time Limited permission checking
   Non deterministic search results on large user / content bases
Alfresco 3.4 scalability improvements

 •  Hibernate removal
   •    Improved / optimized DB querying with Ibatis
   •    Faster commit time

 •  Permission checking improvements
   •    Ongoing work in all 3.x versions

 •  Content Replication
   •    Geographic master/slave distribution of content
   •    Can be used also for archival, WCM deployment, etc.

 •  Site performance project (Enterprise 3.4.6)
   •    High Share concurrency scenarios
   •    Tested and usable up to 60.000 Share sites!
Alfresco 4.0 radical answers to scalability

 •  Introduction of logical separate indexing tier
  •  Apache Solr Integration
  •  NOTE: Eventual vs transactional index consistency

 •  Clustering for File System interfaces (e.g. CIFS)
  •  ContentDiskDriver2
  •  Scenario specific session linked state distributed using
     Hazelcast

 •  Deterministic permission checking
  •  Refactored DB canned queries allow in query checking
  •  Solr filters allow in search permission checking
The Apache SOLR subsystem

Rationale
  •  Removes Lucene load from Alfresco Repository
  •  Externalize and centralize a logical indexing tier
  •  Avoid per cluster node index tracking

Architectural features
  •  Pull (vs. Push) indexing
    •    Solr polls Alfresco periodically for index updates
    •    Default 15s  can be configured
  •  Can be scaled out
    •    Multi Solr architectural options
    •    NOTE: sharding/clustering not available yet
  •  Dedicated or shared Enterprise search engine
Alfresco / SolR Logical Architecture

                                         Search	
  Requests	
  




                                                      Search Results
                Repository	
  


                                                 Async:	
  	
  
                                              Index	
  Polling	
  
                                                                             Solr	
  
   Content	
  Store       Database	
  
        (s)	
              Storage	
  
                                                          Updates	
  



                                                      Models
                        Solr Cores:

                                                        ACLS
                       - Workspace
                                                Properties & Content
    Solr	
       - Archive
                                                                        Cores	
  
Transparent indexing tier scalability!

        Repo
                               Repo



                                    Solr
                               Solr




                                                    Load Balancer
                Load Balancer




                                    Solr
                               Solr




                                 Search
                             Index
Solr Implications
Do I have to migrate?
  •  No, you can still use Lucene indexing subsystem
  •  Solr can be configured to run and index in parallel

Key Features
  •  No in-txn indexing
  •  One core per Alfresco store (e.g. WorkspaceStore, ArchiveStore)
    •    Cores can be configured separately
  •  In query permission checking with Solr filters
    •    Deterministic

Alfresco impacts
  •  Wherever “transactional consistency” was needed index
     queries have been substituted with DB “canned queries”
    •    Authentication, Doclib, Bootstrap, Check-in/out amongst others
  •  Implementers should be aware of eventual index consistency
Transactional vs. Eventual index update

Transactional (prior to 4.0)      Eventual (4.0)
  •  Indexes updated within         •  Index server periodically
     the database txn                  polls repository (default =15s)
Pros                              Pros
  •  Indexes consistent with DB     •     Faster commit time (50%)
     at any time                    •     Separately scalable tier
  •  Applications can work          •     Configurable index delay
     independently with DB or
     indexes                        •     Independent from
Cons                                      #(concurrent users)
  •  Resource intensive
  •  Slower commit time           Cons
  •  Index locking and              •  Dirty or non repeatable
     contemption with                  index reads are possible
     concurrent user growth         •  Cannot be used where
                                       transactional consistency
                                       is needed
                                         •    E.g. RM, AVM, custom apps
Clustered file systems

What’s new?
 • ContentDiskDriver2  Brand new implementation
 • JLAN-Alfresco interface binds state to sessions
   • No clustering required
 •  JLAN Clustering
   • Hazelcast provides distributed locking
    http://www.hazelcast.com/


Hazelcast configuration
                   filesystem.cluster.enabled=[true,false]
                   Enables or disables the filesystem cluster.

                        filesystem.cluster.configFile
                     Location of Hazelcast configuration file

       http://wiki.alfresco.com/wiki/Configuring_Hazelcast_for_JLAN_clustering
Post 4.0 frontiers

SolR
  •    Index Shards
  •    Clustering (Read replication)
  •    Solr on EC2
  •    Faceted Search
  •    Term highlighting


Product evolution
  •  Cloud offering
  •  Benchmarking process
Recap - Remember the gotchas?
1.  In process (or in transaction) content indexing
  Asynchronous indexing with Solr
2.  Lucene index replicated & tracked per cluster node
   Centralized Solr indexing tier
3.  Query ‘bottlenecks’ during index maintenance
   Index load / maintenance moved to a separate tier
4.  Not all interfaces available in High Availability mode
   ContentDiskDriver2 & Hazelcast enable CIFS clustering
5.  Time Limited permission checking
   Solr filters query time deterministic permission checking
I swear this is all true!
Why, don’t you trust an Italian? 
Alfresco Platform Benchmarks (EE 4.0)
What are we going to test?
  •  Scenario driven
    •    Bulk loading / massive injection
    •    Enterprise Collaboration Platform
  •  Dimensions
    •    (#content nodes, #users, #cluster nodes)
    •    Overtime architectural options / versions
    •    Initial data points identified starting from field experience
What are we going to measure?
  •  Throughput
  •  Min/Avg/Max Response time
  •  Cluster scalability
What can you expect?
  •  Updated Scalability paper with quantitative information
  •  Initial comparative data with 3.4
Alfresco Benchmarks – Why?
For Community and Enterprise network
 •  Provide quantitative evaluation of Alfresco scalability
 •  Offer tooling to self benchmark Alfresco in your context

For Engineering Research
 •  Determine impact of new ideas
 •  Profile performance issue

For Sizing Guidelines
 •  How many CPUs do you require?
 •  How many documents can you store

For QA
 •  Performance Regression Tests
 •  Not a one-off exercise
 •  Become part of engineering process
Alfresco Benchmarks Tools
Repository benchmark suite
 •  JMeter scripts executable from ANT
    •    CMIS (Mixed and Sequential)
    •    WebDav (Mixed and Sequential)
 •  Available at HEADcoderootprojectsrepository-bm

Alfresco Bulk Import Tool
 • Hosted on Google Code
 • Now Multi-threaded!
 • Offers a “content streaming free” mode
 • Great performances (especially with no in txn indexing)

Collaboration Platform benchmark suite
 •  JMeter scripts executable from ANT
    •    Testing Alfresco Share functionalities with configurable concurrent
         users
    •    Not publicly available at the time of this writing
Thanks!
     Gabriele Columbro
     Principal Architect
   Consulting Services EMEA

gabriele.columbro@alfresco.com
         @mindthegabz
 http://www.mindthegab.com

Weitere ähnliche Inhalte

Was ist angesagt?

Guide to alfresco monitoring
Guide to alfresco monitoringGuide to alfresco monitoring
Guide to alfresco monitoringMiguel Rodriguez
 
HBaseCon 2012 | HBase Filtering - Lars George, Cloudera
HBaseCon 2012 | HBase Filtering - Lars George, ClouderaHBaseCon 2012 | HBase Filtering - Lars George, Cloudera
HBaseCon 2012 | HBase Filtering - Lars George, ClouderaCloudera, Inc.
 
Strata London 2019 Scaling Impala
Strata London 2019 Scaling ImpalaStrata London 2019 Scaling Impala
Strata London 2019 Scaling ImpalaManish Maheshwari
 
The State of HBase Replication
The State of HBase ReplicationThe State of HBase Replication
The State of HBase ReplicationHBaseCon
 
Meet hbase 2.0
Meet hbase 2.0Meet hbase 2.0
Meet hbase 2.0enissoz
 
HBase and HDFS: Understanding FileSystem Usage in HBase
HBase and HDFS: Understanding FileSystem Usage in HBaseHBase and HDFS: Understanding FileSystem Usage in HBase
HBase and HDFS: Understanding FileSystem Usage in HBaseenissoz
 
Tuning Apache Ambari performance for Big Data at scale with 3000 agents
Tuning Apache Ambari performance for Big Data at scale with 3000 agentsTuning Apache Ambari performance for Big Data at scale with 3000 agents
Tuning Apache Ambari performance for Big Data at scale with 3000 agentsDataWorks Summit
 
Operating and supporting HBase Clusters
Operating and supporting HBase ClustersOperating and supporting HBase Clusters
Operating and supporting HBase Clustersenissoz
 
Apache HBaseの現在 - 火山と呼ばれたHBaseは今どうなっているのか
Apache HBaseの現在 - 火山と呼ばれたHBaseは今どうなっているのかApache HBaseの現在 - 火山と呼ばれたHBaseは今どうなっているのか
Apache HBaseの現在 - 火山と呼ばれたHBaseは今どうなっているのかToshihiro Suzuki
 
Performance evaluation of cloudera impala (with Comparison to Hive)
Performance evaluation of cloudera impala (with Comparison to Hive)Performance evaluation of cloudera impala (with Comparison to Hive)
Performance evaluation of cloudera impala (with Comparison to Hive)Yukinori Suda
 
(DAT309) Scaling Massive Content Stores with Amazon Aurora
(DAT309) Scaling Massive Content Stores with Amazon Aurora(DAT309) Scaling Massive Content Stores with Amazon Aurora
(DAT309) Scaling Massive Content Stores with Amazon AuroraAmazon Web Services
 
Meet HBase 1.0
Meet HBase 1.0Meet HBase 1.0
Meet HBase 1.0enissoz
 
Cross-Site BigTable using HBase
Cross-Site BigTable using HBaseCross-Site BigTable using HBase
Cross-Site BigTable using HBaseHBaseCon
 
(Aaron myers) hdfs impala
(Aaron myers)   hdfs impala(Aaron myers)   hdfs impala
(Aaron myers) hdfs impalaNAVER D2
 
A Tale of 2 Systems
A Tale of 2 SystemsA Tale of 2 Systems
A Tale of 2 SystemsDavid Newman
 
HBase Advanced - Lars George
HBase Advanced - Lars GeorgeHBase Advanced - Lars George
HBase Advanced - Lars GeorgeJAX London
 
SQL 2012 AlwaysOn Availability Groups for SharePoint 2010 - AUSPC2012
SQL 2012 AlwaysOn Availability Groups for SharePoint 2010 - AUSPC2012SQL 2012 AlwaysOn Availability Groups for SharePoint 2010 - AUSPC2012
SQL 2012 AlwaysOn Availability Groups for SharePoint 2010 - AUSPC2012Michael Noel
 

Was ist angesagt? (18)

Guide to alfresco monitoring
Guide to alfresco monitoringGuide to alfresco monitoring
Guide to alfresco monitoring
 
HBaseCon 2012 | HBase Filtering - Lars George, Cloudera
HBaseCon 2012 | HBase Filtering - Lars George, ClouderaHBaseCon 2012 | HBase Filtering - Lars George, Cloudera
HBaseCon 2012 | HBase Filtering - Lars George, Cloudera
 
Strata London 2019 Scaling Impala
Strata London 2019 Scaling ImpalaStrata London 2019 Scaling Impala
Strata London 2019 Scaling Impala
 
The State of HBase Replication
The State of HBase ReplicationThe State of HBase Replication
The State of HBase Replication
 
Meet hbase 2.0
Meet hbase 2.0Meet hbase 2.0
Meet hbase 2.0
 
HBase and HDFS: Understanding FileSystem Usage in HBase
HBase and HDFS: Understanding FileSystem Usage in HBaseHBase and HDFS: Understanding FileSystem Usage in HBase
HBase and HDFS: Understanding FileSystem Usage in HBase
 
Tuning Apache Ambari performance for Big Data at scale with 3000 agents
Tuning Apache Ambari performance for Big Data at scale with 3000 agentsTuning Apache Ambari performance for Big Data at scale with 3000 agents
Tuning Apache Ambari performance for Big Data at scale with 3000 agents
 
Operating and supporting HBase Clusters
Operating and supporting HBase ClustersOperating and supporting HBase Clusters
Operating and supporting HBase Clusters
 
Apache HBaseの現在 - 火山と呼ばれたHBaseは今どうなっているのか
Apache HBaseの現在 - 火山と呼ばれたHBaseは今どうなっているのかApache HBaseの現在 - 火山と呼ばれたHBaseは今どうなっているのか
Apache HBaseの現在 - 火山と呼ばれたHBaseは今どうなっているのか
 
Performance evaluation of cloudera impala (with Comparison to Hive)
Performance evaluation of cloudera impala (with Comparison to Hive)Performance evaluation of cloudera impala (with Comparison to Hive)
Performance evaluation of cloudera impala (with Comparison to Hive)
 
(DAT309) Scaling Massive Content Stores with Amazon Aurora
(DAT309) Scaling Massive Content Stores with Amazon Aurora(DAT309) Scaling Massive Content Stores with Amazon Aurora
(DAT309) Scaling Massive Content Stores with Amazon Aurora
 
Meet HBase 1.0
Meet HBase 1.0Meet HBase 1.0
Meet HBase 1.0
 
Cross-Site BigTable using HBase
Cross-Site BigTable using HBaseCross-Site BigTable using HBase
Cross-Site BigTable using HBase
 
(Aaron myers) hdfs impala
(Aaron myers)   hdfs impala(Aaron myers)   hdfs impala
(Aaron myers) hdfs impala
 
A Tale of 2 Systems
A Tale of 2 SystemsA Tale of 2 Systems
A Tale of 2 Systems
 
The Impala Cookbook
The Impala CookbookThe Impala Cookbook
The Impala Cookbook
 
HBase Advanced - Lars George
HBase Advanced - Lars GeorgeHBase Advanced - Lars George
HBase Advanced - Lars George
 
SQL 2012 AlwaysOn Availability Groups for SharePoint 2010 - AUSPC2012
SQL 2012 AlwaysOn Availability Groups for SharePoint 2010 - AUSPC2012SQL 2012 AlwaysOn Availability Groups for SharePoint 2010 - AUSPC2012
SQL 2012 AlwaysOn Availability Groups for SharePoint 2010 - AUSPC2012
 

Ähnlich wie BP-1 Performance and Scalability

Summer training oracle
Summer training   oracle Summer training   oracle
Summer training oracle Arshit Rai
 
JavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the Cloud
JavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the CloudJavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the Cloud
JavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the CloudAaron Walker
 
Alfresco 4: Scalability and Performance
Alfresco 4: Scalability and PerformanceAlfresco 4: Scalability and Performance
Alfresco 4: Scalability and PerformanceAlfresco Software
 
SQL 2012 AlwaysOn Availability Groups for SharePoint 2013 - SharePoint Connec...
SQL 2012 AlwaysOn Availability Groups for SharePoint 2013 - SharePoint Connec...SQL 2012 AlwaysOn Availability Groups for SharePoint 2013 - SharePoint Connec...
SQL 2012 AlwaysOn Availability Groups for SharePoint 2013 - SharePoint Connec...Michael Noel
 
PLAT-4 Understanding the SOLR Integration
PLAT-4 Understanding the SOLR IntegrationPLAT-4 Understanding the SOLR Integration
PLAT-4 Understanding the SOLR IntegrationAlfresco Software
 
Streaming Solutions for Real time problems
Streaming Solutions for Real time problemsStreaming Solutions for Real time problems
Streaming Solutions for Real time problemsAbhishek Gupta
 
Summer training oracle
Summer training   oracle Summer training   oracle
Summer training oracle Arshit Rai
 
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...J V
 
The First Class Integration of Solr with Hadoop
The First Class Integration of Solr with HadoopThe First Class Integration of Solr with Hadoop
The First Class Integration of Solr with Hadooplucenerevolution
 
Jose portillo dev con presentation 1138
Jose portillo   dev con presentation 1138Jose portillo   dev con presentation 1138
Jose portillo dev con presentation 1138Jose Portillo
 
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2Dobler Consulting
 
CosmosDB for DBAs & Developers
CosmosDB for DBAs & DevelopersCosmosDB for DBAs & Developers
CosmosDB for DBAs & DevelopersNiko Neugebauer
 
Solr + Hadoop = Big Data Search
Solr + Hadoop = Big Data SearchSolr + Hadoop = Big Data Search
Solr + Hadoop = Big Data SearchMark Miller
 
Ultimate SharePoint Infrastructure Best Practices Session - Live360 Orlando 2012
Ultimate SharePoint Infrastructure Best Practices Session - Live360 Orlando 2012Ultimate SharePoint Infrastructure Best Practices Session - Live360 Orlando 2012
Ultimate SharePoint Infrastructure Best Practices Session - Live360 Orlando 2012Michael Noel
 
Introducing Oxia: A Scalable Zookeeper Alternative
Introducing Oxia: A Scalable Zookeeper AlternativeIntroducing Oxia: A Scalable Zookeeper Alternative
Introducing Oxia: A Scalable Zookeeper AlternativeHostedbyConfluent
 
OOW09 Ebs Tuning Final
OOW09 Ebs Tuning FinalOOW09 Ebs Tuning Final
OOW09 Ebs Tuning Finaljucaab
 
Developer’s intro to the alfresco platform
Developer’s intro to the alfresco platformDeveloper’s intro to the alfresco platform
Developer’s intro to the alfresco platformAlfresco Software
 

Ähnlich wie BP-1 Performance and Scalability (20)

Solr -
Solr - Solr -
Solr -
 
Summer training oracle
Summer training   oracle Summer training   oracle
Summer training oracle
 
JavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the Cloud
JavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the CloudJavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the Cloud
JavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the Cloud
 
Alfresco 4: Scalability and Performance
Alfresco 4: Scalability and PerformanceAlfresco 4: Scalability and Performance
Alfresco 4: Scalability and Performance
 
SQL 2012 AlwaysOn Availability Groups for SharePoint 2013 - SharePoint Connec...
SQL 2012 AlwaysOn Availability Groups for SharePoint 2013 - SharePoint Connec...SQL 2012 AlwaysOn Availability Groups for SharePoint 2013 - SharePoint Connec...
SQL 2012 AlwaysOn Availability Groups for SharePoint 2013 - SharePoint Connec...
 
PLAT-4 Understanding the SOLR Integration
PLAT-4 Understanding the SOLR IntegrationPLAT-4 Understanding the SOLR Integration
PLAT-4 Understanding the SOLR Integration
 
Streaming Solutions for Real time problems
Streaming Solutions for Real time problemsStreaming Solutions for Real time problems
Streaming Solutions for Real time problems
 
Summer training oracle
Summer training   oracle Summer training   oracle
Summer training oracle
 
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
 
The First Class Integration of Solr with Hadoop
The First Class Integration of Solr with HadoopThe First Class Integration of Solr with Hadoop
The First Class Integration of Solr with Hadoop
 
Laravel ppt
Laravel pptLaravel ppt
Laravel ppt
 
Jose portillo dev con presentation 1138
Jose portillo   dev con presentation 1138Jose portillo   dev con presentation 1138
Jose portillo dev con presentation 1138
 
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2
 
CosmosDB for DBAs & Developers
CosmosDB for DBAs & DevelopersCosmosDB for DBAs & Developers
CosmosDB for DBAs & Developers
 
Solr + Hadoop = Big Data Search
Solr + Hadoop = Big Data SearchSolr + Hadoop = Big Data Search
Solr + Hadoop = Big Data Search
 
Ultimate SharePoint Infrastructure Best Practices Session - Live360 Orlando 2012
Ultimate SharePoint Infrastructure Best Practices Session - Live360 Orlando 2012Ultimate SharePoint Infrastructure Best Practices Session - Live360 Orlando 2012
Ultimate SharePoint Infrastructure Best Practices Session - Live360 Orlando 2012
 
Introducing Oxia: A Scalable Zookeeper Alternative
Introducing Oxia: A Scalable Zookeeper AlternativeIntroducing Oxia: A Scalable Zookeeper Alternative
Introducing Oxia: A Scalable Zookeeper Alternative
 
Ora 4 the_sqldba
Ora 4 the_sqldbaOra 4 the_sqldba
Ora 4 the_sqldba
 
OOW09 Ebs Tuning Final
OOW09 Ebs Tuning FinalOOW09 Ebs Tuning Final
OOW09 Ebs Tuning Final
 
Developer’s intro to the alfresco platform
Developer’s intro to the alfresco platformDeveloper’s intro to the alfresco platform
Developer’s intro to the alfresco platform
 

Mehr von Alfresco Software

Alfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossierAlfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossierAlfresco Software
 
Alfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management applicationAlfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management applicationAlfresco Software
 
Alfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion HogescholenAlfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion HogescholenAlfresco Software
 
Alfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente AmsterdamAlfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente AmsterdamAlfresco Software
 
Alfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of AlfrescoAlfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of AlfrescoAlfresco Software
 
Alfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo GroupAlfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo GroupAlfresco Software
 
Alfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About FlowAlfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About FlowAlfresco Software
 
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...Alfresco Software
 
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...Alfresco Software
 
Alfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest APIAlfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest APIAlfresco Software
 
Alfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-KonsoleAlfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-KonsoleAlfresco Software
 
Alfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit AlfrescoAlfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit AlfrescoAlfresco Software
 
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...Alfresco Software
 
Alfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: WesternacherAlfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: WesternacherAlfresco Software
 
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...Alfresco Software
 
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novumAlfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novumAlfresco Software
 
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...Alfresco Software
 
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...Alfresco Software
 
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - SafranAlfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - SafranAlfresco Software
 
Alfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital BusinessAlfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital BusinessAlfresco Software
 

Mehr von Alfresco Software (20)

Alfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossierAlfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossier
 
Alfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management applicationAlfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management application
 
Alfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion HogescholenAlfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
 
Alfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente AmsterdamAlfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
 
Alfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of AlfrescoAlfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of Alfresco
 
Alfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo GroupAlfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo Group
 
Alfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About FlowAlfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About Flow
 
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
 
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
 
Alfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest APIAlfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest API
 
Alfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-KonsoleAlfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-Konsole
 
Alfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit AlfrescoAlfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit Alfresco
 
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
 
Alfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: WesternacherAlfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
 
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
 
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novumAlfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novum
 
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
 
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
 
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - SafranAlfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
 
Alfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital BusinessAlfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital Business
 

Kürzlich hochgeladen

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 

Kürzlich hochgeladen (20)

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 

BP-1 Performance and Scalability

  • 1. Alfresco Scalability and Performance How Alfresco 4.x will solve all you headaches around scalable ECM solutions
  • 2. Agenda ECM high end scenarios •  ECM platform use cases •  What is ECM scalability? Alfresco ECM scalability and performance •  What we (should) already know •  Alfresco 3.4 improvements •  Alfresco 4.0 “hardening” features •  Apache SolR •  Clustered filesystems •  Post 4.0 scalability opportunities Alfresco Platform benchmarks •  Benchmarks rationales and progress •  Alfresco Benchmark Tools
  • 3. Alfresco ECM Solutions What do you expect from an ECM system? •  ECM semantics grows alongside with the ‘content explosion’ •  The Classic Alfresco ECM Trio •  System of Record (Massive Injection & Retrieval Content Platform) •  System of Engagement (Enterprise Collaboration Platform) •  Web Content Publishing (Multichannel XML/HTML delivery) •  The present (and future) •  Social Content Management •  Records Management & Archival •  Business Intelligence (Content & Workflow OLAP) •  Each solution has specific requirements around 1.  Scalablity 2.  Information retrieval Isolation
  • 4. ECM Scalability defined What does scalability mean for ECM? •  Performance •  “Acceptable” to “No” search degradation as users/content grow •  “Acceptable” to “No” browsing degradation as users/content grow •  Geo-independence of the system (if global) •  Availability •  Offer service continuity upon •  Disasters •  Functional / corrective maintenance •  No single point of failure •  Load distribution •  Parallelization •  Optimization of CPU usage ($$$) per transaction Scalability requirements are solution dependent … So pick your battles!
  • 5. Alfresco is designed to scale At any level of the infrastructure •  Repository •  Cluster nodes can be added dynamically •  Ehcache supports distributed cache replication •  User interface •  Alfresco Share is stateless and HTTP based •  Share can scale out independently from the repository •  Database •  Alfresco supports Master / Slave DB replication •  Solutions a la Oracle RAC are also supported •  Storage •  Content Addressable Storage (XAM) support – Enterprise Only •  Content Store Selector – Enterprise Only Check out the Scale your Alfresco Solutions paper! http://support.alfresco.com/ics/support/DLRedirect.asp?fileID=18158
  • 6. Full-Blown Multi-layer scalable architecture Load Balancer Share Share Share Share App Srv App Srv App Srv App Srv Load Balancer Alfresco Alfresco Alfresco Alfresco EHCache EHCache EHCache EHCache Index Index Index Index Database Database Database Content (Master) (Slave) Store Failover Database Clustering Content Content Store 1 store 2 Content store selector
  • 7. Levels of ECM Information Isolation Think about it as “transaction isolation” for Databases 1.  SERIALIZABLE •  System of records 2.  REPEATABLE_READS 3.  READ_COMMITTED 4.  READ_UNCOMMITTED
  • 8. Where does your solution stand? Identify where your solution is in the graph, then trade off between consistency & performance! There is NO one size fits all, so pick your battles!
  • 9. 10 tips you MUST know to scale Alfresco 1.  Disable quotas when unneeded system.usages.enabled=false 2.  Disable audit audit.enabled=false 3.  When ~1M docs and above fine tune #index segments http://wiki.alfresco.com/index.php?title=Index_Merging_Performance 4.  Tune DB pool size (default for evaluation mode) db.pool.max=225 5.  And don’t forget to tune DB accordingly Ask your DBA to allow enough incoming connections (especially in high concurrency) 6.  Use multi-operation batches for your transactions Transaction setup and teardown are expensive! 7.  For bulk injection you can disable in transaction indexing index.tracking.disableInTransactionIndexing=true 8.  Tune permission checking behavior system.acl.maxPermissionChecks and system.acl.maxPermissionCheckTimeMillis 9.  Read the “Scale your Alfresco Solutions” paper! 10. Call me  (or any other Alfresco Consultant)
  • 10. 5 scalability gotchas prior to Alfresco 3.4 1.  In process (or in transaction) content indexing  Alfresco spending transaction time to update Lucene index 2.  Lucene index replicated & tracked per cluster node  Additional DB and Alfresco load for IndexTransactionTracker 3.  Query ‘bottlenecks’ during index maintenance  High (blocking) CPU spike during index merging 4.  Not all interfaces available in High Availability mode  Additional DB and Alfresco load for IndexTransactionTracker 5.  Time Limited permission checking  Non deterministic search results on large user / content bases
  • 11. Alfresco 3.4 scalability improvements •  Hibernate removal •  Improved / optimized DB querying with Ibatis •  Faster commit time •  Permission checking improvements •  Ongoing work in all 3.x versions •  Content Replication •  Geographic master/slave distribution of content •  Can be used also for archival, WCM deployment, etc. •  Site performance project (Enterprise 3.4.6) •  High Share concurrency scenarios •  Tested and usable up to 60.000 Share sites!
  • 12. Alfresco 4.0 radical answers to scalability •  Introduction of logical separate indexing tier •  Apache Solr Integration •  NOTE: Eventual vs transactional index consistency •  Clustering for File System interfaces (e.g. CIFS) •  ContentDiskDriver2 •  Scenario specific session linked state distributed using Hazelcast •  Deterministic permission checking •  Refactored DB canned queries allow in query checking •  Solr filters allow in search permission checking
  • 13. The Apache SOLR subsystem Rationale •  Removes Lucene load from Alfresco Repository •  Externalize and centralize a logical indexing tier •  Avoid per cluster node index tracking Architectural features •  Pull (vs. Push) indexing •  Solr polls Alfresco periodically for index updates •  Default 15s  can be configured •  Can be scaled out •  Multi Solr architectural options •  NOTE: sharding/clustering not available yet •  Dedicated or shared Enterprise search engine
  • 14. Alfresco / SolR Logical Architecture Search  Requests   Search Results Repository   Async:     Index  Polling   Solr   Content  Store Database   (s)   Storage   Updates   Models Solr Cores:
 ACLS - Workspace Properties & Content Solr   - Archive Cores  
  • 15. Transparent indexing tier scalability! Repo Repo Solr Solr Load Balancer Load Balancer Solr Solr Search Index
  • 16. Solr Implications Do I have to migrate? •  No, you can still use Lucene indexing subsystem •  Solr can be configured to run and index in parallel Key Features •  No in-txn indexing •  One core per Alfresco store (e.g. WorkspaceStore, ArchiveStore) •  Cores can be configured separately •  In query permission checking with Solr filters •  Deterministic Alfresco impacts •  Wherever “transactional consistency” was needed index queries have been substituted with DB “canned queries” •  Authentication, Doclib, Bootstrap, Check-in/out amongst others •  Implementers should be aware of eventual index consistency
  • 17. Transactional vs. Eventual index update Transactional (prior to 4.0) Eventual (4.0) •  Indexes updated within •  Index server periodically the database txn polls repository (default =15s) Pros Pros •  Indexes consistent with DB •  Faster commit time (50%) at any time •  Separately scalable tier •  Applications can work •  Configurable index delay independently with DB or indexes •  Independent from Cons #(concurrent users) •  Resource intensive •  Slower commit time Cons •  Index locking and •  Dirty or non repeatable contemption with index reads are possible concurrent user growth •  Cannot be used where transactional consistency is needed •  E.g. RM, AVM, custom apps
  • 18. Clustered file systems What’s new? • ContentDiskDriver2  Brand new implementation • JLAN-Alfresco interface binds state to sessions • No clustering required •  JLAN Clustering • Hazelcast provides distributed locking http://www.hazelcast.com/ Hazelcast configuration filesystem.cluster.enabled=[true,false] Enables or disables the filesystem cluster. filesystem.cluster.configFile Location of Hazelcast configuration file http://wiki.alfresco.com/wiki/Configuring_Hazelcast_for_JLAN_clustering
  • 19. Post 4.0 frontiers SolR •  Index Shards •  Clustering (Read replication) •  Solr on EC2 •  Faceted Search •  Term highlighting Product evolution •  Cloud offering •  Benchmarking process
  • 20. Recap - Remember the gotchas? 1.  In process (or in transaction) content indexing Asynchronous indexing with Solr 2.  Lucene index replicated & tracked per cluster node  Centralized Solr indexing tier 3.  Query ‘bottlenecks’ during index maintenance  Index load / maintenance moved to a separate tier 4.  Not all interfaces available in High Availability mode  ContentDiskDriver2 & Hazelcast enable CIFS clustering 5.  Time Limited permission checking  Solr filters query time deterministic permission checking
  • 21. I swear this is all true!
  • 22. Why, don’t you trust an Italian? 
  • 23. Alfresco Platform Benchmarks (EE 4.0) What are we going to test? •  Scenario driven •  Bulk loading / massive injection •  Enterprise Collaboration Platform •  Dimensions •  (#content nodes, #users, #cluster nodes) •  Overtime architectural options / versions •  Initial data points identified starting from field experience What are we going to measure? •  Throughput •  Min/Avg/Max Response time •  Cluster scalability What can you expect? •  Updated Scalability paper with quantitative information •  Initial comparative data with 3.4
  • 24. Alfresco Benchmarks – Why? For Community and Enterprise network •  Provide quantitative evaluation of Alfresco scalability •  Offer tooling to self benchmark Alfresco in your context For Engineering Research •  Determine impact of new ideas •  Profile performance issue For Sizing Guidelines •  How many CPUs do you require? •  How many documents can you store For QA •  Performance Regression Tests •  Not a one-off exercise •  Become part of engineering process
  • 25. Alfresco Benchmarks Tools Repository benchmark suite •  JMeter scripts executable from ANT •  CMIS (Mixed and Sequential) •  WebDav (Mixed and Sequential) •  Available at HEADcoderootprojectsrepository-bm Alfresco Bulk Import Tool • Hosted on Google Code • Now Multi-threaded! • Offers a “content streaming free” mode • Great performances (especially with no in txn indexing) Collaboration Platform benchmark suite •  JMeter scripts executable from ANT •  Testing Alfresco Share functionalities with configurable concurrent users •  Not publicly available at the time of this writing
  • 26. Thanks! Gabriele Columbro Principal Architect Consulting Services EMEA gabriele.columbro@alfresco.com @mindthegabz http://www.mindthegab.com