160 likes | 311 Views
Curso: Tecnologia de Banco de Dados Relacional Disciplina: Desenvolvimento de Aplicações e Banco de Dados Professor: Luciano Ricardi Scorsin Data: 07/12/2009. Objetivos de Hoje Conceitos de “Cloud Computing” Banco de Dados em “Nuvem” Exemplos de Bancos de Dados em Nuvem. Laboratório
E N D
Curso: Tecnologia de Banco de Dados Relacional Disciplina: Desenvolvimento de Aplicações e Banco de Dados Professor: Luciano Ricardi ScorsinData: 07/12/2009
Objetivos de Hoje • Conceitos de “Cloud Computing” • Banco de Dados em “Nuvem” • Exemplos de Bancos de Dados em Nuvem
Laboratório • Desenvolvimento da aplicação
Cloud Computing Traduzindo para o português “Computação em Nuvem” é o termo utilizado para conceituar a mudança de paradigma no desenvolvimento de softwares e infra-estrutura. A Computação em Nuvem consiste na abstração da complexidade no fornecimento de serviços, deixando transparente a camada deinfra-estrutura para os consumidores do serviço.
Cloud Computing Antes de “Cloud Computing” Banco de Dados CRM SAP SAC
Cloud Computing Depois de “Cloud Computing” Operacoes Servicos ao Cliente HTTP Relacionamento
Cloud Computing Antes de “Cloud Computing”
Cloud Computing Antes de “Cloud Computing”
Cloud Computing Normalmente funcionam através de WebServices, que por sua vez rodam sobre o protocolo SOAP (Simple Object Access Protocol) em uma arquitetura SOA (Service Oriented Architecture).
Exemplos de Bancos em Nuvem 1 – Amazon’s SimpleDB 2 – Google App’s Big Table 3 – EnterpriseDB's Postgres Plus Advanced Server 4 – Vertica Columnar Cloud 5 – Mysql 6 – MSSDS
Amazon’s SimpleDB • http://aws.amazon.com/simpledb/ • Não possui SQL (No manual existem algumas instruções para versões mais novas). • Operações simples como: • Put • Get • Delete
Google App’s BigTable BigTable é o sistema de armazenamento utilizado pelo Google para suas principais aplicações. Entre elas, Google Earth e Indexação Web. Google App é o serviço fornecido pelo Google para o armazenamento de aplicações e sites web. Logo, o BigTable é fornecido como serviço para quem utiliza o Google App.
Google App’s BigTable • Petabytes de Dados • Milhares de máquinas • Não suporta modelo “full-relational” • O esquema indica a localidade do dado, bem como se este deve ser servido da memória ou disco. • Dados armazenados em ordem lexicográfica (alfabetica) pela chave da linha • Timestamps, cada célula pode conter multiplas versoes do mesmo dado.
Google App’s BigTable • Escrevendo: • // Open the table • Table *T = OpenOrDie("/bigtable/web/webtable"); • // Write a new anchor and delete an old anchor • RowMutation r1(T, "com.cnn.www"); • r1.Set("anchor:www.c-span.org", "CNN"); • r1.Delete("anchor:www.abc.com"); • Operation op; • Apply(&op, &r1);
Google App’s BigTable Lendo: Scanner scanner(T); ScanStream *stream; stream = scanner.FetchColumnFamily("anchor"); stream->SetReturnAllVersions(); scanner.Lookup("com.cnn.www"); for (; !stream->Done(); stream->Next()) { printf("%s %s %lld %s\n", scanner.RowName(), stream->ColumnName(), stream->MicroTimestamp(), stream->Value()); }