- Banco de dados›
- Amazon RDS›
- Amazon RDS para MySQL
O que é MySQL?
O que é MySQL?
Ele serve como o armazenamento de dados relacional primário para muitos sites, aplicações e produtos comerciais conhecidos. Com mais de 25 anos de desenvolvimento e suporte apoiados pela comunidade, o MySQL é um sistema de gerenciamento de banco de dados baseado SQL confiável, estável e seguro.
O banco de dados MySQL é adequado para uma grande variedade de casos de uso, incluindo aplicações de missão crítica e sites dinâmicos. O MySQL também é um mecanismo SQL popular para aplicações modernas, devido à sua simplicidade e confiabilidade. Os desenvolvedores de aplicações ganham um mecanismo com uma interface cliente-servidor simples e uma integração mais rápida, enquanto as organizações economizam custos com treinamento.
A AWS oferece suporte ao MySQL de várias maneiras, incluindo um serviço de banco de dados totalmente gerenciado, o Amazon Relational Database Service (RDS) para MySQL. A edição do Amazon Aurora compatível com MySQL também é criado usando o MySQL, e o Amazon RDS é compatível com o conhecido projeto fork do MySQL, o MariaDB.
Também é possível hospedar o software MySQL no Amazon EC2 e autogerenciar o banco de dados, ou navegar pelas ofertas de MySQL de terceiros no AWS Marketplace.
História do MySQL
A primeira versão do MySQL Server foi lançada em 1995 pela empresa sueca MySQL AB, fundada por David Axmark, Allan Larsson e Michael Widenius. O MySQL recebeu seu nome em homenagem à filha de Widenius, chamada My. O projeto MySQL foi lançado como código aberto em 2000, sob a GNU General Public License (GPL).
Em 2001, o MySQL havia atingido mais de 2 milhões de instalações ativas. Em 2004, o software estava sendo baixado mais de 30 mil vezes por dia. O MySQL foi adquirido pela Sun Microsystems em 2008 e, quando a Oracle adquiriu a Sun em 2009, também assumiu a propriedade do MySQL.
Benefícios de usar o banco de dados MySQL
Facilidade de uso
O banco de dados MySQL conquistou a preferência de desenvolvedores web devido à sua facilidade de uso e recursos de produtividade, incluindo gatilhos, procedimentos armazenados e visões atualizáveis. O MySQL inclui utilitários como o mysqldump, um programa de backup; o mysqladmin, um cliente administrativo; e o MySQL Workbench, uma interface gráfica para trabalhos de gerenciamento e migração.
Performance
Com o tempo, o MySQL aprimorou seus recursos de performance com recursos que incluem tabelas de discos B-tree com compactação de índice, alocação de memória baseada em threads e junções de loop aninhado otimizadas. O bloqueio em nível de linha e as leituras consistentes no mecanismo de armazenamento oferecem ao MySQL benefícios adicionais de performance para a simultaneidade de vários usuários. O MySQL segue e promove práticas de design para uma performance mais rápida, fornecendo a funcionalidade principal com um conjunto mínimo de recursos.
Confiabilidade e segurança
O mecanismo de armazenamento transacional InnoDB do MySQL adere ao modelo ACID, com recursos extras que melhoram a proteção de dados, incluindo recuperação pontual e confirmação automática. O InnoDB também mantém a integridade deos dados por meio da compatibilidade com chaves estrangeiras, evitando inconsistências de dados nas tabelas.
O MySQL inclui recursos de segurança robustos e flexíveis, incluindo verificação baseada em host e criptografia do tráfego de senhas. O InnoDB oferece benefícios adicionais de segurança, com criptografia de espaço de tabela de dados em repouso usando uma arquitetura de chave de criptografia de duas camadas.
Licença de código aberto
O MySQL está disponível sob uma licença de código aberto (a GNU General Public License), permitindo que você use e modifique livremente o código-fonte ao instalar o MySQL. As versões gerenciadas do MySQL, como o Amazon RDS para MySQL, não têm custos adicionais de licenciamento para o mecanismo MySQL, ao contrário dos mecanismos SQL proprietários.
A grande comunidade global de colaboradores e entusiastas do MySQL traz muitos benefícios adicionais de longo prazo e de ampla abrangência ao uso do sistema de banco de dados. Por exemplo, a comunidade MySQL se mantém atualizada sobre problemas de segurança e correções de bugs, contribuindo para a resiliência geral do software. Os grupos de usuários, eventos, fóruns e listas de e-mail do MySQL fornecem uma rede integrada para a educação e suporte.
Casos de uso comuns do MySQL
Banco de dados OLTP de uso geral
O MySQL é adequado para qualquer aplicação que exija um mecanismo SQL transacional, incluindo aplicações essenciais e sites com tráfego intenso. O MySQL segue os princípios do ACID e inclui extensões para o SQL padrão ANSI/ISO, bem como suporte para XML e JSON.
O MySQL também é compatível com o clustering de bancos de dados de alta disponibilidade e pode lidar com bancos de dados do tamanho de terabytes. As aplicações mais conhecidas que usam o banco de dados MySQL incluem TYPO3, MODx, Joomla, WordPress, phpBB, MyBB e Drupal.
Aplicações de comércio eletrônico
O MySQL é um dos mecanismos transacionais mais conhecidos para plataformas de comércio eletrônico. O MySQL é particularmente útil para gerenciar todos os dados de clientes, transações e catálogos de produtos.
Em soluções de comércio eletrônico, o MySQL é frequentemente usado em conjunto com outros bancos de dados não relacionais, incluindo armazenamentos de documentos e valores-chave para sincronizar dados de pedidos e armazenar dados que não sejam de produtos.
Pilha de código aberto LAMP
O MySQL é parte integrante de inúmeras aplicações executadas na pilha de software de código aberto LAMP (LAMP significa Linux, Apache, MySQL e PHP/Python/Perl). O LAMP é uma pilha de soluções de serviços web onipresente e é amplamente considerada a plataforma de escolha para sites dinâmicos e aplicações web de alta performance.
Projetos fork de software MySQL
MariaDB
O MariaDB é um fork popular do MySQL criado pela MariaDB, que foi fundada pelos desenvolvedores originais do MySQL com a intenção de mantê-lo gratuito e de código aberto sob a licença GNU GPL. Embora o MariaDB seja mantido separadamente do MySQL, ele mantém um alto grau de compatibilidade com o MySQL, incluindo equivalência binária de biblioteca, correspondência exata com interfaces de programação de aplicações (APIs) e várias ferramentas de gerenciamento. A AWS oferece suporte ao MariaDB com o serviço de banco de dados totalmente gerenciado, o Amazon RDS para MariaDB.
Percona Server
O Percona Server é outro fork conhecido do MySQL da Percona. O Percona Server inclui o XtraDB, o fork da Percona do mecanismo de armazenamento InnoDB.
Suporte a linguagens para o desenvolvimento de aplicações
O MySQL lidera com suporte à linguagem SQL. O MySQL também é compatível com a maioria das principais linguagens e protocolos de programação, permitindo que os usuários usem: Python, Java, Perl, Node.js, .NET, PHP, Ruby, Erlang, C/C++, Tcl, ODBC e Objective-C.
MySQL versus PostgreSQL
O MySQL e o PostgreSQL são bancos de dados relacionais de código aberto conhecidos. A popularidade do MySQL se deve ao fato de ser visto como fácil de usar e rápido, enquanto o PostgreSQL é visto como rico em recursos e mais comparável às versões licenciadas comercialmente de bancos de dados como o Oracle. No entanto, as principais versões atuais do MySQL e do PostgreSQL oferecem muitos recursos e capacidades robustos em termos de performance de consultas, confiabilidade, segurança e muito mais. Você pode aprender mais sobre o PostgreSQL e testar o Amazon Aurora PostgreSQL ou o Amazon RDS para PostgreSQL usando o nível gratuito da AWS.
Opções de hospedagem do MySQL na AWS
MySQL autogerenciado no Amazon EC2
Historicamente, os bancos de dados relacionais eram on-premises, e à medida que as workloads de banco de dados foram migradas para a nuvem, as organizações inicialmente utilizaram o Amazon EC2 para executar seus próprios bancos de dados. Com essa abordagem, você gerencia todas as tarefas administrativas usuais que acompanham um banco de dados on-premises, como provisionamento de hardware, configuração de banco de dados, ajuste, aplicação de patches, backups e escalabilidade do MySQL.
MySQL totalmente gerenciado no Amazon RDS
O Amazon Relational Database Service (Amazon RDS) é um serviço de banco de dados relacional de fácil gerenciamento e otimizado para o custo total de propriedade. Esse serviço é simples de configurar, operar e escalar de acordo com a demanda. O RDS automatiza as tarefas rotineiras de gerenciamento de banco de dados, como provisionamento, configuração, backups e aplicação de patches.
O RDS permite que você crie um novo banco de dados em minutos e oferece flexibilidade para personalizar bancos de dados para atender às suas necessidades. Você pode otimizar a performance com recursos como duas instâncias secundárias legíveis, gravações e leituras otimizadas e instâncias baseadas no AWS Graviton4, e podem escolher entre várias opções de preços para gerenciar os custos de forma eficaz.
Modernize com a edição do Amazon Aurora compatível com MySQL
O Amazon Aurora oferece alta performance e disponibilidade incomparáveis em escala global para MySQL. O Aurora tem cinco vezes o throughput do MySQL com total compatibilidade. Ele também oferece amplos padrões de conformidade, recursos de segurança corporativa e suporte para aplicações distribuídas globalmente.
Começar a usar o Amazon RDS para MySQL é simples
1
Cadastre-se no Amazon RDS
Tenha acesso ao nível gratuito do Amazon RDS.
2
Saiba mais com tutoriais simples
3
Comece a criar com o Amazon RDS
Comece a criar com a ajuda do Guia do usuário do MySQL no Amazon RDS.
Processo de migração do banco de dados MySQL
Abordagens de migração de banco de dados MySQL nativos e de terceiros
Serviços de despejo e replicação de SQL
A abordagem nativa mais prática para a migração do sistema de gerenciamento de banco de dados relacional MySQL é realizar um despejo de SQL e, em seguida, realizar atividades de replicação para garantir bancos de dados sincronizados. O mysqldump do MySQL, um utilitário de backup integrado, serve como base para a migração do banco de dados do servidor MySQL. O mysqldump despeja todo o banco de dados com um arquivo de despejo e fornece um conjunto de instruções SQL para regenerar o banco de dados. Esse método é útil para um banco de dados com menos de 10 GB, quando você tem uma conexão rápida e estável com a internet e o tempo de migração de dados não é crítico.
Percona XtraBackup e Amazon S3
Ao transferir primeiro os arquivos e backups do Percona XtraBackup para o Amazon S3, você pode migrar servidores de banco de dados de forma individual de um banco de dados de origem para um novo cluster de banco de dados do Amazon RDS para MySQL ou do Aurora. Usar esse processo de conversão de migração de dados para carregar dados pode ser significativamente mais rápido do que usar o mysqldump.
Banco de dados INFORMATION_SCHEMA
O banco de dados INFORMATION_SCHEMA integrado pode ser usado como um explorador de metadados do MySQL. Usando esse explorador de metadados do MySQL em combinação com a conversão de esquemas do AWS DMS, você pode determinar se os esquemas do banco de dados de origem correspondem aos tipos de dados e esquemas do banco de dados de destino e identificar onde corrigir eventuais lacunas.
Serviços gerenciados de migração de dados MySQL
AWS Database Migration Service
O AWS Database Migration Service (DMS) descobre, avalia, converte e migra workloads do banco de dados MySQL para a AWS, diminuindo a edição e o esforço manuais. O assistente de migração do AWS DMS permite que você selecione a infraestrutura de origem e de destino, utilizando a replicação automatizada com o Change Data Capture (CDC), e crie relatórios com avaliações automatizadas e recomendações de objetos de destino. Não há necessidade de converter esquemas ou definições de objetos nas migrações do MySQL para o MySQL. Aproveite o AWS Application Discovery Service para descobrir quaisquer dependências em seus bancos de dados do servidor MySQL antes de migrar dados.
AWS Application Migration Service
Se você estiver realizando uma simples movimentação sem alterações (lift-and-shift) para migrar dados do seu servidor MySQL on-premises para o EC2, você pode migrar todo o seu servidor para o EC2 usando o AWS Application Migration Service. Você pode aplicar essa técnica para bancos de dados únicos ou vários objetos de banco de dados.