Upload
luiz-henrique-zambom-santana
View
108
Download
2
Embed Size (px)
Citation preview
Um Middleware Semântico e com Suporte à Tempo Real para o Acesso Integrado a
Bancos de Dados NoSQLLuiz Henrique Zambom Santana
Prof. Dr. Ronaldo dos Santos Mello
Seminário de Andamento de DoutoradoFlorianópolis, 14/06/2016
Agenda
Introdução
Motivação
Fundamentação teórica
Estado da arte
Taxonomia
Comparação
Proposta de solução
Rendezvous
Visão geral
Modelo canônico
Exemplo de transformação entre modelos
Estado atual do trabalho
Trabalhos futuros
Introdução
Os objetivos desse trabalho são:
Apoiar o desenvolvimento de aplicações cujo os dados tenham três requisitos fundamentais:
Volume
Variedade
Velocidade
Para tal, será desenvolvido um middleware chamado Rendezvous
Acesso integrado aos bancos de dados NoSQL;
Visão semântica sobre esse acesso;
Acesso em tempo real com latências abaixo de 1 segundo.
Big Data
Roger Magoulas da O'reilly em 2005
dados influenciam seus requisitos de desenvolvimento
3 V’s da Big Data (MANYIKA et al., 2011)
Variedade
Velocidade
Volume
Problema em aberto:
VLDB Endowment (PVLDB) 2016: "S2RDF: RDF Querying with SPARQL on Spark"
NoSQL
Carlo Strozzi em 1998 para seu SGBD que não tinha interface SQL
Atualmente, descreve bancos de dados não relacionais
Preparados Computação em Núvem
Altamente escaláveis
Distribuídos
Não aderem às ACID
Volume da Big Data
NoSQL
“Not only SQL”Sadalage e Fowler, 2012http://martinfowler.com/books/nosql.html
“Relational Database will be a footnote on database history”
Nathan Marz, 2014http://goo.gl/WGXvPy
NoSQL
SQL and NoSQL will merge “Not yet SQL”Michael Stonebraker, 2015https://www.youtube.com/watch?v=KRcecxdGxvQ
O consenso atualNoSQL é um acrônimo para “Not Only SQL”
Existem quatro modelos principais:
chave-valor
colunar
documentos
grafos
NoSQL
“Sem tamanho único”• “a panoply of data models, and
they typically operate on flexible storage formats such as JSON” (DUGGAN et al., 2015).
• “Increasingly, we see applications that deploy multiple engines, resulting in a need to join data across systems” (DUGGAN et al., 2015).
Tempo real
Em geral, os sistemas de tempo real são definidos por ter uma restrição funcional de em relação ao tempo de resposta
Na Big Data especificamente, são sistemas com uma baixa latência, normalmente menor a 1 segundo.
Tempo real
Em oposição ao MapReduce
Baixa latência para o Velocity da Big Data (LIU; IFTIKHAR; XIE, 2014)
Entre os novos middlewares que atendem esses requisitos estão:
Apache Kafka,
Apache Storm; e
Apache Spark.
Middleware
Pode ser visto como uma “cola” entre aplicações;
Facilita a execução serviços distintos através de uma única interface;
Pode também oferecer requisitos não funcionais como segurança, distribuição, escalabilidade e cache;
Diferentemente dos frameworks não é parte do código das aplicações.
Web Semântica
Consultas complexas significado
Padrões bem definidos pela W3C
RDF
OWL
SPARQL
Permite a criação de sistemas que
lidem com a Variade da Big Data
Integração de Banco de Dados
Longa história em pesquisa em banco de dados
Local-as-View vs. Global-as-View Vs.
Local-as-View Global-as-View
Trabalho Diferencial Limitação Taxonomia
DEY; FEKETE; RöHM, 2013 Transações entre NoSQL Limitado a chave-valor Federation
BÁNHALMI et al., 2013 Modelos intermediários baseados em ontologia
Framework não escalável Schema Unification
DHARMASIRI;GOONETILLAKE, 2013
Middleware Sobrecarga, limitado a colunares e de documentos
Federation
SILVA et al., 2014 Integração de múltiplos NoSQL
Processo offline e dependente de domínio
Aplicational Integration
SERRANO; STROULIA, 2014 Modelo intermediário Local-as-View baseado em ontologia
Processo offline Schema Unification
KIRAN; VIJAYAKUMAR, 2014 Modelos intermediários baseados em ontologia
Processo offline Schema Unification
KAUR; RANI, 2015 Paradigma MapReduce Framework, limitado a grafo e documento e dependente de domínio
Aplicational Integration
DUGGAN et al., 2015 Múltiplos níveis de abstração Ambientes complexos e dependente de domínio
Federation
Taxonomia
Aplicational Integration Schema Unification Federation
BÁNHALMI et al., 2013 SERRANO; STROULIA, 2014 DEY; FEKETE; RöHM, 2013
SILVA et al., 2014 KIRAN; VIJAYAKUMAR, 2014 DHARMASIRI;GOONETILLAKE, 2013
KAUR; RANI, 2015 DUGGAN et al., 2015
Aplicational Integration (KAUR; RANI, 2015)
Schema Unification(BÁNHALMI et al., 2013)
Federation (DUGGAN et al., 2015)
Proposta de solução
Middleware Rendezvous
Potencialmente distribuído
Entre as aplicações e bancos de dados NoSQL
RDF e SPARQL com as aplicações
Proposta de solução
Modelo canônico
Baseado em grafos
Com quatro abstrações principais:
Schema
Data Element
Restriction
Value
Local-as-View
Estado atual do trabalhoentities: user: name: type: [string] source:['mongodb','cassandra'] username: type: [string] source: ['cassandra'] password: type: [string] source:['cassandra'] address: type: [string] source:['mongodb','cassandra'] email: type: [string] source: ['cassandra']
post: body: type: [string] source: ['mongodb'] createdAt: type: [date] source: ['mongodb'] author: type: [user] source: [entity]
comment: body: type: [string] source: ['mongodb'] createdAt: type: [date] source: ['mongodb'] parent: type: [post] source: [entity]
ExecutorsManager
InsertInsert
InsertQuery
InsertGet
Plan
Value 1
Value N
Plan
Value 1
FieldNExpeditor
Planner
Get/Query
Endpoint
DictionaryManager
Fast storage
{“post”:{“body”:”hello”}}
InsertEndpoint
StreamingSolution
Asynchronous service
_insert _query
rendezvous_id:x,metadata_id:1….
MongoDBSemantic Access
rendezvous_id:x,metadata_id:1….
Cassandra
rendezvous_id:x,metadata_id:1….
Redis
Semantic Dictionary
FederatorRendezvous
Application
Diferenciais da proposta
Acesso integrado, semântico e em tempo real a NoSQL
Arquitetura independente de domínio
Arquitetura independente de modelo e fornecedor
Middleware que facilita o trabalho de programação de aplicações
Potencialmente tão escalável quanto os NoSQL
Referências principais
DUGGAN, J. et al. The bigdawg polystore system. SIGMOD Rec., ACM, New York, NY, USA, v. 44, n. 2, p. 11–16, ago. 2015. ISSN 0163-5808.
LIU, X.; IFTIKHAR, N.; XIE, X. Survey of real-time processing systems for big data. In: Proceedings of the 18th International Database Engineering & Applications Symposium. New York, NY, USA: ACM, 2014
MANYIKA, J. et al. Big data: The next frontier for innovation, competition, and productivity. McKinsey Global Institute San Francisco, 2011.
SADALAGE, P. J.; FOWLER, M. NoSQL distilled: a brief guide to the emerging world of polyglot persistence. [S.l.]: Pearson Education, 2012
Schätzle, Alexander, et al. "S2RDF: RDF Querying with SPARQL on Spark." arXiv preprint arXiv:1512.07021 (2015).
Referências principaisDEY, A.; FEKETE, A.; RöHM, U. Scalable transactions across heterogeneous nosql key-value data stores. Proc. VLDB
Endow., VLDB Endowment, v. 6, n. 12, p. 1434–1439, ago. 2013. ISSN 2150-8097.
BÁNHALMI, A. et al. Development of a novel semantic-based system integration framework. In: IEEE. Engineering of Computer Based Systems (ECBS-EERC), 2013 3rd Eastern European Regional Conference on the. [S.l.], 2013. p. 18–24.
DHARMASIRI, H.; GOONETILLAKE, M. A federated approach on heterogeneous nosql data stores. In: IEEE. Advances in ICT for Emerging Regions (ICTer), 2013 International Conference on. [S.l.], 2013. p. 234–239.
SILVA, D. L. D. et al. A computational framework for integrating and retrieving biodiversity data on a large scale. In: Proceedings of the 2014 IEEE International Congress on Big Data. Washington, DC, USA: IEEE Computer Society, 2014. (BIGDATACONGRESS ’14), p. 786–787. ISBN 978-1-4799-5057-7.
SERRANO, D.; STROULIA, E. Towards a uniform data model in multi-database environments. In: Proceedings of 24th Annual 48 International Conference on Computer Science and Software Engineering. Riverton, NJ, USA: IBM Corp., 2014. (CASCON ’14), p. 347–350.
KAUR, K.; RANI, R. Managing data in healthcare information systems: Many models, one solution. Computer, IEEE, n. 3, p. 52–59, 2015.
KIRAN, V.; VIJAYAKUMAR, R. Ontology based data integration of nosql datastores. In: IEEE. Industrial and Information Systems (ICIIS), 2014 9th International Conference on. [S.l.], 2014. p. 1–6.