Linguagem de Programação e Banco de Dados
Por muitos anos o Facebook utilizou como base de seu sistema a linguagem de programação Php. Como já apresentado em módulo anterior, o Php é uma linguagem que alguns consideram como de terceira geração e outros como de quarta, em função de ter sido desenvolvida especificamente para a criação de aplicações web.
Entretanto, com o objetivo de acelerar a velocidade de acesso ao sistema, a empresa criou, nos últimos anos, uma nova linguagem de programação, chamada Hack, e que promete ser a nova revolução entre as linguagens de terceira e quarta geração.
Em relação ao armazenamento, o Facebook utiliza dois grandes modelos de bancos de dados:
A utilização de duas arquiteturas de bancos de dados tem um objetivo. Um banco de dados relacional fornece uma série de regras para garantia da integridade dos dados e segue o modelo ACID: Atomicidade, Consistência, Isolamento e Disponibilidade. Já o modelo NOSQL, possibilita um ganho de desempenho e escalabilidade horizontal, ou seja, permite que a capacidade do sistema seja aumentada apenas com o aumento da quantidade de servidores.
A escalabilidade pode ser horizontal ou vertical:
A escalabilidade horizontal se configura pela possibilidade de se aumentar a capacidade computacional de uma aplicação através da inclusão de novos equipamentos, desta forma, diferentes computadores passam a trabalhar em conjunto na execução de uma mesma tarefa.
Já a escalabilidade vertical diz respeito ao aumento da capacidade computacional de um único equipamento através da melhoria do seu hardware, como a inclusão, por exemplo, de mais unidades de processamento e memória. Desta forma, passamos a encontrar servidores que possuem dezenas de processadores e terabytes de memória RAM.
X