Реляционные БД (РБД)

Что такое реляционная БД?

Реляционная база данных относится к категории баз данных, в которых основное внимание уделяется сбору точек ввода данных и взаимосвязи между ними.

Как определить, когда следует выбрать реляционную БД?

Если у вас есть знания о взаимосвязи точек ввода данных друг с другом, и у вас есть несложный способ представления данных в таблицах, то RDB — это ваш лучший вариант.

Каковы некоторые отрасли применения RDB?

  • Традиционные приложения,
  • Планирование ресурсов предприятия (ERP),
  • Управление взаимоотношениями с клиентами (CRM),
  • Электронная коммерция
  • Подъем и сдвиг

Теперь, когда у нас есть общее представление о RDB, давайте продолжим углубляться и изучать и создавать ресурсы AWS RDB:

  • Amazon RDS
  • Amazon Aurora
  • Amazon Redshift

Что такое Amazon RDS?

Amazon Relational Database Service (Amazon RDS) — это управляемый сервис, который упрощает настройку, эксплуатацию и масштабирование.

Реляционная база данных в облаке. Она обеспечивает экономически эффективную и масштабируемую емкость, при этом решая трудоемкие задачи администрирования баз данных, что позволяет вам сосредоточиться на своих приложениях и бизнесе.

Amazon RDS предоставляет вам доступ к возможностям привычных версий SQL, таких как:

  • MySQL
  • MariaDB
  • Oracle
  • SQL Server
  • база данных PostgreSQL

Что такое Amazon Aurora?

Amazon Aurora — это современный сервис реляционных баз данных, предлагающий производительность и высокую доступность в масштабе, полностью открытые версии, совместимые с MySQL и PostgreSQL, а также ряд инструментов для разработчиков для создания бессерверных приложений и приложений, основанных на машинном обучении (ML).

Что такое Amazon Redshift?

Amazon Redshift — это полностью управляемое, масштабируемое облачное хранилище данных, которое ускоряет время получения информации благодаря быстрой, простой и безопасной аналитике в масштабе.

Давайте рассмотрим некоторые важные характеристики этих трех РСУБД

Amazon-RDS

Performance:

- General Purpose Storage : 3 IOPS * each GB.
- Burst capacity: 3,000 IOPS
- Provisioned IOPS storage:  40,000 IOPS *  each RDS instance. 
- Formula: (Credit balance)
Burst duration =  ---------- (Burst IOPS) - 3*(Storage size in GiB)

Scalability:

- Horizontal
- Vertical 

Availability:

- Multi-AZ service level agreement: 99.95% up every month

Security:

- Encryption of data at rest using KMS
- Encryption of data in transit using SSL/TLS
- Access Control using IAM
- Network Isolation and Database Firewall using VPC and industry-standard encrypted IPSec VPN
- Database activity streams beyond external security threats providing a real-time data stream of the database activity in 
your relational database

Вход в полноэкранный режим Выход из полноэкранного режима

Amazon-Aurora

Performance:

- 5x throughput of standard MySQL
- 3x of standard PostgreSQL
- Auto-scales up to 128 TB per database instance

Scalability:

- The minimum storage is 10 GB
- Automatically grow, up to 128 TB, in 10 GB increments with no impact on database performance
- Scale out up to 15 read replicas

Availability:

- Fault tolerant
- Self-healing storage
- Automatically divides your database volume into 10 GB segments spread across many disks
- Six copies of data across three AZ's
- Continuous backup to Amazon S3

Security:

- Uses SSL (AES-256) to secure the connection between the database instance and the application
- Network isolation
- Encryption at rest and in transit 

Войти в полноэкранный режим Выйти из полноэкранного режима

Amazon-Redshift

Performance:

- Massively parallel processing
- Columnar data storage
- Data compression
- Query optimizer
- Result caching
- Compiled code
- 10x better performance than traditional databases
- Automatic Table Optimization (ATO)
- ATO increases cluster performance by 24% and 34% using the 3 TB and 30 TB versus a cluster without ATO 

Scalability:

- Petabyte-scale data warehouse

Availability:

- The cluster node is replaced automatically in case of node failure detection
- Data is backup into S3

Security:

- Built-in AWS IAM integration
- Identity federation for single-sign-on (SSO)
- MFA
- Column level access control
- Row-level security
- Encrypts and keeps your data secure in transit and at rest

Войти в полноэкранный режим Выход из полноэкранного режима

Теперь давайте рассмотрим некоторые ограничения:

Amazon RDS:


- Read replicas per region: 5 
- Reserved DB instances per region: 40 
- Rules per security group per region: 20 
- Security groups per region: 25 
- Security groups (VPC) per region: 5 
Войти в полноэкранный режим Выход из полноэкранного режима

Amazon Redshift:


- AWS accounts that you can authorize to restore a snapshot per snapshot: 20 
- Concurrency level (query slots) for all user defined manual WLM queues: 50 
- Concurrency scaling clusters: 10 
- Nodes: 200 
- Schemas in each database per cluster: 9,900 
- Security groups: 20 
- Snapshots: 20 
Войти в полноэкранный режим Выход из полноэкранного режима

Amazon Aurora:

- Authorizations per DB security group per region: 20 
- Custom engine versions per region: 40 
- DB cluster parameter groups per region: 50 
- DB clusters per region: 40 
- DB instances per region: 40 
- DB subnet groups per region: 50 
- Data API HTTP request body size per region: 4 MGB 
Войти в полноэкранный режим Выйти из полноэкранного режима

Обратите внимание, что некоторые из этих ограничений настраиваются, а другие — нет.

О, точно, идет сборка 👷 давайте создадим эти 3 базы данных с помощью Terraform

Найти репо Terraform и инструкции для этого проекта можно здесь

Код Terraform предыдущий:

#---aurora/main--

resource "aws_rds_cluster_instance" "cluster_instances" {
  count              = 1
  identifier         = "aurora-cluster-example-${count.index}"
  cluster_identifier = aws_rds_cluster.my_rds.id
  instance_class     = "db.r4.large"
  engine             = aws_rds_cluster.my_rds.engine
  engine_version     = aws_rds_cluster.my_rds.engine_version
}

resource "aws_rds_cluster" "my_rds" {
  cluster_identifier = "aurora-cluster-example"
  availability_zones = ["us-west-2a", "us-west-2b", "us-west-2c"]
  database_name      = "USES-YOUR-OWN-DB-NAME-HERE"
  master_username    = "username"
  master_password    = "Always_use_complex_password"
}
Вход в полноэкранный режим Выход из полноэкранного режима

Диаграмма

Ссылки:



https://aws.amazon.com/rds/features/security/ 

https://aws.amazon.com/redshift/faqs/ 

https://aws.amazon.com/rds/aurora/faqs/ 

https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html 

https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Limits.html 

https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Limits.html 
Войти в полноэкранный режим Выход из полноэкранного режима

Оцените статью
devanswers.ru
Добавить комментарий