By Jeremy Pedersen
Welcome back! This is the 21st installment in our Friday blog series. This week, we take a look at how to choose the right database system on Alibaba Cloud.
We'll start by dealing with a few common complaints that architects and engineers have when considering running database workloads on the cloud.
One last thing before we jump in: this blog post is about choosing how to run your database, NOT how to choose the right type of database (Oracle? MySQL? PostgreSQL?). Sorry, but with more than 300 database systems in active use according to the DB-Engines Rankings, that's just too big a subject for one blog post!
We'll focus mostly on Alibaba Cloud's RDS and PolarDB services, which support common relational database engines like MySQL and Microsoft SQL Server. Ok, let's get started!
Because where and how you run your databases will become critical in the future, as the complexity of your applications increases and your user base grows.
Making the right database decisions today could save you hours, weeks, or even months of headaches in the future.
Because there are so many tradeoffs to consider when setting up a new database system on Alibaba Cloud. Is redundancy more important, or cost? What about performance? Do you need local SSD disks (better performance) or standard SSD disks (better redundancy)? The list goes on...
You're in luck! I'll be breaking it down and providing you with a handy chart to help you make your decision!
Ok, so you're sure you want to run your database on the cloud, but where do you start?
The first and biggest choice you'll need to make is whether you want to use a managed service like RDS or PolarDB, or whether you want to build something yourself on ECS.
OK! If you go this route, what are the pros and cons?
Pros:
Cons:
Bottom line: If you have special requirements and/or a dedicated DBA to help you with setup and tuning, then building your own database can make sense. If not, you're better off going Cloud Native. In either case, read on!
If you do decide to go the self-built route, check out my blog post on choosing the right ECS instance. It includes a nice flowchart that can get you pointed in the right direction.
Alternatively: If you want a managed database system and customizability, check out Alibaba Cloud MyBase. This combines some of the advantages of a managed database system with some of the advantages of doing it all yourself.
When I say "Cloud Native" what I really mean is PaaS (Platform as a Service). This means database services that manage the underlying operating system and database engine for you, freeing you up to focus on managing your actual data. On Alibaba Cloud, that mostly means ApsaraDB for RDS and ApsaraDB for PolarDB.
There are major differences between RDS and PolarDB, but let's start with the general pros and cons.
Pros
Cons
Bottom line: Unless you need to run a database engine which Alibaba Cloud doesn't support with RDS or PolarDB, or you need strong customizability, you're usually better off with a Cloud Native database. This is especially true if your core business is about something other than managing database stuff! Why focus on database administration when you could be "wowing" your customers with your awesome products?
As with most system architecture decisions, you'll have to make tradeoffs between speed, price, and reliability when choosing a database system. Engineers sometimes sum this up with the phrase "good, fast, cheap, pick any two" and it's a personal favorite of mine, because it applies so consistently!
Rather than go into exhaustive detail, I have created this handy chart to help you out a little:
I know this seems like a lot, so let me try to distill this down to just four key tradeoffs:
Note that #4 only applies if you chose "RDS" at step #2.
That's it! Hopefully this chart speeds you on your way to choosing the right database system! See you next week. ^_^
Great! Reach out to me at jierui.pjr@alibabacloud.com
and I'll do my best to answer in a future Friday Q&A blog.
You can also follow the Alibaba Cloud Academy LinkedIn Page. We'll re-post these blogs there each Friday.
Friday Blog - Week 20 - Security Center: What Is It And Why Should You Care?
Friday Blog - Week 22 - SLB, CLB, ALB, Oh my! Load Balancing on Alibaba Cloud
JDP - August 27, 2021
JDP - December 23, 2021
JDP - July 9, 2021
JDP - December 30, 2021
JDP - February 10, 2022
JDP - March 26, 2021
Alibaba Cloud provides beginners and programmers with online course about cloud computing and big data certification including machine learning, Devops, big data analysis and networking.
Learn MoreAlibaba Cloud PolarDB for PostgreSQL is an in-house relational database service 100% compatible with PostgreSQL and highly compatible with the Oracle syntax.
Learn MoreAlibaba Cloud PolarDB for Xscale (PolarDB-X) is a cloud-native high-performance distributed database service independently developed by Alibaba Cloud.
Learn MoreAlibaba Cloud PolarDB for MySQL is a cloud-native relational database service 100% compatible with MySQL.
Learn MoreMore Posts by JDP