Olá, pessoal! Neste episódio do DatabaseCast, Mauro Pichiliani (Twitter | Blog), Wagner Crivelini (@wcrivelini) e os ouvintes Alex Zaballa (@alexzaballa) e Henrique Jardim (@henriquejardim) quebram a cabeça tentando descobrir o problema na sintaxe do comando SQL. Você também vai saber um pouco mais sobre o padrão SQL, descobrir por que fugir da álgebra relacional, evitar colocar hints de instrução na forma de comentários, odiar a sintaxe (+)= e =(+) e não dar ouvidos ao diabinho e ao anjinho que ficam em cima dos ombros.
…[Leia mais]« Anterior 10 Mais recentes entradas | Próximo 10 Entradas mais antigos »
Faça essa pergunta em uma mesa de DBAs ou arquitetos de software no bar, se afaste, pegue um chopp e assista a um episódio live de Spartacus!
Alguns dizem que se uma chave natural está disponível, ela deve ser utilizada. Eu prefiro pensar que não, não tenho o hábito de usar cpf, rg, dog-tag-id e outros como identificador de uma pessoa num banco de dados.
Meu argumento é que esses campos podem ser únicos, mas não são controlados por mim, o freak dev/dba/designer/barista e, se não está sob meu controle, eu não sei o que pode acontecer com ele.
Pode ser que o Bolsonado acorde um dia com desejo de colocar uma letra no início de cada RG e aí já viu… nem disco da Xuxa sendo tocado ao contrário junto a um coral de apitos astecas pode impedi-lo.
Já a chave artificial é minha, e sob essa ótica artificial deixa de ser quase pejorativo para ser carinhoso.
“Essa chave aí?… Eu …
[Leia mais]Imagine que você está desenvolvendo uma aplicação para Internet em seu ambiente local, e chegou o dia de colocar o sistema em produção, um servidor compartilhado, hospedagem. Além de verificar se está tudo de acordo com as funcionalidades, uma das preocupações nesse cenário é analisar se o charset está devidamente configurado na aplicação e no banco de dados.
O que é charset?
Charset, Character Set, é o conjunto de caracteres que são utilizados para criação de documentos, bancos de dados, sites etc. Cada charset possui uma lista de caracteres disponíveis, sendo estes representados por uma posição de referência.
Confira alguns caracteres disponíveis no charset ASCII.
| Posição | Caractere |
|---|---|
| 65 | A |
| 66 | B | …
Uma série de mudanças no subsistema de gestão de usuários da nova versão do sistema de gerenciamento de bancos de dados open source mais popular do mundo é observada. Muito vem para melhorar tudo aquilo que é considerado um problema de segurança para muitos dos administradores de bancos e dados que já trabalham com o MySQL desde outras versões.
Realmente, a versão 5.7 trará muitas novidades que já podem ser testadas através do download do DMR (Developement Milestonbe Release), disponível no labs.mysql.com. Muito do que vem sendo solicitado há algum tempo está previsto para a nova versão ainda sem previsão para lançamento. Entretanto, quero começar a listar aqui as várias novidades para que o leitor não fique perdido quando a hora da migração chegar – até porque as melhorias não são somente em algumas áreas, mas vários subsistemas estão sendo profundamente …
[Leia mais]Numa definição muito simplista, o Docker é um modo de virtualização mais leve. Na virtualização “tradicional” para ter imagem utilizável você precisa criar a máquina virtual e depois instalar o Sistema Operacional. Com o Docker, você pode ter várias imagens sobre o mesmo SO ao mesmo tempo em que mantém o isolamento das aplicações e bibliotecas em cada imagem.
Ao invés de múltiplas VMs, teremos múltiplos containers. Múltiplos SOs dão suporte à tecnologia de containers, em destaque o Linux. Sendo assim, o kernel do SO provê o suporte aos containers e o Docker é uma camada de abstração para facilitar seu uso, similar ao que o Vagrant faz para VMs. Isto nos dá a vantagem adicional do Docker ser agnóstico ao …
[Leia mais]Este é um artigo para mostrar como combinar o framework CodeIgniter HMVC com template Smarty e Doctrine ORM.
Leia este texto para saber como podemos usar vários comandos ORM em seus sites sem a necessidade de usar ferramentas de linha de comando.
O artigo apresenta um projeto de exemplo que você pode usar como ponto de partida para os seus próprios projetos PHP.
Começando
Neste artigo, vamos combinar os seguintes pacotes em conjunto:
[Leia mais]Um procedimento comum após a instalação do MySQL é alterar o datadir e normalmente é para outra unidade de disco. Nos servidores que eu administro sempre busco deixar o datadir em uma unidade de disco e a gravação de logs em outra, isso faz não existir concorrência de I/O no momento de leitura ou gravação … Read More →
No último artigo, mostrei ao amigo leitor como configurar de forma muito fácil a replicação GTID entre servidores de bancos de dados MySQL com alguns dos scripts do pacote MySQL Utilities, disponível para download via YUM ou pelo site do MySQL. A parte II sobre Replicação GTID ainda está no forno, mas tive uma oportunidade de executar várias tarefas administrativas em um servidor de produção com alguns outros scripts do MySQL Utilities. Então, resolvi passar este na frente e focar em ajudar o DBA naquelas tarefas executadas no seu dia a dia.
São muitas as possibilidades, vários os scripts, que se encaixam em diversas situações. Lembro que a versão do MySQL Utilities que utilizo na escrita deste artigo é a 1.6.1, que ainda está em desenvolvimento. …
[Leia mais]Com o aumento do número de linhas presentes nas tabelas de uma base de dados, percebe-se o aumento da utilização de recursos computacionais para realizar consultas mais complexas, principalmente aquelas que envolvem junções entre duas ou mais tabelas.
É nítido que, mesmo em um cenário ideal, com todas as tabelas normalizadas e perfeitamente indexadas, as junções tendem a ser o mais frequente problema de desempenho nas consultas para geração de relatórios ou análises mais complexas entre os dados dispersos por várias tabelas. Este cenário é ainda mais crítico em aplicações web que disponibilizam dados em tempo real, como a maioria dos sites sociais, onde a informação deve estar atualizada sempre que o usuário executa uma ação ou recarrega uma página.
Evitar junções que sejam custosas para as consultas realizadas mais frequentemente é a proposta da implementação da redundância controlada de dados em …
[Leia mais]I remember the time when all the database and sys admins used to speak about MySQL backup strategy and it was really something to not worry about too much for many reasons. One of them was that the dataset on MySQL schemas was not too big, not that critical and the information was not that […]
« Anterior 10 Mais recentes entradas | Próximo 10 Entradas mais antigos »