Elastic Search
Highly scalable open source search and analytic engine.Store search and analyse big volume of data.
Written in Java.
- NTR - Near Real time - From the time you index a document to the time its searchable. With a delay of 1s
- Cluster - collection of nodes(servers) that hold the data. Cluster is identified by a name and nodes join the cluster by its name.
- Default name - elasticsearch
- Node - Single server part of cluster stores data
- Default name - UUID
- Index - collection of documents with similar characteristics.. - Database.
- there can be multiple indexes in a single cluster.
- Type - Category of multiple documents. index has one ore more types. Logical partition of your index. Name and mapping. Similar to mysql table ?
- Class in OOP.
- Index can have one or more types.
- Document - a unit of info. Json Schema less . Stored with in an index / type
- Key - value pairs.
- Object in OOP.
- Mapping - Similar Schema of table for a document.
- Include data type
- How fields should be indexed.
Analogy to Relation Database :
- Index - DB
- Type - table
- document - row in table
- Fields - column
- Mapping - schema
Shards - Improve scalability
Index divided into multiple pieces called shard.
Improve scalability.
Index contains more data than the node can store. Sharding comes handy.
Allows distribute and parallelise operations.
Allows distribute and parallelise operations.
Replica :
Copy of Shard.
Handles node failure.
Handles node failure.
Comments
Post a Comment