UTILIZANDO DYNAMODB EM C#
TDC 2016 - Trilha NoSQLJoão Talles Dantas BatistaJulho/2016
AGENDA Visão Geral do DynamoDB Conceitos/analogias Projeto notificações Conclusão
DISCLAIMER
VISÃO GERAL DYNAMODBBanco de dados NOSQLArmazenamento efetuado em SSDSchemalessKey-value / column orientedCobrança por armazenamento/leituras e escritas
CONCEITOSTableItemsAttributesPrimary KeySecondary Indexes
ILANG NOTIFICATION SYSTEMPorque DynamoDB?• Milhões de notificações por dia• Lock no banco de dados relacional• Utilização de espaço em disco• Performance de leitura/escrita o longo do tempo
ILANG NOTIFICATION SYSTEM
ILANG NOTIFICATION SYSTEM
ILANG NOTIFICATION SYSTEM
ILANG NOTIFICATION SYSTEM
NotificationPageID UserID NotificationEventID EventPrimaryKey Text EventDateTime Read
205573 2 1 16386783 CAROLINA LOPES...2014-08-18 16:00:00.000 1
733497 2 66 697614Diego Flores Roberto postou no grupo...
2014-08-28 13:19:00.000 1
734504 2 66 697772Monica Gama Miani postou no grupo....
2014-08-28 14:13:00.000 1
10658771 2 3 611356Mario Sergio Peixer Filho enviou uma..
2015-02-26 14:43:00.000 1
10658786 2 3 611358Mario Sergio Peixer Filho enviou uma...
2015-02-26 14:46:00.000 1
23979671 2 39 89759Carlos Gonçalves publicou um...
2015-08-18 19:18:00.000 1
30512059 2 73 265957
Dashboard Acadêmico atualizado foi postado no seu Feed
2015-11-03 06:02:00.000 0
ILANG NOTIFICATION SYSTEM DynamoDBTable: NotificationPagePrimaryKey: UserIDRangeKey: EventKey (EventDateTime + NotificationEventID + EventPrimaryKey)
Attributes: Text, EventPrimaryKey, DateTime, Read
ILANG NOTIFICATION SYSTEM
DEMONSTRAÇÃO
CONCLUSÃO
Performance de leitura / escrita excelente
Pense nas queries que serão executadas antecipadamente
Desnomalizar é a norma (não existem JOINS)
Entenda arquitetura de escrita/leitura do DynamoDB pois isso afeta cobrança
REFERÊNCIASAWS SDK for .NEThttps://aws.amazon.com/sdk-for-net/
DynamoDB Getting Startedhttp://docs.aws.amazon.com/amazondynamodb/latest/gettingstartedguide/Welcome.html
DynamoDB Developer Guidehttp://docs.aws.amazon.com/amazondynamodb/latest/developerguide/
Dynamo: The Paper That Changed The Worldhttps://vimeo.com/144994937
CONTATOSTwitterhttps://twitter.com/joao_talles
GitHubhttps://github.com/joaotalleshttps://github.com/joaotalles/TDC2016_UtilziandoDynamoDBCSharp
Facebookhttps://www.facebook.com/joao.talles
LinkedInhttps://br.linkedin.com/in/joaotalles
Recommended