Amazon Dynamo
Dynamo é um grupo de técnicas que quando tomados em conjunto podem formar um sistema de armazenamento estruturado altamente disponível de valores-chave[1] ou de um sistema de arquivos distribuído.[2] Tem propriedades de ambos os bancos de dados e tabelas hash distribuídas (DHTs). Amazon DynamoDB é "construído nos princípios da Dynamo"[3] (aparentemente com algumas melhorias) e é um serviço hospedado na infra-estrutura AWS. Ele foi criado para ajudar a resolver alguns problemas de escalabilidade que o site da Amazon.com experimentava durante a temporada de férias de 2004.[4] Em 2007 foi utilizado em Amazon Web Services, tal como o seu Simple Storage Service (S3).[5]
Princípios
editarO Dynamo deve ser capaz de escalar um host de armazenamento (doravante, referido como "nó") de cada vez, com um impacto mínimo tanto sobre os operadores do sistema como sobre o próprio sistema. Cada nó no Dynamo deve ter o mesmo conjunto de responsabilidades que seus pares. Não deve haver nó distinto ou nós que assumam papéis especiais ou conjunto extra de responsabilidades. O projeto deve favorecer as técnicas descentralizadas ponto-a-ponto sobre o controle centralizado. O sistema precisa ser capaz de explorar a heterogeneidade na infra-estrutura em que é executado, por exemplo, a distribuição do trabalho deve ser proporcional às capacidades dos servidores individuais, isso é essencial para adicionar novos nós com maior capacidade sem precisar atualizar todos os hosts de uma só vez.
Implementações
editarA Amazon publicou o artigo sobre o Dynamo, mas nunca divulgou sua implementação. A camada índice do Amazon S3 implementa e estende muitas das características principais de um Dynamo. Desde então, várias implementações foram criadas com base no artigo. O documento também inspirou muitos outros implementações de banco de dados NoSQL.[6] Aqui estão alguns projetos que implementam ou foram inspirados por ele: Aerospike, Apache Cassandra, Projeto Voldemort e, Riak.
Referências
- ↑ «Dynamo: Amazon's Highly Available Key-value Store» (PDF) (em inglês). All Things Distributed. 2007. Consultado em 8 de maio de 2017
- ↑ Decandia, G.; Hastorun, D.; Jampani, M.; Kakulapati, G.; Lakshman, A.; Pilchin, A.; Sivasubramanian, S.; Vosshall, P.; Vogels, W. (2007). «Dynamo». Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles - SOSP '07 (em inglês). New York, N.Y.: Association for Computing Machinery. p. 205. ISBN 9781595935915. doi:10.1145/1294261.1294281
- ↑ «Amazon DynamoDB – a Fast and Scalable NoSQL Database Service Designed for Internet Scale Applications». All Things Distributed (em inglês). 18 de janeiro de 2012. Consultado em 8 de maio de 2017
- ↑ «Amazon Takes Another Pass at NoSQL with DynamoDB». readwrite (em inglês). 18 de janeiro de 2012. Consultado em 8 de maio de 2017
- ↑ Werner Vogels (2 de outubro de 2007). «Amazon's Dynamo» (em inglês). Consultado em 8 de maio de 2017
- ↑ «Launched a thousand NoSQL databases». readwrite (em inglês). 18 de janeiro de 2012. Consultado em 8 de maio de 2017
Ligações externas
editar- «Amazon DynamoDB» (em inglês)