respect

Enquete

Qual a versão de seu MySQL?

Visitantes OnLine

Nós temos 20 visitantes online

Blog::MySQL

Consultoria em Banco de Dados MySQL

A HTI Tecnologia especializou-se em consultoria em banco de dados. São mais de 10 anos dedicando-se a este tema, inclusive, fazendo pesquisas e colaborando com código fonte no RDBMS MySQL, além de incentivar comunidades e forums relacionados.

Em nosso portfolio de clientes destaca-se os maiores usuários de MySQL da América Latina. São segmentos dos mais distintos possíveis, com empresas/entidades de todos os portes, governo e setor privado.

Nossa equipe conta com os mais celebrados consultores do ecossistema MySQL na língua portuguesa. Além de consultores associados em países como Argentina, Venezuela, Colômbia e Estados Unidos. Desta forma, conseguimos entregar consultoria de altíssima qualidade em: português, espanhol e inglês. Todos os nossos consultores tem mais de 5 anos de experiência em MySQL, ministram treinamento oficial, sendo que alguns participaram da criação do material oficial do MySQL, e, atualmente, colaboram na documentação do MariaDB, além, da criação do material oficial e do programa de certificação.

Não importa o segmento ou porte da sua empresa, da complexidade do problema, ou do tamanho de sua necessidade, nós, certamente, temos a resposta que você precisa.

Dentre os principais serviços de consultoria, podemos destacar:

Performance Tuning: São ajustes finos realizados, exclusivamente, na configuração do servidor mysqld, e, no sistema operacional. O MySQL/MariaDB conta com uma intrincada teia de variáveis de configuração. É preciso grande experiência teórica e prática para seu correto ajuste. A partir da análise da carga do seu servidor, tipo de operação mais freqüente, entre outros fatores, podemos determinar quais os melhores ajustes de cada variável. É importante frisar que não existe configuração mágica, muitas vezes, é preciso ir além do ajuste de variáveis para conseguir um ambiente, realmente, de alta performance.

Schema Review:  É a ampla análise do desenho de seu banco de dados (ou de determinado conjunto de tabelas). É um trabalho delicado que irá observar as melhores práticas na modelagem de banco de dados. Determinando a melhor escolha dos tipos de dados (datatypes) que irão propiciar maior otimização das colunas. Normalização e/ou desnormalização de tabelas. Estratégia de índices. Escolha e adequação de storage engines.

Replication Review: A replicação é uma utilidade nativa e poderosa do MySQL, e, de simples implementação. Contudo, esta simplicidade conduz muitos DBA's a menosprezar alguns detalhes que podem gerar erros de implementação. Nosso trabalho aqui pode ter duas vertentes: implementar a replicação, ou, rever toda a arquitetura existente. Podemos criar ambientes altamente escaláveis, redundantes, que possam trazer benefícios como contingência, backup online, performance e robustez, além de observar as melhores práticas e usos.

Query Review: Você nos informa um conjunto de queries a serem validadas/melhoradas, antes de sua entrada em produção,  ou, aquelas que sabidamente são consideradas problemáticas. Podemos vasculhar todas as queries executadas em seu servidor, e, encontrar aquelas que tomam recursos além do necessário. Em suma, não importa a forma como elas serão adquiridas/informadas, o trabalho aqui, envolve aplicar as melhores práticas na escrita de "sentenças SQL" sempre buscando: a melhor performance, a possibilidade de maior concorrência possível, e, ausência de "locks". Dentre as técnicas utilizadas podemos citar: aplicação de "hints" específicos do MySQL, uso de índices (b-tree,b+tree, rtree, hash, fulltext), implementação e otimização de caches & buffers, configuração do otimizador, pré-compilação de queries, uso de eventos & tabelas sumarizadas. 

Partitioning Review: Particionamento horizontal de tabelas pode ser um excelente negócio para "quebrar" grandes tabelas em múltiplos arquivos físicos de menor tamanho. A idéia por traz deste conceito é gerar "sub tabelas", transparentes para aplicação, mas reconhecidas pelo RDBMS. Assim, pretende-se obter maior performance, além de, resolver outros quesitos relacionados ao sistema operacional. No entanto, pode se tornar uma enorme dor de cabeça, caso não se entenda o conceito de particionamento implementado pelo MySQL. Nesta modalidade de consultoria, serão implementadas as melhores técnicas de particionamento, uso de estratégias adequadas para extrair o máximo do "mysql pruning", aumentando a performance de suas queries. Estratégias de manutenção das partições, escolha do melhor fator de particionamento, indexação, storage engine, etc.

CCR Customer Code Review:  É uma tendência que regras de negócio e/ou complexas rotinas/funções sejam delegadas ao banco de dados sob a forma de "procedures", "functions", "triggers" e "events". É comum acreditar que rotinas que rodavam bem em outro RDBMS vá rodar bem no MySQL, e que, portanto, não precisam de uma revisão... mas, não é bem assim. Podemos criar "stored routines" baseados em uma análise de requisitos, melhorar as existentes, ou até, reescrevê-las.

Server Extensions:  O MySQL, dentre tantas características únicas, permite que "plugins" ou extensões possam ser adicionadas ao servidor. Dentre estas extensões podemos citar novos (ou novas versões) de "storage engines", "fulltext parsers" entre outras funcionalidades que mudam o comportamento do servidor mysqld. Nós podemos ajudá-lo na escolha, na instalação e uso destes "plugins".

UDF Review: O MySQL permite que voce crie suas próprias funções em C++. Estas funções podem ser inseridas dentro do "core" do MySQL para serem utilizadas por suas aplicações como se fossem funções nativas do RDBMS. Podemos ajudá-lo a criar estas funções que podem se traduzir em maior poder e flexibilidade para suas aplicações.

SCR Server Code Review: A HTI, ao lado da Monty Program, Percona e OpenQuery, destaca-se dentre as poucas e seletas empresas no mundo a oferecer este tipo de consultoria. E, certamente, a única na América Latina. Pela nossa experiência em contribuição de código para a comunidade do MySQL, e, agora para o MariaDB, temos um time de consultores que podem realizar personalizações no código fonte do MySQL ou MariaDB afim de entregar novas funcionalidades ou, em última instância aplicar correções.

Rock Start!: Ou "jump start" nada mais é do que conhecer a sua necessidade de RDBMS, e, a partir daí, dimensionar  o hardware e sistema operacional mais adequado. O servidor MySQL será escolhido dentre os vários sabores e plataformas disponíveis, e, se necessário compilado com uma série de parâmetros que melhor atendam às suas necessidades. Um "tuning" de espectro geral é executado como bônus. Nesta consultoria é considerada outras distribuições do MySQL que possam trazer recursos mais adequados ao tipo de operação que sua aplicação exigirá de seu RDBMS.

High Availability: Alta disponibilidade é uma necessidade legítima para aplicações de missão crítica. E, no nosso entendimento, alta disponibilidade não é somente estar o maior tempo possível no ar, mas, inclui-se também, um alto volume de entrega de dados. O seu banco  dados demanda altos níveis de "uptime" com SLA de 99.99% a 99.9999%? Baixo impacto na aplicação durante manutenções preventivas, corretivas e "backups"? Alto volume de entrega de dados? Seja qual for sua necessidade em alta disponibilidade, nós temos a solução:

  • Cluster ativo-ativo
  • Cluster ativo-passivo 
  • MySQL Cluster
  • DRDB
  • Memcached
  • Continuent/Tungsten
  • Replicação Multi-Master  

Migração de Dados: Mudando de banco de dados? Distribuindo aplicações entre diversos bancos de dados? Temos com ajudá-lo a migrar dados entre MySQL, MariaDB, Drizzle, Oracle, PostgreSQL, Informix, MS-SQL (SQL Server), DB2, Sybase, Access, Dbase, etc.  

Transaction Review: Voce conhece o conceito ACID? Suas aplicações, realmente, são transacionais? Qual o nível de isolamento mais adequado para sua transação? Qual o tempo ideal para aguardar por uma linha (registro) travada? Como identificar linhas travadas por outras sessões? O "storage engine" utilizado é a melhor opção para transação? Como tirar proveito das características transacionais do MySQL? Voce precisa de transação multimodal, simultânea, entre bancos de dados diferentes, digamos, iniciar uma mesma transação em Oracle e MySQL? Nós podemos revisar seu código fonte e transmitir todo o conhecimento necessário para que suas aplicações possam trabalhar com transações de maneira segura e eficaz.