Sistemas Operacionais suportados pelo MariaDB
Nós ulitizamos o GNU Autoconf, para que seja possível portar o MariaDB para todos sistemas operacionais modernos com threads Posix funcionando e um compilador C++. (Para compilar somente o código cliente, um compilador C++ é necessário mas threads não.) Nós mesmos usamos e desenvolvemos o software primeiramente no Linux (SuSE e red Hat), FreeBSD e Sun Solaris (Versões 8 e 9).
Perceba que para alguns sistemas operacionais, o suporte nativo a thread funciona somente nas últimas versões. O MariaDB compila corretamente nas seguintes combinações de sistema operacional/pacote de thread:
- AIX 4.x com threads nativas. Leia "Notas IBM-AIX".
- Amiga.
- BSDI 2.x com o pacote incluído MIT-pthreads. Leia "Notas BSDI Versão 2.x".
- BSDI 3.0, 3.1 e 4.x com threads nativas. Leia "Notas BSDI Versão 2.x".
- SCO OpenServer with a recent port of the FSU Pthreads package. Leia "Notas SCO".
- SCO UnixWare 7.0.1. Leia "Notas SCO Unixware Version 7.0".
- DEC Unix 4.x com threads nativas. Leia "Notas Alpha-DEC-UNIX (Tru64)".
- FreeBSD 2.x com o pacote incluído MIT-pthreads. Leia "Notas FreeBSD".
- FreeBSD 3.x e 4.x com threads nativas. Leia "Notas FreeBSD".
- FreeBSD 4.x com Linuxthreads. Leia "Notas FreeBSD".
- HP-UX 10.20 com o pacote incluído MIT-pthreads ou DCE threads. Leia "Notas HP-UX Versão 10.20".
- HP-UX 11.x com as threads nativas. Leia "Notas HP-UX Versão 11.x".
- Linux 2.0+ com LinuxThreads 0.7.1+ ou
glibc
2.0.7+. Leia "Notas Linux (Todas as versões)". - Mac OS X Server. Leia "Notas Mac OS X".
- NetBSD 1.3/1.4 Intel e NetBSD 1.3 Alpha (Necessita GNU make). Leia "Notas NetBSD".
- Novell NetWare 6.0. Leia "Notas Novell NetWare".
- OpenBSD > 2.5 com threads nativas. OpenBSD < 2.5 com o pacote incluído MIT-pthreads . Leia "Notas OpenBSD".
- OS/2 Warp 3, FixPack 29 e OS/2 Warp 4, FixPack 4. Leia "Notas OS/2".
- SGI Irix 6.x com threads nativas. Leia "Notas SGI Irix".
- Solaris 2.5 e superior com threads nativas nas plataformas SPARC e x86. Leia "Notas Solaris".
- SunOS 4.x com o pacote incluído MIT-pthreads. Leia "Notas Solaris".
- Tru64 Unix
- Windows 9x, Me, NT, 2000 e XP. Leia "Notas Windows".
Perceba que nem todas as plataformas são apropriadas para executar o MariaDB. Os seguintes fatores determinam se uma certa plataforma é apropriada para uma missão crítica pesada:
- Estabilidade geral da biblioteca thread. Uma plataforma pode ter excelente reputação, entretanto, se a biblioteca thread é instável no código que é usado pelo MySQL, mesmo se todo o resto for perfeito, o MariaDB irá ser tão estável quanto a biblioteca thread.
- A habilidade do kernel e/ou a biblioteca thread tirar vantagem do SMP em sistemas multi-processados. Em outras palavras, quando um proceesso cria uma thread, deve ser possível para aquela thread executar em uma CPU diferente que o processo original.
- A habilidade do kernel e/ou a biblioteca thread executar várias threads que adiquire/libera um bloqueio mutex sobre uma pequena região crítica frequentemente sem trocas de contexto excessivos. Em outras palavras, se a implementação de
pthread_mutex_lock()
requisitar a CPU muito rapidamente, isto irá afetar o MariaDB tremendamente. Se esse detalhe não estiver sendo cuidado, adicionar CPUs extras podem deixar o MariaDB mais lento. - Estabilidade e performance geral do sistema de arquivos.
- Habilidade do sistema de arquivos em lidar com arquivos grandes de forma eficiente, se suas tabelas forem grandes.
- Nosso nível de experiência aqui na MariaDB Foundation com a plataforma. Se nós conhecemos bem uma plataforma, introduzimos otimizações/correçoes específicas para ela habilitadas na hora da compilação. Nós também podemos fornecer conselhos sobre como configurar seu sistema otimizadamente para o MariaDB.
- O volume de testes feitos internamente de configurações similares.
- O número de usuários que tem executado o MariaDB corretamente naquela plataforma em configurações similares. Se esse número for alto, as chances de se ter alguma surpresa específica da plataforma fica muito menor.
Baseado nos critérios acima, as melhores plataformas para a execução do MariaDB até este ponto são o x86 com SuSe Linux 8.2, kernel 2.4 e ReiserFS (ou qualquer distribuição Linux similar) e Sparc com Solaris (2.7-9). FreeBSD vem em terceiro, mas realmente temos esperanças que ele irá se unir ao clube dos tops uma vez que a biblioteca thread está melhorando. Nós também acreditamos que em certo ponto iremos estar aptos para incluir todas as outras plataformas em que o MariaDB compila e executa, mas não tão bem e com o mesmo nível de estabilidade e performance, na categoria superior. Isto necessitará de algum esforço da nossa parte em cooperação com os desenvolvedores dos componentes do Sistema Operacional/Biblioteca que o MariaDB depende. Se você tiver interesse em melhorar algum de nossos componentes, está em uma posição para influenciar seu desenvolvimento, e precisa de instruções mais detalhadas sobre o que o MariaDB necessita para uma melhor execução, envie um e-mail para lista de email insternals
do MariaDB. Leia "As Listas de Discussão do MariaDB".
Por favor, perceba que a comparação acima não é para dizer que um SO é melhor ou pior que o outro em geral. Nós estamos falando sobre a escolha de um SO para um propósito dedicado: executar o MySQL, e comparamos as plataformas levando isto em consideração. Desta forma, o resultado desta comparação seria diferente se nós incluíssemos mais detalhes. E em alguns casos, a razão de um SO ser melhor que o outro pode ser simplesmente porque colocamos mais esforço nos testes e otimização para aquela plataforma em particular. Estamos apenas colocando nossas observações para ajudá-lo na decisão de qual plataforma usar o MariaDB na sua configuração.