SlideShare uma empresa Scribd logo
#GlobalAzure
Apresentando o
Azure DocumentDB
Luciano Moreira [ Luti ]
luciano.moreira@srnimbus.com.br
http://luticm.blogspot.com
http://www.linkedin.com/in/luticm
@luticm
Patrocinadores
• Roadmap: SQL Server, DB2, Oracle, beyond
relational, …
■ Motivação
■ Azure DocumentDB
■ Conceitos e recursos
■ Indexação, consistência e transações
■ Modelagem
■ Programação
■ Demonstrações
■ Conclusão
■ Referências
Agenda
■ SGBDRs vão acabar!
■ OK, mas NoSQL tem seu lugar ao sol...
■ Column oriented (Accumulo, Cassandra, HBase,
Vertica, ...)
■ Key-value store (MemcacheDB, Redis, Riak, ...)
■ Document store (Apache CouchDB, Couchbase,
MongoDB, ...)
■ Graph databases (Neo4j, Allegro, OrientDB, ...)
Motivação
■ Michael Stonebreaker
■ Postgre, Ingres, VoltDB
■ Turing award – 25 de março de 2015
Motivação
Motivação
■Existem cenários em que um modelo diferente
do relacional tradicional é interessante
■ Flexibilidade de esquema
■ Agilidade no desenvolvimento
■ Mecanismos de escalabilidade nativos
■ Recursos built-in resolvem problemas complexos
Motivação
■ User generated content
■ Catalog data
■ Log data
■ User preferences data
■ Device sensor data (IoT)
■ http://azure.microsoft.com/en-
us/documentation/articles/documentdb-use-cases/
Motivação
■ Uma alternativa NoSQL no Azure
■ GA em 08 de Abril de 2015
■ Suporte nativo JSON e Javascript
■ Linguagem similar ao SQL
■ Cloud based e diferentes níveis de performance
■ Esquema flexível
■ Estruturado sobre “low-latency, write-optimized, SSD
storage”
■ Interface RESTful HTTP
Azure DocumentDB
■ Recursos
■ Database account
■ Database
■ User
■ Permission
■ Collection
■ Document
■ Attachment
■ Stored procedure, trigger, UDF
Azure DocumentDB
Apresentando o Azure DocumentDB
Apresentando o Azure DocumentDB
■ Indexação automática de todos os documentos
■ “write-optimized, lock-free and log-structured index
maintenance techniques”
■ Políticas de indexação
■ Definir política padrão (indexar tudo ou não)
■ Excluir documentos específicos (indexingPolicy ou
header de requisição [x-ms-indexingdirective])
■ Incluir/excluir paths específicos
■ Síncrono (consistente) ou assíncrono (lazy)
Azure DocumentDB
■ ACID vs BASE
■ Níveis de consistência suportados
■ Strong
■ Bounded staleness
■ Session
■ Eventual
■ Transações: garantidas para server-side scripts
■ Dentro de uma coleção
Azure DocumentDB
■ Stored procedures
■ Triggers: pré e pós operação
■ User defined functions
■ Internamente todo código é envolto em um
BEGIN TRANSACTION e COMMIT TRANSACTION
■ Exceção é tratada como ROLLBACK
TRANSACTION
Azure DocumentDB
var createDocumentStoredProc = {
id: "createMyDocument",
body: function createMyDocument(documentToCreate) {
var context = getContext();
var collection = context.getCollection();
var accepted = collection.createDocument(collection.getSelfLink(),
documentToCreate,
function (err, documentCreated) {
if (err) throw new Error('Error' + err.message);
context.getResponse().setBody(documentCreated.id)
});
if (!accepted) return;
}
}
Azure DocumentDB
■ Sim, existe “modelagem” para o JSON
■ Embed, FKs, N-N e híbridos
■ Limitações do DocumentDB
■ Bancos, usuários, coleções, etc.
■ Maximum Request Units / second per collection
■ Como você irá dividir os documentos entre as
coleções?
Azure DocumentDB
Azure DocumentDB
■ RANGE PARTITION
Azure DocumentDB
■ LOOKUP PARTITION
Azure DocumentDB
■ HASH PARTITION
Azure DocumentDB
■ RANGE LOOKUP PARTITION (composto)
■ Bibliotecas
■.NET
■ Java
■ Python
■ Javascript
■ Node.js
■Integrações
■ DocumentDB e Azure Search
■ Hadoop job com conector para o DocumentDB
Azure DocumentDB
Apresentando o Azure DocumentDB
■ DocumentDB é um banco simples de se
trabalhar
■ Escalabilidade e rápido desenvolvimento
■ Transações e modelos de consistências claros,
mesmo para mindset relacional
■ Cuidado com modelagem, limitações e políticas
■ “Developer friendly”
■ Donald Feinberg em Maio/2014...
Conclusão
■ Portal DocumentDB
http://azure.microsoft.com/en-us/services/documentdb/
■ Blog DocumentDB
http://blogs.msdn.com/b/documentdb/
■ Query playground
http://www.documentdb.com/sql/demo
■ Channel 9 Videos
http://channel9.msdn.com/Series/Developing-Solutions-
with-Azure-DocumentDB
Referências
luciano.moreira@srnimbus.com.br
http://luticm.blogspot.com
http://www.linkedin.com/in/luticm
Apresentando o Azure DocumentDB

Mais conteúdo relacionado

PPTX
Banco de dados nas nuvens - aula 2
PPTX
Introdução à computação na nuvem e Windows Azure
PPTX
Desenvolvimento de aplicações PHP com MongoDB
PPT
Interoperabilidade entre bancos de dados
PPT
Interoperabilidade entre bancos de dados
PPT
[Minha Vida TechDay] Novo Dieta e Saúde
PPTX
DocumentDB - Azure Fridays São Paulo
PDF
Banco de Dados NoSQL - Disciplina: Sistemas Distribuídos
Banco de dados nas nuvens - aula 2
Introdução à computação na nuvem e Windows Azure
Desenvolvimento de aplicações PHP com MongoDB
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dados
[Minha Vida TechDay] Novo Dieta e Saúde
DocumentDB - Azure Fridays São Paulo
Banco de Dados NoSQL - Disciplina: Sistemas Distribuídos

Semelhante a Apresentando o Azure DocumentDB (20)

PDF
NoSql e NewSql
PPTX
No sql Orientado a documento
PDF
[DTC21] André Marques - Jornada do Engenheiro de Dados
PPTX
MongoDB + PHP
PPTX
Performance no MongoDB - TDC 2017 | Florianópolis
PPTX
Meetup Tivir - Big Data Clusters
PPTX
Mongo db
PPTX
NoSQL azure
PDF
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
PPTX
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
PDF
Introducao a base de dados IBD07 NoSQL.pdf
PDF
Arquitetando Soluções de Dados com PostgreSQL
PPTX
NoSQL no Azure - Azure Tech Nights - 2017
PPTX
Introdução ao MongoDB (NoSQL)
PPTX
[MinhaVida TechDay] NoSQL
PDF
5. rodando containers docker na aws
PPTX
PASS SQLSATURDAY 663 Rio de Janeiro, Brazil
PPTX
SQL Server Heterogêneo: SQL Server + BigData
PPTX
Introdução no sql mongodb java
PPTX
Windows Server 2016 | Hyperconvergência
NoSql e NewSql
No sql Orientado a documento
[DTC21] André Marques - Jornada do Engenheiro de Dados
MongoDB + PHP
Performance no MongoDB - TDC 2017 | Florianópolis
Meetup Tivir - Big Data Clusters
Mongo db
NoSQL azure
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
Introducao a base de dados IBD07 NoSQL.pdf
Arquitetando Soluções de Dados com PostgreSQL
NoSQL no Azure - Azure Tech Nights - 2017
Introdução ao MongoDB (NoSQL)
[MinhaVida TechDay] NoSQL
5. rodando containers docker na aws
PASS SQLSATURDAY 663 Rio de Janeiro, Brazil
SQL Server Heterogêneo: SQL Server + BigData
Introdução no sql mongodb java
Windows Server 2016 | Hyperconvergência
Anúncio

Mais de Luciano Moreira (7)

PPTX
Entendendo o paralelismo no SQL Server
PPTX
Do MTA ao MCM*, carreira SQL Server e DBA multiplataforma
PPTX
MANUTENÇÃO DE ÍNDICES: O GUIA DEFINITIVO
PPTX
SQLInternalOps - SQLOS
PPTX
SQLServerDF XII - Wait Types
PPTX
SQLServerDF XIII - xEvents
PPTX
Confiabilidade de pacotes no SSIS
Entendendo o paralelismo no SQL Server
Do MTA ao MCM*, carreira SQL Server e DBA multiplataforma
MANUTENÇÃO DE ÍNDICES: O GUIA DEFINITIVO
SQLInternalOps - SQLOS
SQLServerDF XII - Wait Types
SQLServerDF XIII - xEvents
Confiabilidade de pacotes no SSIS
Anúncio

Último (9)

PPTX
Perguntas e respostas.pptx Informática aplicada
PPTX
Sermao a mensagem da Cruz.pptx gdfvdcdfdfdsfcdsfxdfdfdfvdgf
PPTX
Apresentação Lagoa Mandaú Lagoa Mandaú Lagoa Mandaú
PDF
Medidor de PH de bancada PH140 para uso em laboratório
PPT
AULA COACHING INICIAL *******************
PDF
Bases de dados - basicos dos basicos. como identificar chaves
PDF
48585b89-ee4d-4f8d-b2c0-7db19cc44e44.pdf
DOC
COMO CRIAR DASHBOARD ATRAVES DE CODIFICAÇÃO PYTHON
PDF
Plano de gestão - template.pptx.pdf.pdf
Perguntas e respostas.pptx Informática aplicada
Sermao a mensagem da Cruz.pptx gdfvdcdfdfdsfcdsfxdfdfdfvdgf
Apresentação Lagoa Mandaú Lagoa Mandaú Lagoa Mandaú
Medidor de PH de bancada PH140 para uso em laboratório
AULA COACHING INICIAL *******************
Bases de dados - basicos dos basicos. como identificar chaves
48585b89-ee4d-4f8d-b2c0-7db19cc44e44.pdf
COMO CRIAR DASHBOARD ATRAVES DE CODIFICAÇÃO PYTHON
Plano de gestão - template.pptx.pdf.pdf

Apresentando o Azure DocumentDB

  • 1. #GlobalAzure Apresentando o Azure DocumentDB Luciano Moreira [ Luti ] luciano.moreira@srnimbus.com.br http://luticm.blogspot.com http://www.linkedin.com/in/luticm @luticm
  • 3. • Roadmap: SQL Server, DB2, Oracle, beyond relational, …
  • 4. ■ Motivação ■ Azure DocumentDB ■ Conceitos e recursos ■ Indexação, consistência e transações ■ Modelagem ■ Programação ■ Demonstrações ■ Conclusão ■ Referências Agenda
  • 5. ■ SGBDRs vão acabar! ■ OK, mas NoSQL tem seu lugar ao sol... ■ Column oriented (Accumulo, Cassandra, HBase, Vertica, ...) ■ Key-value store (MemcacheDB, Redis, Riak, ...) ■ Document store (Apache CouchDB, Couchbase, MongoDB, ...) ■ Graph databases (Neo4j, Allegro, OrientDB, ...) Motivação
  • 6. ■ Michael Stonebreaker ■ Postgre, Ingres, VoltDB ■ Turing award – 25 de março de 2015 Motivação
  • 8. ■Existem cenários em que um modelo diferente do relacional tradicional é interessante ■ Flexibilidade de esquema ■ Agilidade no desenvolvimento ■ Mecanismos de escalabilidade nativos ■ Recursos built-in resolvem problemas complexos Motivação
  • 9. ■ User generated content ■ Catalog data ■ Log data ■ User preferences data ■ Device sensor data (IoT) ■ http://azure.microsoft.com/en- us/documentation/articles/documentdb-use-cases/ Motivação
  • 10. ■ Uma alternativa NoSQL no Azure ■ GA em 08 de Abril de 2015 ■ Suporte nativo JSON e Javascript ■ Linguagem similar ao SQL ■ Cloud based e diferentes níveis de performance ■ Esquema flexível ■ Estruturado sobre “low-latency, write-optimized, SSD storage” ■ Interface RESTful HTTP Azure DocumentDB
  • 11. ■ Recursos ■ Database account ■ Database ■ User ■ Permission ■ Collection ■ Document ■ Attachment ■ Stored procedure, trigger, UDF Azure DocumentDB
  • 14. ■ Indexação automática de todos os documentos ■ “write-optimized, lock-free and log-structured index maintenance techniques” ■ Políticas de indexação ■ Definir política padrão (indexar tudo ou não) ■ Excluir documentos específicos (indexingPolicy ou header de requisição [x-ms-indexingdirective]) ■ Incluir/excluir paths específicos ■ Síncrono (consistente) ou assíncrono (lazy) Azure DocumentDB
  • 15. ■ ACID vs BASE ■ Níveis de consistência suportados ■ Strong ■ Bounded staleness ■ Session ■ Eventual ■ Transações: garantidas para server-side scripts ■ Dentro de uma coleção Azure DocumentDB
  • 16. ■ Stored procedures ■ Triggers: pré e pós operação ■ User defined functions ■ Internamente todo código é envolto em um BEGIN TRANSACTION e COMMIT TRANSACTION ■ Exceção é tratada como ROLLBACK TRANSACTION Azure DocumentDB
  • 17. var createDocumentStoredProc = { id: "createMyDocument", body: function createMyDocument(documentToCreate) { var context = getContext(); var collection = context.getCollection(); var accepted = collection.createDocument(collection.getSelfLink(), documentToCreate, function (err, documentCreated) { if (err) throw new Error('Error' + err.message); context.getResponse().setBody(documentCreated.id) }); if (!accepted) return; } } Azure DocumentDB
  • 18. ■ Sim, existe “modelagem” para o JSON ■ Embed, FKs, N-N e híbridos ■ Limitações do DocumentDB ■ Bancos, usuários, coleções, etc. ■ Maximum Request Units / second per collection ■ Como você irá dividir os documentos entre as coleções? Azure DocumentDB
  • 22. Azure DocumentDB ■ RANGE LOOKUP PARTITION (composto)
  • 23. ■ Bibliotecas ■.NET ■ Java ■ Python ■ Javascript ■ Node.js ■Integrações ■ DocumentDB e Azure Search ■ Hadoop job com conector para o DocumentDB Azure DocumentDB
  • 25. ■ DocumentDB é um banco simples de se trabalhar ■ Escalabilidade e rápido desenvolvimento ■ Transações e modelos de consistências claros, mesmo para mindset relacional ■ Cuidado com modelagem, limitações e políticas ■ “Developer friendly” ■ Donald Feinberg em Maio/2014... Conclusão
  • 26. ■ Portal DocumentDB http://azure.microsoft.com/en-us/services/documentdb/ ■ Blog DocumentDB http://blogs.msdn.com/b/documentdb/ ■ Query playground http://www.documentdb.com/sql/demo ■ Channel 9 Videos http://channel9.msdn.com/Series/Developing-Solutions- with-Azure-DocumentDB Referências