Escolar Documentos
Profissional Documentos
Cultura Documentos
SISTEMAS E DESAFIOS 1 2
1.Introduo
Com o avano da sociedade humana moderna, servios bsicos e essenciais so
quase todos entregues de uma forma completamente transparente. Servios de
utilidade pblica como gua, eletricidade, telefone e gs tornaram-se fundamentais
para nossa vida diria e so explorados por meio do modelo de pagamento baseado
no uso. As infraestruturas existentes permitem entregar tais servios em qualquer
tempo e lugar, de forma que possamos simplesmente acender a luz, abrir a torneira
ou usar o fogo. O uso desses servios , ento, cobrado de acordo com as diferentes
polticas de tarifao para o usurio final. Recentemente, a mesma ideia de utilidade
tem sido aplicada no contexto da informtica e uma mudana consistente neste
sentido tem sido feita com a disseminao de Cloud Computing ou Computao em
Nuvem.
Computao em nuvem uma tendncia recente de tecnologia cujo objetivo
proporcionar servios de TI sob demanda com pagamento baseado no uso.
Tendncias anteriores computao em nuvem foram limitadas a uma determinada
classe de usurios ou focadas em tornar disponvel uma demanda especfica de
recursos de TI, principalmente de informtica. Computao em nuvem pretende ser
global e prover servios para as massas que vo desde o usurio final que hospeda
seus documentos pessoais na Internet at empresas que terceirizam toda
infraestrutura de TI para outras empresas. Nunca uma abordagem para a utilizao
real foi to global e completa: no apenas recursos de computao e armazenamento
so entregues sob demanda, mas toda a pilha de computao pode ser aproveitada
na nuvem.
A computao em nuvem surge da necessidade de construir infraestruturas de TI
complexas, onde os usurios tm que realizar instalao, configurao e atualizao
de sistemas de software. Em geral, os recursos de computao e hardware so
propensos a ficarem obsoletos rapidamente e a utilizao de plataformas
computacionais de terceiros uma soluo inteligente para os usurios lidarem com
a infraestrutura de TI. Na computao em nuvem os recursos de TI so fornecidos
como um servio, permitindo que os usurios o acessem sem a necessidade de
conhecimento sobre a tecnologia utilizada. Desse modo, os usurios e as empresas
passaram a acessar os servios sob demanda e independentemente de localizao, o
que aumentou a quantidade de servios disponveis.
Com isso, os usurios esto movendo seus dados e aplicaes para a nuvem e assim
podem acess-los de forma simples e de qualquer local. Isso novamente um caso
de utilizao de processamento centralizado. Cenrio semelhante ocorreu h
aproximadamente 50 anos: um servidor de tempo compartilhado acessado por vrios
usurios. Contudo, nas ltimas dcadas, quando os computadores pessoais surgiram,
os dados e as aplicaes comearam a ser utilizados localmente.
Certamente o paradigma de computao em nuvem no uma repetio da histria.
H 50 anos os servidores de tempo compartilhado foram adaptados por limitao de
recursos. J a computao em nuvem surge da necessidade de construir
infraestruturas de TI complexas, onde os usurios instalam, configuram e atualizam
software. Alm disso, recursos de computao e hardware so propensos a ficarem
obsoletos rapidamente. Assim, a utilizao de plataformas computacionais de
terceiros uma soluo inteligente para os usurios lidarem com infraestrutura de TI.
Na computao em nuvem os recursos de TI so fornecidos como um servio,
permitindo que os usurios o acessem sem a necessidade de conhecimento sobre a
tecnologia utilizada. Assim, os usurios e empresas passaram a acessa os servios
1
De acordo com a figura, cada inquilino contrata os servio fornecido pelo provedor.
Este provedor mantem um conjunto de banco de dados hospedados, em geral, em
serve todos os inquilinos. Cada inquilino utiliza esquemas privados do banco de dados
compartilhado. Cada nome de estrutura privada possui um identificador para indicar
quem o proprietrio da tabela. Quando uma consulta submetida, esta reescrita de
forma a identificar o nome das tabelas modificadas e obter as respostas corretas. Esta
reescrita pode ser feita por um roteador de consultas. A Figura 4.6 mostra esta
abordagem.
dados
API simples, SQL ou variaes
Controle Global
Alteraes Dinmicas
Tabela
4.2.
Central ou Distribudo
Dadosem
Nuvem
inquilinos.
De forma a possibilitar a consolidao da computao em nuvem e dos SGBDs em
nuvem, tcnicas de virtualizao tm se tornando populares para a implantao destes
sistemas e de outros sistemas de software [Soror et al. 2010]. A virtualizao apoia a
consolidao dos recursos nas empresas, pois permite que uma variedade de aplicaes
que funcionam com recursos de computao dedicados sejam movidos para um pool de
recursos compartilhados, o que ajuda a melhorar a utilizao dos recursos fsicos,
simplificar a administrao e reduzir custos para a empresa. Em [Soror et al. 2010]
apresentado um estudo sobre a sobrecarga de executar SGBDs em ambientes com
mquinas virtuais. De acordo com o estudo, a execuo no traz um alto custo de
desempenho, visto que a virtualizao introduz pouca sobrecarga para chamadas de
sistema, tratamento de falta de pginas e operao de E/S no disco e isto no
traduzido em alta sobrecarga no tempo de execuo da consulta. Chamadas de sistema
e falta de pginas representam uma pequena frao no tempo de execuo de uma
consulta. Operaes de E/S no disco correspondem a uma frao significativa do tempo,
mas o retardo no muito. Os resultados apresentados mostram que a sobrecarga
mdia menor do que 10%.
Associado virtualizao, o compartilhamento de infraestruturas entre inquilinos
no gerenciamento de dados possibilita uma utilizao eficiente dos recursos e com baixo
custo de operao, alm de permitir que os SGBDs em nuvem possam gerenciar uma
grande quantidade de inquilinos com padres de carga de trabalho irregulares [Elmore
et al. 2010]. O conceito de multi-inquilino, uma tcnica para consolidar aplicaes de
mltiplos inquilinos em um nico sistema frequentemente utilizada para eliminar a
necessidade de sistemas separados para cada inquilino. Por exemplo, um inquilino pode
ser um usurio utilizando uma aplicao que acessa um SGBD ou um SGBD instalado
em uma infraestrutura. SGBDs multi-inquilino tem sido utilizado para hospedar mltiplos
inquilinos dentro de um nico sistema, permitindo o compartilhamento eficaz de
recursos em diferentes nveis de abstrao e isolamento.
Existem vrios modelos de multi-inquilino e estes podem compartilhar desde
mquinas at tabelas. Por exemplo, a empresa Salesforce utiliza o modelo de tabela
compartilhada [Weissman and Bobrowski 2009] enquanto [Soror et al. 2010] utilizam o
modelo de mquina virtual compartilhada para melhorar a utilizao dos recursos.
Algumas caractersticas do gerenciamento de dados em nuvem aumentam a relevncia
de outros modelos de SGBDs multi-inquilino. Para melhorar a compreenso destes
modelos, [Reinwald 2010] prope uma nova classificao, como mostra a Tabela 4.3.
Modo de
Compartilhamento
1. Hardware
Isolamento
Iaa
S
VM
2. Mquina Virtual
Usurio SO
3. Sistema Operacional
4. Instncia
Instncia do
BD
BD
5. Banco de Dados
Esquema
Paa
S
Saa
S
x
x
x
x
6. Tabela
Linha
x
Tabela 4.3. Modelos de banco de dados multi-inquilino e correspondncia com a
computao em nuvem [Reinwald 2010] [Elmore et al. 2010]
banco de dados em vrios nveis de isolamento, tais como diferentes banco de dados,
esquema ou tablespace e linha. Nos diferentes modelos, os dados dos inquilinos so
armazenados de vrias formas. O modelo de hardware compartilhado utiliza a
virtualizao para chavear vrias VMs na mesma mquina. Cada VM possui apenas um
processo de banco de dados e uma VM inteira, em geral, corresponde a um inquilino. J
o modelo de tabela compartilhada armazena dados de vrios inquilinos em uma mesma
tabela e algumas linhas de uma tabela correspondem a um inquilino.
4.2.3.1. Armazenamento e Processamento de Consultas
O armazenamento e processamento de consultas so pontos crticos no contexto da
gesto de dados em nuvem [Armbrust et al. 2009]. Existem diversas abordagens para
gerenciar dados em nuvem e cada sistema utiliza uma abordagem especfica para
persistir os dados. Dentre estas abordagens, podemos destacar novos sistemas de
arquivos, frameworks e propostas para o armazenamento e processamento de dados.
Google File System (GFS) um sistema de arquivos distribudos proprietrio
desenvolvido pelo Google e projetado especialmente para fornecer acesso eficiente e
confivel aos dados usando grandes clusters de servidores [Ghemawat et al. 2003]. Em
comparao com os sistemas de arquivos tradicionais, o GFS foi projetado e otimizado
para ser executado em centros de dados e fornecer elevada vazo, baixa latncia e
tolerncia a falhas individuais de servidores. Inspirado pelo GFS, o projeto de cdigo
livre Hadoop File System (HDFS) [Hadoop 2010] armazena grandes arquivos em vrias
servidores e obtm a confiabilidade por meio da replicao de dados. Similar ao GFS, os
dados so armazenados em ns geograficamente distribudos.
Para apoiar o processamento distribudo de grandes conjuntos de dados em
clusters foi introduzido pelo Google o framework MapReduce [Dean and Ghemawat
2004]. No modelo MapReduce cada operao composta por duas funes: Map e
Reduce. A funo Map recebe uma poro do arquivo de entrada e, de acordo com a
especificao do usurio, emite um conjunto de tuplas intermedirias no formato chavevalor. A funo Reduce recebe um conjunto de valores associados a cada chave,
chamados de blocos. O processamento, definido pelo usurio, realizado sobre cada
bloco. Por fim, cada funo Reduce emite um conjunto de tuplas que so armazenadas
em arquivos de sada. Existem algumas implementaes de cdigo livre, dentre as quais
se destaca o Hadoop MapReduce.
Algumas propostas para o armazenamento e processamento utilizam a estrutura
chave-valor em uma Distributed Hash Table (DHT) [DeCandia et al. 2007]. Este valor e a
chave associada so armazenados de forma desnormalizada, o que facilita a distribuio
dos dados entre os ns do sistema, onde cada um destes ns possui parte dos dados. As
APIs bsicas de acesso so simples com operaes tais como get(key) e put(key, value).
APIs mais sofisticadas permitem a execuo de funes definidas pelo usurio no
ambiente do servidor tais como execute(key, operation, parameters) ou
mapreduce(keyList, mapFunc, reduceFunc). Para acessar ou modificar qualquer dado
necessrio fornecer uma chave, j que a busca realizada utilizando a igualdade.
possvel realizar pesquisas com outros critrios, tais como maior ou menor ou
expresses booleanas. Neste caso, so utilizadas tcnicas de busca exaustiva e rvores
B+ distribudas.
Outra abordagem para armazenar e processar dados em nuvem consiste em
utilizar uma estrutura de colunas ou arrays multidimensionais [Chang et al. 2006]. Os
dados so organizados em tabelas e estas possuem diversas colunas. Cada coluna
armazena um valor, acessado por meio de uma chave. Nesta abordagem, todos os
valores de uma coluna so serializados em conjunto, os valores da coluna seguinte
tambm, e assim por diante. Com isso, os dados semelhantes, de mesmo formato,
podem ser agrupados, auxiliando no armazenamento e na recuperao de informao.
Alm disso, diversas tcnicas tais como a fragmentao de dados e o processamento
OLAP tornam-se mais eficientes para dados gerenciados com esta abordagem.
Outras abordagens para o armazenamento e processamento de consultas
gerenciam os dados de tal sorte a refletir a estrutura de um documento ou tratam os
dados na forma de grafos. A abordagem orientada documento, as tcnicas so
que o tempo para completar a consulta ser aproximadamente igual ao tempo para a
execuo da mquina com menor configurao para completar a tarefa atribuda.
4.2.3.4. Tolerncia a Falhas e Distribuio de Dados
Diferentemente das abordagens anteriores, onde se procurou evitar falhas por meio da
utilizao de hardware de custo elevado, as infraestruturas para nuvem so construdas
em cima de hardware de baixo custo e com a suposio de que mquinas e redes
podem falhar. Dessa forma, as solues desenvolvidas devem lidar com falhas, j que
estas iro ocorrer em algum momento [Abadi 2009]. Para tratar as falhas, as solues
em nuvem utilizam tcnicas que auxiliam a distribuio dos dados, tais como DHT, que
facilita a fragmentao dos dados. Por meio da fragmentao dos dados possvel
melhorar a disponibilidade e distribuir a carga, tanto para operaes de escrita quanto
de leitura. Se apenas uma mquina falhar, os dados pertencentes a essa mquina so
afetados, mas no o armazenamento de dados como um todo.
Em relao ao processo de replicao, pode-se criar e iniciar novas rplicas
rapidamente por meio de mquinas virtuais [Soror et al. 2010]. Isso permite manter
muitas rplicas por mquina, o que reduz a quantidade total de armazenamento e,
portanto, os custos associados. O processo de replicao pode ser realizado de forma
sncrona ou assncrona ou uma combinao destas. Isso determina o nvel de
consistncia, confiabilidade e desempenho do sistema. Dentre os protocolos utilizados
na replicao de dados pode-se destacar o de cpia primria, rplica ativa, quorum
baseado em 2PC, Paxos [Chang et al. 2006] e o Gossip [DeCandia et al. 2007].
4.2.4. Classificao dos Sistemas de Gerenciamento de Dados em Nuvem
Existem diversos SGBDs em nuvem, cada um destes com caractersticas e propsitos
especficos. Com o objetivo de auxiliar o estudo destes sistemas e realizar um
comparativo entre os mesmos, propomos uma classificao com base nos seguintes
parmetros: modelo relacional e nativo para nuvem. O primeiro parmetro se refere
utilizao do modelo relacional pelo sistema e o segundo parmetro est relacionado ao
processo de construo do sistema, ou seja, se o sistema foi concebido para atender as
necessidades da computao em nuvem. Os sistemas com modelos de dados em
comum foram agrupados de forma a facilitar a compreenso. Vale ressaltar que alguns
destes sistemas possuem caractersticas de mais de um modelo de dados. A Figura 4.8
apresenta essa classificao e destaca alguns sistemas.
S3 SimpleDB
BigTabl
e
GAE
Cassan
dra
CouchD
B
SQL
Azure
Relation
al
Cloud
Modelo
Chavevalor
Coluna
Coluna
Documen
to
Relaciona
l
Relacional
Armazename
nto
Hash
consisten
te
ndices
ndices
rvore
B+
Tabela
Tabela
Linguagem
API
simples
API
simples
API
simples
API
simples
SQL
SQL
No
No
Sim
simplifica
da
No
Sim
Sim
de
Consulta
Transaes
Consistncia
Eventual
Forte
Eventual
Eventual
Forte
Forte
Escalabilidad
e
Alta
Alta
Alta
Mdia
Mdia
Baixa
Alta
Alta
Alta
Alta
Alta
Mdia
Disponibilida
de
Tabela 4.4. Comparativo entre os Sistemas de Ger. de Dados em Nuvem
4.5. Concluso
A computao como um servio est finalmente emergindo e as empresas podem
prestar servios diretamente aos usurios por meio da Internet de acordo com as suas
necessidades. Neste contexto, a computao em nuvem um paradigma que est cada
vez mais popular. Diversas empresas apresentaram suas iniciativas na promoo da
computao em nuvem. A comunidade cientfica tambm tem apresentado algumas
iniciativas, principalmente com foco em suas necessidades. Este trabalho apresentou os
principais aspectos de computao em nuvem, destacando o gerenciamento de dados.
Foi possvel perceber que a computao em nuvem ainda no tem uma definio
clara e completa na literatura, mas existe um grande esforo neste sentido. No
gerenciamento de dados, SGBDs esto evoluindo rapidamente e os desenvolvedores
podem escolher o modelo de dados mais adequado para suas aplicaes. No futuro, as
infraestruturas sero compostas tanto por SGBDs relacionais como tambm por
sistemas baseados nos modelos chave-valor, coluna, documento, grafo, entre outros.
Referncias
[Abadi 2009] Abadi, D. J. (2009). Data management in the cloud: Limitations and
opportunities. IEEE Data Eng. Bull., 32:312.
[Aboulnaga et al. 2009] Aboulnaga, A., Salem, K., Soror, A. A., Minhas, U. F., Kokosielis,
P., and Kamath, S. (2009). Deploying database appliances in the cloud. IEEE Data Eng.
Bull., 32(1):1320.
[Abouzeid et al. 2009] Abouzeid, A., Bajda-Pawlikowski, K., Abadi, D. J., Rasin, A., and
Silberschatz, A. (2009). Hadoopdb: An architectural hybrid of mapreduce and dbms
technologies for analytical workloads. PVLDB, 2(1):922933.
[Agrawal et al. 2010a] Agrawal, D., Abbadi, A. E., Antony, S., and Das, S. (2010a). Data
management challenges in cloud computing infrastructures. In Databases in
Networked Information Systems, 6th International Workshop, DNIS 2010, volume
5999 of Lecture Notes in Computer Science, pages 110. Springer.
[Agrawal et al. 2009] Agrawal, D., Abbadi, A. E., Emekci, F., and Metwally, A. (2009).
Database management as a service: Challenges and opportunities. Data Engineering,
International Conference on, 0:17091716.
[Agrawal et al. 2010b] Agrawal, D., Das, S., and Abbadi, A. E. (2010b). Big data and
cloud computing: New wine or just new bottles? PVLDB, 3(2):16471648.
[Agrawal et al. 2008] Agrawal, R., Garcia-Molina, H., Gehrke, J., Gruenwald, L., Haas, L.
M., Halevy, A. Y., Hellerstein, J. M., Ioannidis, Y. E., Korth, H. F., Kossmann, D., Madden,
S., Ailamaki, A., Magoulas, R., Ooi, B. C., OReilly, T., Ramakrishnan, R.,
Sarawagi, S., Stonebraker, M., Szalay, A. S., Weikum, G., Bernstein, P. A., Brewer, E. A.,
Carey, M. J., Chaudhuri, S., Doan, A., Florescu, D., and Franklin, M. J. (2008). The
claremont report on database research. ACM SIGMOD Record, 37:9.
[Amazon 2010] Amazon (2010). Amazon Relational Database Service (Amazon RDS).
http://aws.amazon.com/rds/.
[Apache 2010] Apache (2010). Apache CouchDB. http://couchdb.apache.org.
[Armbrust et al. 2009] Armbrust, M., Fox, A., Griffith, R., Joseph, A. D., Katz, R. H.,
Konwinski, A., Lee, G., Patterson, D. A., Rabkin, A., Stoica, I., and Zaharia, M.
(2009). Above the clouds: A berkeley view of cloud computing. Technical report, EECS
Department, University of California, Berkeley.
[Aulbach et al. 2008] Aulbach, S., Grust, T., Jacobs, D., Kemper, A., and Rittinger, J.
(2008). Multi-tenant databases for software as a service: schema-mapping techniques.
In SIGMOD 08: Proceedings of the 2008 ACM SIGMOD international conference on
Management of data, pages 11951206, New York, NY, USA. ACM.
[Azure 2011] Azure (2011). Microsoft Azure. http://www.microsoft.com/azure/.
[Binnig et al. 2009] Binnig, C., Kossmann, D., Kraska, T., and Loesing, S. (2009). How is
the weather tomorrow?: towards a benchmark for the cloud. In DBTest 09:
Proceedings of the Second International Workshop on Testing Database Systems,
pages 16, New York, NY, USA. ACM.
[Brantner et al. 2008] Brantner, M., Florescu, D., Graf, D., Kossmann, D., and Kraska, T.
(2008). Building a database on s3. In Proceedings of the 2008 ACM SIGMOD
international conference on Management of data - SIGMOD 08, page 251, New York.
ACM Press.
[Brewer 2000] Brewer, E. A. (2000). Towards robust distributed systems (abstract). In
PODC, page 7. ACM.
[Buyya et al. 2009] Buyya, R., Yeo, C. S., Venugopal, S., Broberg, J., and Brandic, I.
(2009). Cloud computing and emerging it platforms: Vision, hype, and reality for
delivering computing as the 5th utility. Future Gener. Comput. Syst., 25(6):599616.
[Candan et al. 2009] Candan, K. S., Li, W.-S., Phan, T., and Zhou, M. (2009). Frontiers
in information and software as services. In ICDE 09: Proceedings of the 2009 IEEE
International Conference on Data Engineering, pages 17611768, Washington, DC,
USA. IEEE Computer Society.
[Chang et al. 2006] Chang, F., Dean, J., Ghemawat, S., Hsieh, W. C., Wallach, D. A.,
Burrows, M., Chandra, T., Fikes, A., and Gruber, R. E. (2006). Bigtable: a distributed
storage system for structured data. In OSDI 06: Proceedings of the 7th USENIX
Symposium on Operating Systems Design and Implementation, pages 1515,
Berkeley, CA, USA. USENIX Association.
[Ciurana 2009] Ciurana, E. (2009). Developing with Google App Engine. Apress, Berkely,
CA, USA.
[Cooper et al. 2009] Cooper, B. F., Baldeschwieler, E., Fonseca, R., Kistler, J. J., Narayan,
P. P. S., Neerdaels, C., Negrin, T., Ramakrishnan, R., Silberstein, A., Srivastava, U., and
Stata, R. (2009). Building a cloud for yahoo! IEEE Data Eng. Bull., 32(1):36 43.
[Cooper et al. 2008] Cooper, B. F., Ramakrishnan, R., Srivastava, U., Silberstein, A.,
Bohannon, P., Jacobsen, H.-A., Puz, N., Weaver, D., and Yerneni, R. (2008). Pnuts:
Yahoo!s hosted data serving platform. PVLDB, 1(2):12771288.
[Cooper et al. 2010] Cooper, B. F., Silberstein, A., Tam, E., Ramakrishnan, R., and Sears,
R. (2010). Benchmarking cloud serving systems with ycsb. In SoCC 10: Proceedings
of the 1st ACM symposium on Cloud computing, pages 143154, New York, NY, USA.
ACM.
[Curino et al. 2010] Curino, C., Jones, E., Zhang, Y., Wu, E., and Madden, S. (2010).
Relational cloud: The case for a database service. Technical report, MIT-CSAIL-TR2010014. Computer Science and Artificial Intelligence Laboratory, MIT, USA.
[Dean and Ghemawat 2004] Dean, J. and Ghemawat, S. (2004). Mapreduce: simplified
data processing on large clusters. In OSDI04: Proceedings of the 6th conference on
Symposium on Opearting Systems Design & Implementation, pages 1010, Berkeley,
CA, USA. USENIX Association.
[DeCandia et al. 2007] DeCandia, G., Hastorun, D., Jampani, M., Kakulapati, G.,
Lakshman, A., Pilchin, A., Sivasubramanian, S., Vosshall, P., and Vogels, W. (2007).
Dynamo: amazons highly available key-value store. SIGOPS Oper. Syst. Rev.,
41(6):205 220.
[Elmore et al. 2010] Elmore, A., Das, S., Agrawal, D., and Abbadi, A. E. (2010). Whos
driving this cloud? towards efficient migration for elastic and autonomic multitenant
databases. Technical Report CS 2010-05, University of California, Santa Barbara, CA,
USA.
[Embarcadero 2010] Embarcadero (2010). Database Trends Survey Report.
http://www.embarcadero.com/images/dm/technical-papers/database-survey-report.pdf
.
[Florescu and Kossmann 2009] Florescu, D. and Kossmann, D. (2009). Rethinking cost
and performance of database systems. SIGMOD Rec., 38(1):4348.
[Ghemawat et al. 2003] Ghemawat, S., Gobioff, H., and Leung, S.-T. (2003). The google
file system. SIGOPS Oper. Syst. Rev., 37(5):2943.
[Gilbert and Lynch 2002] Gilbert, S. and Lynch, N. (2002). Brewers conjecture and the
feasibility of consistent, available, partition-tolerant web services. SIGACT News,
33(2):5159.
[Hadoop 2010] Hadoop (2010). Apache Hadoop. http://hadoop.apache.org.
[Hui et al. 2009] Hui, M., Jiang, D., Li, G., and Zhou, Y. (2009). Supporting database
applications as a service. In ICDE 09: Proceedings of the 2009 IEEE International
Conference on Data Engineering, pages 832843, Washington, DC, USA. IEEE
Computer Society.
[Jacobs and Aulbach 2007] Jacobs, D. and Aulbach, S. (2007). Ruminations on
multitenant databases. In BTW, volume 103 of LNI, pages 514521. GI.
[Kossmann et al. 2010] Kossmann, D., Kraska, T., and Loesing, S. (2010). An evaluation
of alternative architectures for transaction processing in the cloud. In SIGMOD 10:
[Vaquero et al. 2009] Vaquero, L. M., Rodero-Merino, L., Caceres, J., and Lindner, M.
(2009). A break in the clouds: towards a cloud definition. SIGCOMM Comput. Commun.
Rev., 39(1):5055.
[Vecchiola et al. 2009] Vecchiola, C., Chu, X., and Buyya, R. (2009). Aneka: A Software
Platform for .NET-based Cloud Computing, pages 267295. In: W. Gentzsch, L.
Grandinetti, G. Joubert (Eds.). High Speed and Large Scale Scientific Computing. IOS
Press, Amsterdam, Netherlands.
[Vogels 2009] Vogels, W. (2009). Eventually consistent. Commun. ACM, 52(1):4044.
[Voicu and Schuldt 2009] Voicu, L. C. and Schuldt, H. (2009). How replicated data
management in the cloud can benefit from a data grid protocol: the re:gridit approach.
In CloudDB 09: Proceedings of the First International Workshop on Cloud Data
Management, pages 4548, New York, NY, USA. ACM.
[Wei et al. 2009] Wei, Z., Pierre, G., and Chi, C.-H. (2009). Scalable transactions for web
applications in the cloud. In Euro-Par, pages 442453.
[Weissman and Bobrowski 2009] Weissman, C. D. and Bobrowski, S. (2009). The design
of the force.com multitenant internet application development platform. In SIGMOD
09: Proceedings of the 35th SIGMOD international conference on Management of
data, pages 889896, New York, NY, USA. ACM.
[Yang et al. 2009] Yang, F., Shanmugasundaram, J., and Yerneni, R. (2009). A scalable
data platform for a large number of small applications. In CIDR 2009, Fourth Biennial
Conference on Innovative Data Systems Research, Asilomar, CA, USA, Online
Proceedings, pages 110.
[Youseff et al. 2008] Youseff, L., Butrico, M., and Da Silva, D. (2008). Toward a unified
ontology of cloud computing. In Grid Computing Environments Workshop, 2008. GCE
08, pages 110.
[Zhang et al. 2010] Zhang, Q., Cheng, L., and Boutaba, R. (2010). Cloud computing:
state-of-the-art and research challenges. Journal of Internet Services and Applications,
1:718.