Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
New Mechanism of MagentoIndexers
MagentoMagentoTrainingCenterIntroduction• Max PronkoMax PronkoEbay Inc.Technical LeadUkraine, KyivFan of this book
MagentoMagentoTrainingCenterIndexingWhat is index? Mage_Index Module
MagentoMagentoTrainingCenterAgenda: IndexersHow it was before How it is now
MagentoMagentoTrainingCenterComplaints about existing indexers•Slow execution (~6 hours for full re-index)•Database locks ...
MagentoMagentoTrainingCenterNot friendly for community extensionsSystem loses control
MagentoMagentoTrainingCenterNew code in the system!!!Index Module Index ModuleIndex ModuleCatalog IndexModule• Entity chan...
MagentoMagentoTrainingCenterHow do we control our systemDatabase TriggerSystem Trigger Changelog TriggerData ChangesEAV Di...
MagentoMagentoTrainingCenterHow do we control our system – System Trigger•Each data change causes to index invalidationWeb...
MagentoMagentoTrainingCenterHow do we control our system – System TriggerEvent Name Operation Options IndexerEAV Attribute...
MagentoMagentoTrainingCenterHow do we control our system – Changelog Trigger•Changelog triggers track entity changesEntity...
MagentoMagentoTrainingCenterBefore and after – index declarationBeforeAfter
MagentoMagentoTrainingCenterBefore and after – matching and register the eventBeforeAfter
MagentoMagentoTrainingCenterBefore and after – processing the eventBeforeAfter
MagentoMagentoTrainingCenterBefore and afterFile locking Database locking
MagentoMagentoTrainingCenterSystem Configuration
MagentoMagentoTrainingCenterSpecific optimizations•Full re-index performance has improved•Full re-index is required in lim...
MagentoMagentoTrainingCenterKnown issues•Statement base replication does not supported–For more info: http://tinyurl.com/n...
MagentoMagentoTrainingCenterThank youemail: mpronko@ebay.com skype: mcspronko twitter: @max_pronko
Upcoming SlideShare
Loading in …5
×

Maksym Pronko

561 views

Published on

Do you ask yourself about ways to speed up solution you have already had which helps customers get information faster and easier? The answers are very important for consumers who work with Magento product. In this presentation I am going to highlight the new mechanism which helped to optimize index operations. You will understand indexer architecture and how Magento uses database triggers, background operations and business events in order to achieve great results on indexing with big amount of data.

Published in: Technology, Business
  • Be the first to comment

Maksym Pronko

  1. 1. New Mechanism of MagentoIndexers
  2. 2. MagentoMagentoTrainingCenterIntroduction• Max PronkoMax PronkoEbay Inc.Technical LeadUkraine, KyivFan of this book
  3. 3. MagentoMagentoTrainingCenterIndexingWhat is index? Mage_Index Module
  4. 4. MagentoMagentoTrainingCenterAgenda: IndexersHow it was before How it is now
  5. 5. MagentoMagentoTrainingCenterComplaints about existing indexers•Slow execution (~6 hours for full re-index)•Database locks in the system•No partial re-index•Indexers code is difficult to maintain
  6. 6. MagentoMagentoTrainingCenterNot friendly for community extensionsSystem loses control
  7. 7. MagentoMagentoTrainingCenterNew code in the system!!!Index Module Index ModuleIndex ModuleCatalog IndexModule• Entity changes tracking• Indexing• System changes tracking• UI changes• Linear control• Cron schedulerExtendsEnterprise level
  8. 8. MagentoMagentoTrainingCenterHow do we control our systemDatabase TriggerSystem Trigger Changelog TriggerData ChangesEAV Directory Catalog
  9. 9. MagentoMagentoTrainingCenterHow do we control our system – System Trigger•Each data change causes to index invalidationWebsiteStoreStore GroupConfigurationEAV AttributeMetadata index table Index tableIndex ModuleRefresh Action ScriptSystem TriggerCron
  10. 10. MagentoMagentoTrainingCenterHow do we control our system – System TriggerEvent Name Operation Options IndexerEAV Attribute Insert, update, delete is_searchableis_visible_in_advanced_searchis_filterableis_filterable_in_searchused_for_sort_byis_used_for_promo_rulesis_used_for_promo_rulescatalog_product_flatcatalog_category_flatCatalog, inventoryconfigurationInsert, update, delete catalog_price_scopeshow_out_of_stockmanage_stockflat_catalog_productflat_catalog_categorycatalog_product_index_pricecatalog_category_flatcatalog_product_flatStore Insert, update, delete catalog_category_product_indexStore Group Insert, update, delete catalog_category_product_indexcatalog_category_flatWebsite Delete catalog_category_product_index
  11. 11. MagentoMagentoTrainingCenterHow do we control our system – Changelog Trigger•Changelog triggers track entity changesEntityTableChangelog tablesRefresh by Changelog ActionChangelog TriggersIndex ModuleCronIndex TableMetadata Index Table
  12. 12. MagentoMagentoTrainingCenterBefore and after – index declarationBeforeAfter
  13. 13. MagentoMagentoTrainingCenterBefore and after – matching and register the eventBeforeAfter
  14. 14. MagentoMagentoTrainingCenterBefore and after – processing the eventBeforeAfter
  15. 15. MagentoMagentoTrainingCenterBefore and afterFile locking Database locking
  16. 16. MagentoMagentoTrainingCenterSystem Configuration
  17. 17. MagentoMagentoTrainingCenterSpecific optimizations•Full re-index performance has improved•Full re-index is required in limited cases of system changes•Most of re-index operations are processed on the fly (cron)•Only changed entities are being processed•Ensure Frontend availability•Indexers run in background
  18. 18. MagentoMagentoTrainingCenterKnown issues•Statement base replication does not supported–For more info: http://tinyurl.com/no3znzj•Overhead with information
  19. 19. MagentoMagentoTrainingCenterThank youemail: mpronko@ebay.com skype: mcspronko twitter: @max_pronko

×