Last week, Amazon DynamoDB became 10 years old since it’s inception as a service. Since then, it became the front runner at the performant, cloud-native database area. But before talking about DynamoDB, we have to go back in time, 5 years before the release of DynamoDB Service, and talk about a research paper that was released at Amazon CTO Verner Wogels’ blog All Things Distributed, named Amazon’s Dynamo. Foundations of today’s DynamoDB service were laid back then, under the name, "Dynamo".
Dynamo paper contained the concerns of many businesses that are facing today, back in 2007. Technology team led by Verner Wogels at Amazon had to face a lot of challenges caused by the popularity of the platform and the increasing customer demand. If you look at the paper, the main reason that Dynamo idea came up was the commercial RDBMS databases were not performing well under the high traffic caused by peak seasons, both physically and virtually. They started the needs listed as: consistent, scalable, always writable (even at scenarios of the failure) and guaranteed performance as much as 99.9%. It was an obvious answer that those requirements not just had to happen on the software side, but the solution much required to implement many of the needs on the hardware and network side as well.
Almost 15 years after the Dynamo paper, we can still see the effects of how a true cloud-native database has changed our perspective forever. The service itself was built on Amazon's battle-tested environment, including high-peak seasons and announced as a service five years later, in 2012.
Amazon DynamoDB is a true cloud-native database. It has a fairly basic programming interface, with a lot of things going on under the hood. When you create a DynamoDB table, you don’t worry about hardware level concerns like storage size, replication, sharding etc. It is all managed by the service. It is high-available by default and you can theoretically store an infinite amount of data. You never think about computation, because it is not vertically scalable - it scales horizontally, just like how every high-available cloud resource should be. You don’t design the resource, it is already designed to perform at the best level.
Amazon DynamoDB API has a total of 13 data-level (CRUD) actions (such as PutItem, GetItem, Query, etc…). When this simplicity is combined with using a lightweight connection layer (HTTP) and no need for connection management, onboarding time for any developer is reduced greatly. For your cloud team, no more “Too many connections” errors, they can get a better sleep even under high loads and enjoy the benefits of using a fully managed service.
Amazon is a customer obsessed company, so is AWS. Every year, we as cloud engineers, developers, partners and most importantly customers wait for re:invent to hear new services and improvements, and DynamoDB is no exception. Within these 10 years, AWS has listened to customer needs and added more features to DynamoDB.
One thing is for sure that this will grow even larger in the next 10 years.
We are also using Amazon DynamoDB at Sufle in our projects and giving consultations to our customers about it. We’ve experienced it ourselves hands-on, we love it! Final words, I’m pleased to announce that we are starting a new blog series on our experiences with Amazon DynamoDB! Stay tuned!
Happy 10th Amazon DynamoDB, to many more inspiring years! 🥂
An experienced software engineer, Durul is indeed a technology lover and always excited to see and learn what technology offers. With his experience in startups from Entertainment to SaaS, he is keen on sharing his experience with the technology community.
Cookies are small files that are sent to and stored in your computer by the websites you visit. Next time you visit the site, your browser will read the cookie and relay the information back to the website or element that originally set the cookie.
Cookies allow us to recognize you automatically whenever you visit our site so that we can personalize your experience and provide you with better service.