Criando um aplicativo da Web para dimensionar

2

Durante a criação de um aplicativo do aplicativo da web no Facebook para ser preciso. O que pode aumentar e aumentar rapidamente por causa da vitalidade e é certo intensivo.

Que ponto se deve ter em mente ao projetar o banco de dados? Por exemplo, quais coisas devo deixar espaço para se eu precisar shard ou ter uma combinação Mestre / Escravo mais tarde (com memcache)

Considerando que eu uso Banco de Dados Relacional com mySQL

    
por Fahim Akhter 14.06.2010 / 16:04

2 respostas

2

Além do usual 'nada compartilhado' na camada de aplicativos, a primeira coisa que eu acho é 'ir imutável'. Isso significa que você deve tentar (quase) nunca modificar um registro, em vez disso, escrever um novo (com um novo ID. Você está usando o ID em todas tabelas, certo?). Dessa forma, você não precisa se preocupar com a exclusão de entradas de cache. basta fazê-los digitados nos mesmos IDs e deixá-los expirar quando não forem mais usados.

    
por 14.06.2010 / 16:31
1

O livro Arquiteturas escalonáveis na Internet tem uma ótima discussão e detalhamento sobre as considerações de bancos de dados de dimensionamento (e infra-estrutura da Internet em geral). Deve ser leitura obrigatória para qualquer pessoa que desenvolva aplicativos da Web e bancos de dados que precisem escalar em todos os servidores.

    
por 14.06.2010 / 17:18