<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Dinesh Babu</title>
    <description>The latest articles on DEV Community by Dinesh Babu (@hvdineshbabu).</description>
    <link>https://dev.to/hvdineshbabu</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3996003%2F1ffa1989-37cb-4fc8-a28f-405b6f4f628e.png</url>
      <title>DEV Community: Dinesh Babu</title>
      <link>https://dev.to/hvdineshbabu</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hvdineshbabu"/>
    <language>en</language>
    <item>
      <title>Session 4 summary</title>
      <dc:creator>Dinesh Babu</dc:creator>
      <pubDate>Mon, 22 Jun 2026 04:32:28 +0000</pubDate>
      <link>https://dev.to/hvdineshbabu/session-4-summary-28in</link>
      <guid>https://dev.to/hvdineshbabu/session-4-summary-28in</guid>
      <description>&lt;p&gt;In the last session a few different concepts were taught:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;ACID properties&lt;/li&gt;
&lt;li&gt;SQL transaction modes with demonstration on different levels&lt;/li&gt;
&lt;li&gt;Redis caching&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;My understanding of these concepts are as follows:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. ACID properties:&lt;/strong&gt; We were taught about atomicity and isolation. So atomicity simply means that either a transaction occurs or it doesn't. There shouldn't be any intermediate results for a transaction. For example, let us consider a transaction whereby a transfer of money is occuring from one bank account to another, if the debit occurs from the sender's account but fails at a point before crediting in receiver's account, the transaction is rolled back. We were also taught about isolation which means when two or more transactions are parallely running, data access and writing should not affect each other and it also entirely depends on the requirement.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. SQL transactions:&lt;/strong&gt;  I tried queries in MySQL between different transaction using different modes: READ-COMMITTED, READ-UNCOMMITTED, REPEATABLE-READ and SERIALIZABLE.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Redis caching:&lt;/strong&gt; We were taught about redis and its uses. Two different scenarios were demonstrated and performance was evaluated using locust tool. When we didn't use redis for caching the read operations on a large database consisting of 1 lakh records in a specific table. When the load testing was tried, we got about 40,000 requests throughout the test period. After redis cache was introduced to the same scenario, we got about 84,000 requests. We followed cache aside technique for the application and it had clear improvements in number of requests it could handle. Cache aside works as follows:&lt;/p&gt;

&lt;p&gt;Request comes from client ---&amp;gt; Redis cahce is checked for data ---&amp;gt; If data is present, return the data ---&amp;gt; If data is not present, the request is sent to the database ---&amp;gt; Fetched data is stored in redis cache for subsequent requests ---&amp;gt; Data is returned to the client.&lt;/p&gt;

</description>
      <category>backend</category>
      <category>database</category>
      <category>learning</category>
      <category>sql</category>
    </item>
    <item>
      <title>Session 5 summary</title>
      <dc:creator>Dinesh Babu</dc:creator>
      <pubDate>Mon, 22 Jun 2026 04:05:19 +0000</pubDate>
      <link>https://dev.to/hvdineshbabu/session-5-summary-5agg</link>
      <guid>https://dev.to/hvdineshbabu/session-5-summary-5agg</guid>
      <description>&lt;p&gt;Today I learnt about short polling, long polling and server side events from the system design class.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Short polling:&lt;/strong&gt; The client sends requests at timed intervals to the server to get the information. For example, we could set the interval as 5 seconds and the request is sent from the client every 5 seconds to check if the requested data is actually available from the server.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Long polling:&lt;/strong&gt; The client sends a request to the server and the server holds the requests until the requested data is available. It is bound to using server resources more and many connections are wasted.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Server-side events:&lt;/strong&gt; This is the method whereby the server sends data in regular intervals. In javascript, we can use the EventResource object that creates a connection between the server and the client and at constant intervals, data is sent from the server to the client.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>learning</category>
      <category>systemdesign</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
