We all must have used database like Oracle/MySql for storing data, where our data get stored in relational forms, we perform CRUD operation, manage transactions and application storage.
At times, when application is too large, at enterprise level I’m talking about, till certain limit we can scale it and we do have limited resources and with certain constraint. I’m sure at large scale you would eventually think of caching instead of managing connection with database, performing CRUD and maintaining it, considering IO cost.
So, here comes caching part where many systems can be integrated/used like Redis/memcached. These are NoSQL database system used, which are also known as in-memory database. In large and distributed systems, performance issues related to say scalability forces to add some caching to system which helps in managing/reducing load on RDBS. So, here comes what caching system means, what is Redis and more about learning and getting certified.
Page Contents
What is caching system and why do we need caching system?
Let’s consider, there is an application which is used by very large user base, the distributed system gets/manage millions of user request. Application handles user data, application data and some transaction level data which is managed during user interaction or user session and obviously, we need database to store and manage that data while maintaining user engagement.
As said earlier, scenario is of huge user base and you have to maintain all data, handle every operation keeping in mind the performance of application. Moreover, in some scenarios there is data which doesn’t require much frequent updates and is handled in user interaction, you will still need to have interaction with MySQL/Oracle in that case, and you know about costing factor, which plays a major role in real time systems.
So what can be the alternate for this? We can’t ignore the data and storage part! For that, caching comes to the rescue guys. I went through such scenario and Redis helped a lot! In high end computing systems, caching is storage layer which has some subset of whole lot of data which is much faster to access/served. We can efficiently re-use predefined dataset with tuned queries and optimised code. It’s nothing but in-memory (RAM) data storage systems, helps in faster retrieval of data whenever needed, reducing query cost to relational storage systems, helps in reducing IO cost, faster and better performance while scaling up.
Introduction to Redis
Redis (REmote DIctionary Server) is an open source, NoSql database system which has key value format of storage.
Here is what redis.io
has mentioned about Redis:
Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams.
It has integration support with many programming languages and used widely by many tech-giants for distributed systems. Practically, Redis is used as:
- caching system
- search systems
- geospatial time series data
- messaging or queuing etc.
Wanna try online? visit http://try.redis.io/
Also they have good documentation https://redislabs.com/
Learn about Redis java example here.
My experience with Redis, about learning at university and certification course.
Coming to my experience with Redis, it’s amazing! I worked on one of the project where Redis was used as caching layer along with MySql. Performance was awesome, querying such a huge dataset in ~1 ms what amazed me. Redis as a client was connected with Java application using Jedis library and it’s very easy to use.
Later, I attended AWS Summit 2019 @ Mumbai, where I met and interacted Redis team. It helped me a lot to learn more about it from case studies shared by them and also they helped with exploring Redis by educational content provided by them on Redis university
. Yes, that’s where I gained excitement about learning and exploring more about it. I came back and decided to join course online and get certified.
Here are my course certificates 🙂
Courses are very interesting and contents are very well explained by instructors. Whole course is of around 5-6 weeks including final exam. Video courses along with home work every week, and virtual lab experiments will help a lot. Course covered real life applications where you can play with data and code on virtual labs. They have discussion forums also and instructor are also fully engaged there. Thanks for providing such a wonder platform for learning.
After you graduate, you will earn a certificate and also you will get a chance to join Redis stars community 🙂
On final note, it is wonderful to explore new technology which can help and solve real world problem and fun to learn. I would love to come with more on it.
References:
Image : wikipedia redis page
Learn on : https://redis.io and https://university.redislabs.com/
Dear reader, a sincere review from you would encourage me to write even more 😉
Stay tuned. Happy Learning.
Thanks 🙂
Very nice sir, can you please post a practical blog as well with scenario, so it’s helps more to explore.
Thanks.
Thanks Param,
Sure, will be posted soon.
[…] NoSql nowadays, used at large scale and for distributed applications. I’ve written article on Redis and basic example, which again is used as different purposes like storage, caching […]
[…] can be? Yes, Redis can help with this scenario and you may read more related to this with my post Introduction to caching, Redis and certification.It is also considered as basic things with database design, and developer should know about this. […]