Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Brighton 2016

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on. →

Brighton 2016

Avatar for Ashish Thakur

Ashish Thakur

June 18, 2016

Other Decks in Technology

Transcript

  1. About Me { "_index": "drupal.org", "_type": "users", "_id": 945606, "_version":

    1, "found": true, "_source": { "name": "Ashish Thakur", "company": "Srijan", "user_name": "a_thakur": "interests": [ "cooking", "mountain biking", "hiking", ] } } GET /drupal.org/users/945606
  2. About Srijan • Based out of India • Largest Drupal

    Company in Asia • Open and transparent culture • Open source contribution is highly promoted
  3. Elasticsearch Elasticsearch is your new best friend :) • Provides

    full text search easy by hiding complexities of Lucene behind a RESTful API • Not just a search engine • Distributed by nature: scales to multiple servers in a cluster and distributes data among shards and nodes with relative ease • Easy learning curve which leads to better productivity
  4. Relational DB • Database • Tables • Rows • Columns

    Elasticsearch and Relational DB: A quick comparison Elasticsearch • Indices • Types • Documents • Fields
  5. Shards, Nodes and Cluster Source: Elasticsearch: The Definitive Guide by

    Clinton Gormley and Zachary Tong (O’Reilly). 3 node cluster with 3 primary shards and 1 replica shard
  6. Distributed Nature Elasticsearch is distributed out of the box •

    No prior knowledge of distributed systems concepts like sharding, cluster discovery is required • Elasticsearch hides the complexity of distributed systems by ◦ Partitioning documents into different containers or shards ◦ Balancing the shards across nodes to spread indexing and search load ◦ Replicating each shard to provide redundancy, to prevent data loss ◦ Routing requests from nodes in the cluster to get the data you want ◦ Seamlessly integrating new nodes as your cluster grows or redistributing shards to recover from node loss
  7. Life Inside a cluster • Elasticsearch is built to be

    always available, and to scale with your needs. • Scale can come from buying bigger servers (vertical scale, or scaling up) or from buying more servers (horizontal scale, or scaling out). • Vertical Scaling has it’s limit, real scaling can be achieved using horizontal scaling. • The ability to add more nodes to the cluster and to spread load and reliability between them.
  8. Modules Used • Elasticsearch Connector: https://www.drupal. org/project/elasticsearch_connector • Search API:

    https://www.drupal.org/project/search_api • Views: https://www.drupal.org/project/views
  9. Elasticsearch connector Roadmap • Focus on D8 release • Abstraction

    based architecture for better portability • Have CI and automated tests in place
  10. References • Elasticsearch: The Definitive Guide by Clinton Gormley and

    Zachary Tong (O’Reilly). Copyright 2015 Elasticsearch BV, 978-1-449-35854-9. • Elasticsearch Connector: https://www.drupal. org/project/elasticsearch_connector • Search API: https://www.drupal.org/project/search_api