<?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: Kiran</title>
    <description>The latest articles on DEV Community by Kiran (@kiranravichandran).</description>
    <link>https://dev.to/kiranravichandran</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1224091%2F6b20fd3f-3335-47de-a2ab-73eb24053afb.png</url>
      <title>DEV Community: Kiran</title>
      <link>https://dev.to/kiranravichandran</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kiranravichandran"/>
    <language>en</language>
    <item>
      <title>How to optimize latency and throughput</title>
      <dc:creator>Kiran</dc:creator>
      <pubDate>Sun, 22 Dec 2024 10:44:36 +0000</pubDate>
      <link>https://dev.to/kiranravichandran/how-to-optimize-latency-and-throughput-1cd5</link>
      <guid>https://dev.to/kiranravichandran/how-to-optimize-latency-and-throughput-1cd5</guid>
      <description>&lt;p&gt;Most of us are familiar with deploying our applications to the cloud using EC2. However, if you're running a large instance and not achieving the expected performance, then this blog is for you.&lt;/p&gt;

&lt;p&gt;Let's compare two different instances: the c5.large and the c8g.large for better understanding&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F868lkg54h7ooiitkv0pk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F868lkg54h7ooiitkv0pk.png" alt="Image description" width="800" height="216"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8hpsw3zlbs2i5206hrp0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8hpsw3zlbs2i5206hrp0.png" alt="Image description" width="800" height="204"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On comparing we could see the vCPU and Memory is same for both the instances, but though they are same we could see c8g is slight cheaper than c5 large instance, also c8g comes under graviton family, where AWS claims graviton processors are 40% better performance at up to 20% lower cost over comparable x86-based instances.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4bq202drnlfdwqsjvij9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4bq202drnlfdwqsjvij9.png" alt="Image description" width="800" height="216"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On the other hand AWS Graviton-based Amazon EC2 instances use up to 60% less energy than comparable EC2 instances for the same performance, reducing carbon foot prints.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F823twox58k7twr7c23uu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F823twox58k7twr7c23uu.png" alt="Image description" width="800" height="468"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then if c8g.large is better in all of these metrics then can we always use c8g.large ?&lt;br&gt;
the answer is no, let's see why.&lt;br&gt;
let's deep dive on creating those instances and let's compare other metrics.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd8he6bwioqm72y47oi0m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd8he6bwioqm72y47oi0m.png" alt="Image description" width="800" height="466"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;for evaluating performance let's use &lt;a href="https://docs.openssl.org/master/man1/openssl-speed/" rel="noopener noreferrer"&gt;openssl speed command&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;for c8g.large instance I get&lt;br&gt;
Doing sha256 for 3s on 256 size blocks: 10424489 sha256's in 2.99s&lt;br&gt;
which means system was able to calculate over 10 million SHA-256 hashes in just 3 seconds.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqank5cz3pxn4n0t1x8w0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqank5cz3pxn4n0t1x8w0.png" alt="Image description" width="800" height="76"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;for c5.large instance I get&lt;br&gt;
Doing sha256 for 3s on 256 size blocks: 3442633 sha256's in 3.00s&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhbalvhqyebua1h0x8b08.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhbalvhqyebua1h0x8b08.png" alt="Image description" width="800" height="76"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;which means system was able to calculate over 3 million SHA-256 hashes in just 3 seconds.&lt;/p&gt;

&lt;p&gt;3 million sounds too low on comparing 10 million right let's deep dive and see what is happening here.&lt;/p&gt;

&lt;p&gt;first let's see cpu info to understand its capabilities.&lt;br&gt;
&lt;code&gt;cat /proc/cpuinfo&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;for c5.large we get&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F75epr1k0opz9vwo56kg8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F75epr1k0opz9vwo56kg8.png" alt="Image description" width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;and for c8g.large we get&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzm53i6z1v9a2lhl9rnge.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzm53i6z1v9a2lhl9rnge.png" alt="Image description" width="800" height="131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;from this we can see c5.large has two cores and we can do multi threading there and for c8g.large we don't have multiple cores for multi threading&lt;br&gt;
Here is the thing, Graviton type instances are single threaded, which means we can't do Simultaneous-multithreading there.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F58qohfvanhseun5z8lf0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F58qohfvanhseun5z8lf0.png" alt="Image description" width="800" height="335"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now let's see it in pictorial representation for more clarity.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;lstopo imagename.png
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;running the above command&lt;br&gt;
for c5.large we get&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsqpowcvg2lwmpknhl8fa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsqpowcvg2lwmpknhl8fa.png" alt="Image description" width="344" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;for c8g.large we get&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F81xjnvpasj89u03zxvax.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F81xjnvpasj89u03zxvax.png" alt="Image description" width="430" height="324"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;from this we can see clearly that graviton instances can do only 1 thread per core and it has double the L2 and L1 cache sizes, which benefits performance in workloads that depend heavily on caching.&lt;br&gt;
also on the networking PCI devices (like the NVMe block device and network interface) have access to high-speed bandwidth over the PCIe bus as it is using 16 PCIe lanes each.&lt;br&gt;
More PCIe lanes = higher data transfer bandwidth.&lt;br&gt;
On plotting the graph between Load (CPU) and Latency for both of these cases we get&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6l7mujenzs4ahk97idxf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6l7mujenzs4ahk97idxf.png" alt="Image description" width="800" height="557"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From this we can conclude&lt;br&gt;
With SMT: Better latency at lower loads, but a sharp increase occurs when CPU load exceeds 60%.&lt;br&gt;
Without SMT: Higher latency overall but more predictable and stable across the full CPU load range.&lt;/p&gt;

&lt;p&gt;What is Breaking latency ?&lt;br&gt;
Breaking latency is the point when the machine can no longer serve more throughput and maintain acceptable response times to the load-generator and incrementally more throughput induces an exponential rise in latency. An example of that exponential rise is below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fps59hwplm9bmcfi043hd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fps59hwplm9bmcfi043hd.png" alt="Image description" width="504" height="283"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;source:&lt;br&gt;
&lt;a href="https://github.com/aws/aws-graviton-getting-started/blob/main/perfrunbook/defining_your_benchmark.md" rel="noopener noreferrer"&gt;https://github.com/aws/aws-graviton-getting-started/blob/main/perfrunbook/defining_your_benchmark.md&lt;/a&gt;&lt;br&gt;
&lt;a href="https://pages.awscloud.com/rs/112-TZM-766/images/2023_OTT-OD-0501-NGI_Slide-Deck.pdf" rel="noopener noreferrer"&gt;https://pages.awscloud.com/rs/112-TZM-766/images/2023_OTT-OD-0501-NGI_Slide-Deck.pdf&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Conclusion&lt;br&gt;
In this comparison between the c5.large and c8g.large EC2 instances, we observe several key differences that influence performance. Although both instances offer the same vCPU and memory configurations, the c8g.large, which is part of the AWS Graviton family, provides a better price-to-performance ratio. AWS claims that Graviton processors deliver up to 40% better performance at up to 20% lower cost, while also reducing energy consumption by up to 60%. This makes the c8g.large an attractive option in terms of cost-efficiency and sustainability.&lt;br&gt;
However, despite these advantages, the c8g.large instance does have certain limitations. Graviton-based instances, like the c8g.large, are single-threaded, meaning they cannot utilize simultaneous multithreading (SMT), which can limit performance in workloads requiring parallel processing. This is in contrast to the c5.large, which supports multi-threading and is more suitable for workloads that can take advantage of multiple threads.&lt;br&gt;
When running benchmarks such as OpenSSL speed tests, the c8g.large showed a higher throughput in single-threaded tasks (10 million hashes vs. 3 million for the c5.large). However, when considering the underlying architecture, the c5.large with SMT outperformed the c8g.large in scenarios demanding multi-threaded processing, where c8g.large would reach performance bottlenecks due to its inability to handle simultaneous threads efficiently.&lt;br&gt;
The PCIe lanes on both instances also play a role in data transfer bandwidth, with the c8g.large potentially having an edge due to its design, but this advantage is most beneficial in specific workloads, such as high-speed data transfer or storage-bound tasks.&lt;br&gt;
In conclusion, while the c8g.large may be a more cost-effective option for certain workloads, particularly those relying on single-threaded operations, it may not always outperform the c5.large in multi-threaded tasks. Therefore, the choice between these two instances depends on the nature of your workload: If your application can leverage multi-threading, the c5.large may still be the better choice, while the c8g.large is ideal for single-threaded tasks where cost savings and energy efficiency are prioritized.&lt;/p&gt;

</description>
      <category>graviton</category>
      <category>latency</category>
      <category>throughtput</category>
      <category>amazonec2</category>
    </item>
    <item>
      <title>Embracing the Future of Database Management: A Deep Dive into Amazon Aurora Limitless Database</title>
      <dc:creator>Kiran</dc:creator>
      <pubDate>Tue, 16 Jan 2024 06:06:07 +0000</pubDate>
      <link>https://dev.to/aws-builders/embracing-the-future-of-database-management-a-deep-dive-into-amazon-aurora-limitless-database-4jm4</link>
      <guid>https://dev.to/aws-builders/embracing-the-future-of-database-management-a-deep-dive-into-amazon-aurora-limitless-database-4jm4</guid>
      <description>&lt;p&gt;In today's fast-paced digital world, where data is the new oil, managing and scaling databases efficiently has become a critical task for businesses across the globe. Enter Amazon Aurora Limitless Database - a revolutionary cloud-based database solution from AWS that promises to redefine how we handle vast amounts of data.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Amazon Aurora Limitless Database?
&lt;/h2&gt;

&lt;p&gt;Amazon Aurora Limitless Database is not just another database management system. It's a PostgreSQL-compatible engine designed to simplify database management while providing the scalability and efficiency needed in the modern data landscape. This Platform-as-a-Service (PaaS) offering takes the burden of database setup and management off your shoulders, making it easier to manage databases at scale​​.&lt;/p&gt;

&lt;h2&gt;
  
  
  A New Era of Database Scalability
&lt;/h2&gt;

&lt;p&gt;One of the standout features of Aurora Limitless Database is its ability to scale horizontally, automatically adjusting to handle millions of write transactions per second and manage petabytes of data. This feature is a game-changer for businesses that deal with high data volumes and require robust throughput capabilities​​.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Innovative Architecture
&lt;/h2&gt;

&lt;p&gt;The architecture of Aurora Limitless Database is a two-layered marvel, consisting of shards and transaction routers. Shards, which are Aurora PostgreSQL DB instances, store parts of the database and facilitate parallel processing. Transaction routers, meanwhile, handle the distributed nature of the database. They manage metadata, parse SQL commands, aggregate data, and ensure consistency across the database​​​​.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LNjGLL1Z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b0ec9jejevdsaqxx1lqj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LNjGLL1Z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b0ec9jejevdsaqxx1lqj.png" alt="Architectural Diagram" width="800" height="466"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;The process of integrating Aurora Limitless Database into your systems is straightforward. Currently available in a limited preview in multiple AWS Regions, it allows users to experiment with sharded and reference tables – key components for managing data distribution and speeding up query processing​​.&lt;/p&gt;

&lt;p&gt;You can easily convert Aurora compatible PostgresSQL Database to Limitless by clicking "Add a DB shard group (Limitless Database)" &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--w5opiZtH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j7v7b0ersozitrp2z0fr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--w5opiZtH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j7v7b0ersozitrp2z0fr.png" alt="Getting started to Limitless" width="800" height="221"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Aurora Limitless Database is a Game Changer for Developers
&lt;/h2&gt;

&lt;p&gt;For developers, Aurora Limitless Database is nothing short of a blessing. It shifts the focus back to software development by taking care of the operational complexities of database management. The platform's smart query engine dynamically scales the database with minimal latency, making it ideal for applications with variable workloads or complex query requirements​​.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Road Ahead
&lt;/h2&gt;

&lt;p&gt;As Aurora Limitless Database transitions from private preview to wider availability, it's poised to transform the database management landscape. Its serverless architecture, combined with scalability and ease of use, positions it as an attractive option for modern database needs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In conclusion, Amazon Aurora Limitless Database is more than just a new product; it's a visionary approach to database management. Its scalability, ease of use, and focus on developer needs make it a compelling choice for anyone looking to streamline their data management processes. As it evolves, it will be fascinating to watch how it shapes the future of database management.&lt;/p&gt;

&lt;p&gt;References&lt;br&gt;
1) &lt;a href="https://aws.amazon.com/about-aws/whats-new/2023/11/amazon-aurora-limitless-database/"&gt;https://aws.amazon.com/about-aws/whats-new/2023/11/amazon-aurora-limitless-database/&lt;/a&gt;&lt;br&gt;
2) &lt;a href="https://aws.amazon.com/about-aws/whats-new/2023/11/amazon-aurora-limitless-database/"&gt;https://aws.amazon.com/about-aws/whats-new/2023/11/amazon-aurora-limitless-database/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>datawarehouse</category>
      <category>database</category>
      <category>aurora</category>
    </item>
  </channel>
</rss>
