Introduzir os conceitos, técnicas e ferramentas da gerência e análise de dados em larga escala, voltados a aplicações comerciais para as quais o paradigma relacional de bases de dados não provê o suporte necessário. O curso visa prover teoria e prática a fim de que os alunos possam aplicar as técnicas e ferramentas NoSQL.
Serão abordados os conceitos que fundamentam as bases de dados não relacionais (NoSQL), os quais são intimamente ligados a paradigmas e arcabouços de processamento distribuído.
Teoria e prática em bases de dados NoSQL; Teorema CAP (Consistência, Disponibilidade, Particionamento); dados em larga escala e computação em nuvem; modelos de armazenamento: por linha, por coluna, e compressão de dados. Bases de dados orientadas a grafos; bases de dados estruturados em chave-valor; bases de dados temporais; representação de dados textuais e semiestruturados; JSON, JSONB e XML. Modelo de programação MapReduce e o arcabouço Hadoop; arcabouço Spark com aplicações em Ciência de Dados.
Andreas Meier, Michael Kaufmann. SQL & NoSQL Databases: Models, Languages, Consistency Options and Architectures for Big Data Management. Springer. O. Pivert, NoSQL Data Models trends and challenges, vol. 1: Wiley, 2018. L. Perkins, E. Redmond, and J. R. Wilson, Seven Databases in Seven Weeks: A Guide to Modern Databases and the {NoSQL} Movement: Pragmatic Bookshelf, 2018. J. Lu and I. Holubov, "Multi-model Databases: A New Journey to Handle the Variety of Data," ACM Comput. Surv., vol. 52, pp. 1-38, 2019. A. Petrov, Database Internals: A Deep Dive into How Distributed Data Systems Work, 1 ed: O'Reilly, 2019. G. Harrison, Next generation databases: NoSQL, NewSQL, and Big Data: Apress, 2019.