Explore cloud-native databases and look at future technology development

A small bonus for fans at the beginning: free prostitution of hundreds of cloud services

Amazon cloud technology provides free packages for more than 100 products. Among them, the computing resource Amazon EC2 is free for the first 12 months, 750 hours/month; the storage resource Amazon S3 is free for the first 12 months, with a standard storage capacity of 5GB; the database resource Amazon RDS is free for the first 12 months, 750 hours; Amazon Dynamo DB 25GB storage capacity is free forever.

Click here to go directly

Not much to say, you know everything about welfare, and go for what you should get, and start to get to the point~

1: The indissoluble bond between cloud native and database

cloud concept

In the eyes of most of us, clouds are visible polymers floating in the air composed of water vapor in the atmosphere that liquefies into small water droplets or condenses into small ice crystals when it is cooled. That's all, I used to think so too.

 It wasn't until I grew up that I learned about and used cloud hosts, cloud computers, cloud hard disks, and clouds... and gradually changed my values. Cloud computing has undoubtedly become a synonym for the IT industry. Basically, the current industry situation Everything can be on the cloud .

With the further development of everything in the cloud, the concept of cloud native has become popular, and database manufacturers have gradually started to use computers to cloud.

DB database must have been heard by everyone, or some people are engaged in this industry.

The concept of database

The database is used to access data, and the data here includes many pictures, strings, etc. The storage space of the database is very large, and it can store millions, tens of millions or even hundreds of millions of data. Users can add, query, update, delete and other operations on the data in the database.

 Commonly used databases include mysql, oracle, sqlserver, sqlite, etc.

Database free trial link and tutorial

That is, since everyone knows about databases, what exactly is a cloud-native database?

1. First, what is cloud native?

It has to be said that until today, there is still no exact and unified definition of cloud native. After a lot of searching, I found that the official definition of Cloud Native Computing Foundation of CNCF (Cloud Native Computing Foundation), a world-renowned non-profit organization, says this:

The Cloud Native Computing Foundation CNCF defines cloud native as:

Cloud native technologies enable organizations to build and run scalable applications in modern dynamic environments such as public, private and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.

These technologies support loosely coupled systems that are resilient, manageable, and observable. Combined with powerful automation, they enable engineers to make high-impact changes frequently and predictably with minimal effort.

Did you feel a little confused when you just saw it? The same is true for me. The official uses a lot of technical terms to describe it, which makes people half-understand.

2. To interpret cloud native literally:

  • After I read the relevant documents, I tried to interpret it literally:

  • The "cloud" in cloud native means existing in the cloud, rather than the traditional local deployment.

  • For example, the files in a certain cloud disk are in the cloud instead of being stored in the hard disk of the user's computer.

  • "Native" means that the application takes into account the factors of the cloud environment from the design stage, so it is designed for the cloud and runs on the cloud.

  • In other words, cloud native is born on the cloud, grows on the cloud, and is also applied to the cloud

  • It can also be said to be localized output, just like mode in China. As long as it is produced in China, it will be printed with the expression mode in China. This is the case with cloud native, which is produced on the cloud and applied on the cloud.

  • Now that you understand cloud native, you must know the general meaning of cloud native database after seeing this~

  • Next, let's see what's so popular about cloud native databases?

Cloud Native Database Online Conference Click Direct>: Cloud Native Database Online Conference

Two: Take stock of the past and present of cloud-native databases

a. Significance of cloud native database:

Cloud technologies include virtualization technology, dynamic scalability, on-demand usage, flexible usage, dynamic scheduling, and automatic scaling. Cloud-native databases fully absorb the advantages of cloud technologies. Cloud-native databases integrate the advantages of traditional databases and cloud computing technologies, and overcome the shortcomings of traditional databases such as limited storage capacity, difficult expansion, and high master-slave delay.

b. Development of cloud-native database:

Because the cloud-native database exists entirely on the cloud, it can be accessed from multiple front-ends anytime, anywhere, and computing nodes that provide cloud services. Because the cluster is deployed on the cloud, the impact of a single point of failure on the service is particularly small. And when it is necessary to upgrade or replace the service, the nodes can be gradually upgraded without interrupting the service. It can help individuals and their enterprises engaged in the technology industry greatly reduce IT costs and increase and create higher efficiency.

c. The cost and efficiency of the database force the birth of the separation of storage and calculation:

With the continuous development of technology and the deepening of the construction of big data systems, cloud-native databases face two problems in data infrastructure:

  • One is the cost issue. With the increase of the accumulated data volume and the increase of big data business volume, the cost of data storage and processing is getting higher and higher, and the investment in data infrastructure becomes larger.

  • The other is efficiency. There are many big data processing components, and different components use different data processing formats. Diversified data formats lead to complex data storage. In response to different scenarios in the system, the same data often needs to be stored in multiple copies. A lot of data copying and format conversion are also required between components, consuming a lot of resources. .

How should these two problems be solved? At this time, someone proposed the separation of storage and calculation to try to solve these two problems!

Well, some people may ask: what is the separation of deposit and calculation?

Three: Separation of storage and calculation of cloud-native databases:

1. Regarding the division of storage and calculation separation:

In fact, the boundary between storage and computing is not clear. Computing and storage are actually inseparable during the computing process . However, the current network bandwidth and performance improvement provide a basis for discussion of a certain degree of separation. "Computation" refers to the CPU and memory required for the calculation process, and "storage" refers to things that need to be persisted

2. Why separate computing and storage?

  • Regardless of whether computing reaches the bottleneck first or storage reaches the bottleneck first, although the two situations are different, the time points are also different. But usually no matter what kind of situation is to add machines, so there will be a lot of waste.

  • Expansion is not easy: In the computing and storage coupling mode, storage expansion usually migrates a large amount of data, which is inconvenient.

3. Benefits of separation of deposit and calculation:

  By separating storage resources and computing resources, you can independently plan storage and computing resource specifications and capacities. In this way, the expansion, shrinkage, and release of computing resources can be completed relatively quickly without additional data relocation costs. Storage and computing can also better combine their respective characteristics, and choose resource specifications and designs that are more suitable for you.

Four: Separation of storage and calculation of cloud-native databases:

The above understanding of what is the separation of storage and calculation is similar, that is, around 2003, the GFS and MapReduce papers released by Google opened the prelude to the big data processing technology for nodes. A system to solve the storage and computing problems of massive data.

Since then, the distributed Hadoop open source system developed by the Apache Foundation has gradually become a general technical framework for processing big data—this is a storage-computing coupled architecture, and its essential starting point is to use resources as much as possible under the condition of insufficient network bandwidth. Possible reduction of data movement. For the first time, this technical framework realizes reliable, efficient, and scalable distributed high-speed computing for large amounts of data by using the computing and storage capabilities of the cluster. A cutting-edge technology standard.

This storage-computing separation architecture standard is currently widely used for development and innovation, and promotes the continuous advancement of future technology.

Five: Intuitive experience of personal application:

When I was working in the company, we all used local databases such as mysql for development. However, through the development of technology and various comparisons, we found that traditional databases have shortcomings such as limited storage capacity, difficult expansion, and high master-slave delay. So, the company asked us to look for a cloud database with a storage-computing separation architecture. After many considerations and discussions, we found Amazon's Aurora database!

Six: Amazon launches Aurora, which separates storage and calculation! Milestone appearance!

 Amazon introduces Aurora! Its milestone appearance laid the foundation for the development of separation of deposit and calculation!

The advent of Amazon Aurora:

 Aurora was announced at the Amazon Invention Conference in Las Vegas on November 12, 2014. It was officially released on July 27, 2015 and is available as a service in AWS and added to Amazon Relational Database Service.

Features of Amazon Aurora:

 1. Aurora's computing nodes and storage nodes are separated and located in different VPCs (Virtual Private Clouds). This is the brightest part of the Aurora architecture.

2. Compatible with MySQL and PostgreSQL , Aurora is a MySQL- and PostgreSQL-compatible relational database specially built for the cloud.

The performance and availability of an open source database with the simplicity and cost-effectiveness of an open source database.

3. High performance , Aurora is five times faster than the standard MySQL database and three times faster than the standard PostgreSQL database. Amazon Aurora is fully managed by Amazon Relational Database Service (RDS), which automates time-consuming administrative tasks such as hardware provisioning, database setup, patching, and backups.

4. Scalability , Amazon Aurora also uses a distributed, fault-tolerant and self-healing storage system, which can expand each database instance up to 128TB. It delivers high performance and high availability, supporting up to 15 low-latency read replicas, point-in-time recovery, continuous backup to Amazon S3, and replication across three Availability Zones (AZs).

5. High security , Amazon Aurora can provide multiple levels of security for your database. These include: network isolation using Amazon VPC, encryption at rest using keys you create and control through AWS Key Management Service (KMS), and data encryption in motion using SSL. On encrypted Amazon Aurora instances, data in the underlying storage is encrypted, as are automated backups, snapshots, and replicas within the same cluster.

Applications of Amazon Aurora:

Since its launch in 2014, tens of thousands of Amazon cloud technology customers have chosen to use Amazon Aurora to handle mission-critical workloads. Amazon Aurora is a good choice for any enterprise application that can use a relational database. Amazon Aurora can help improve database reliability and availability compared to other commercially available databases. Amazon Aurora is a fully managed service that saves you a lot of time by helping you handle time-consuming tasks such as provisioning, patching, backup, recovery, failure detection, and repair.

SaaS applications often use a multi-tenant architecture, which requires extreme flexibility, high performance, and reliability in terms of instance and storage scaling. Amazon Aurora provides all of these capabilities in a managed database offering, allowing SaaS companies to focus on building high-quality applications without worrying about the underlying database that powers the application.

Web and mobile games built to run at scale require a database with high throughput, massive storage scalability, and high availability. Amazon Aurora meets the demands of such demanding applications and provides plenty of headroom for future growth. Because Amazon Aurora doesn't have any licensing restrictions, it fits perfectly with the various usage models for these applications.

Hand over capacity management and pay only for the capacity consumed using instantaneous and fine-grained scaling, saving up to 90% on costs.

The evolution of Amazon Aurora:

On the official website of AWS, it states that "Amazon Aurora Compatible with PostgreSQL" is as follows:

Amazon Relational Database Service (Amazon RDS) is offering a preview of Aurora(PostgreSQL), Amazon Aurora Compatible with PostgreSQL. Aurora is a fully managed, PostgreSQL- and MySQL-compatible relational database engine.

Literally, Aurora is no longer MySQL, but MySQL+PostgreSQL, so it will be "MySQL+PostgreSQL+...+..." in the future, and all kinds of databases will be integrated into Aurora. This is very important to provide a powerful cloud database service. Users can seamlessly access Aurora without modifying the code of the application based on any database.

Future databases can be integrated into Amazon Aurora,

 Comparison experiment between Amazon Aurora and MySQL:

 After the use and testing of our company:

1. In terms of compatibility: fully compatible, the connection method and even the configuration parameters are the same.

2. In terms of read and write performance: Aurora is about 8 times that of Mysql.

3. Deployment method: Aurora and Mysql support single-region and multi-region deployment.

4. Storage: Aurora does not need to specify the storage size and IOPS in advance, and automatically expands every 10GB according to the actual data volume, and the maximum storage capacity can reach 64TB. This eliminates the need for capacity expansion when the disk capacity or IO is insufficient.

Aurora only supports the Innodb storage engine. If you need to use MyISAM, then it is still suitable to use RDS Mysql.

5. In terms of scalability: Aurora supports up to 15 read-only replicas, which is greatly improved compared to 5 replicas of Mysql. Aurora's read-only replica has a reader endpoint, which can load balance read-only requests. For the application, it only needs to specify the read-only endpoint, and there is no need to consider the traffic balance and failover of the read-only replica. Mysql does not yet provide the load balancing function of read-only replicas. It is necessary to add middleware between the application program and the database, or add logic to the application program to distribute requests as evenly as possible to the database read-only replicas. Otherwise, once the Mysql read-only copy fails, the domain name or IP will change, and the application side needs to be adjusted.

Aurora also supports autoscaling. According to the CPU usage or the number of connections, when the specified threshold is exceeded, the read-only replica is automatically increased to meet the changing needs of the business.

6. In terms of reliability: Aurora automatically copies data to 6 copies of 3 AZs when writing, and continuously backs up logs and data to more reliable S3 without data loss. Automatic fault recovery can automatically promote the read-only copy to the primary node when the primary node fails to achieve high availability of the database.

Aurora also has features such as fast recovery, which can start the database faster even when the database needs to be restored.

The backtracking function can be restored to a previous point in time in a short period of time without having to restore a new database, which requires changing the application to point to the new database.

Both Aurora and Mysql support cross-region replica replication. Aurora also launched the Global Database function, which performs data replication at the physical level. Compared with Mysql binlog synchronization, it is more efficient, and the cross-region master-slave delay can reach within 1 second.

7. In terms of cost: Aurora and Mysql both include traffic and backup, and these prices are similar.

At present, this is only tested from these aspects. In general, the Amazon Aurora cloud-native database is even better~

Amazon Aurora cloud-native database is promoting the development of future technology step by step!

Seeing this, why not go to the fan benefits at the end of the article to experience Amazon Aurora? In addition, free cloud server for one year~

Seven: Fan welfare at the end of the article

Amazon cloud technology has created a variety of learning platforms for developers:

1. Getting Started Resource Center: From 0 to 1, it is easy to get started with cloud services, covering: cost management, hands-on training, and development resources.

Click to go to benefits

2. Architecture Center: Amazon Cloud Technology Architecture Center provides cloud platform reference architecture charts, reviewed architecture solutions, Well-Architected best practices, patterns, icons, etc. Click to go to benefits

3. Builders' Library: Learn how Amazon Cloud Technologies builds and operates software. Click to go to benefits

4. Toolkit for developing and managing applications on the Amazon cloud technology platform: Click to benefit

【Exclusive benefits for fans】

Benefit 1: Free packages for more than 100 kinds of products. Among them, the computing resource Amazon EC2 is free for the first 12 months, 750 hours/month; the storage resource Amazon S3 is free for the first 12 months, and the standard storage capacity is 5GB.

Click to go to benefits

Benefit 2: The latest discount spree, 200$ data and analysis coupon, 200$ machine learning coupon, 200$ microservice and application development coupon. Click to go to benefits

Benefit 3: Solution CloudFormation one-click deployment template library

Click to go to benefits

Guess you like

Origin blog.csdn.net/zsx0806/article/details/125412848