To infinity and beyond: A practical guide to ElasticSearch

This video is in English.
Length: 40:03
Source: YAPC::EU 2012 on the 2012-08-20.
Speaker: Clinton Gormley (DrTech) speaker
To follow the presentation check out the slides.

Elastic::Model is a new framework to store your Moose objects, which uses ElasticSearch as a NoSQL document store and flexible search engine.

It is designed to make small beginnings simple, but to scale easily to Big Data requirements without needing to rearchitect your application. No job too big or small!

This talk will introduce Elastic::Model, demonstrate how to develop a simple application, introduce some more advanced techniques, and discuss how it uses ElasticSearch to scale.

Elastic Model on GitHub.

  • Do you have an idea for a killer app?
  • Marvellous success!
  • Need scaling!

Do you really need a relational DB? (faster horse?)


  • No transaction
  • No joins
  • Denorlamized data


Elastic Search is a Lucene based product. A powerful full text search (Near real time: < second) Real time document store
  • Easy sharding
  • Start small, Scale massively

ElasticSearch terminology

  • index is like a database
  • type is like a table
  • doc is like a row in a table
  • alias is like a symbolic link, points to one or more indices

Elastic::Model terminology

  • domain - An index or and alias, used for CRUD
  • namespace - Maps type <=> class for all associated domains
  • model - Connects your app to elasticsearch