Elasticsearch and Redis : NoSql
The colorful bubble logo is of Elasticsearch, while the redish logo is of Redis.
First let's talk about Elastic search..
Elasticsearch is an open source search engine. Now, what is a search engine? Search engine is basically a website, for example: google.com, yahoo.com, bing and MSN. What we look as Google chrome, Safari or Internet Explorer is basically a Web browser. Let's say we type "www.facebook.com" in a web browser's address bar, then the web browser will take us directly to the website "facebook.com". As for search engine, if we type in its search bar, "www.facebook.com", then it will open up different links according to the search algorithm.
So Elasticsearch is like a search engine. But it is different from traditional search engines. Like in most of the search engines, tables are used to store data, while elasticsearch is no schema based search engine. In place of tables, JSON documents are used in Elasticsearch. It is based upon Lucene Library.
You can install it on your PC and use it to search in real time via queries. It also provides HTTP interface for searching. It is the mostly used search engine in enterprises. The main advantages of Elasticsearch are:
- It is open source (Apache licensed)
- It is really really really fast (instant search + auto-completion + Index search)
- It is scalable
- It can be used on a system which has Java 7 + version (cross-platform)
You can find it's documentation here: Learn
Also the source code is available here: Source Code
You may test it here: Test
And the amazing tutorial is here: Tutorial
Side Note: Developed by Elastic NV, author: Shay Banon, landed on earth in 2008 :)
Now what is Redis...
Well, Redis is basically a key-value store. Or It can simply be called as a NoSql database. Here the data is stored in the forms of different Data structures like lists, strings, hashes and other things except Tables. (Beware there are no Tables so NoSQL)
Redis is developed by Salvatore Sanfilippo. Redis is the FASTEST database used by most of the enterprises. Well-known Companies; using Redis include:
- Twitter.
- GitHub.
- Pinterest.
- Snapchat.
- StackOverflow.
Redis is super fast as it uses only a single thread, so there are no thread conflicts, it also uses Pipelining for its processes. Redis uses master-slave phenomenon. Any server could be a master or a slave. You can make it faster by assigning one task to one slave, like one slave or server is responsible only for reading data while the other is responsible only for writing data.
It is written in C language. So is compatible with BSD, Windows, Macintosh and Linux.
You can find its documentation on its official website : redis.io
Side Note: It is also an Open Source DB
What's the conclusion?
So the conclusion is that, today data is growing exponentially and in order to deal with it; enterprises need scalability, speed and performance (along with some other things).. and..
Elasticsearch + Redis = nearly All of those things
Comments
Post a Comment