SlideShare ist ein Scribd-Unternehmen logo
1 von 42
©  2016,  Amazon  Web  Services,  Inc.  or  its  Affiliates.  All  rights  reserved.
Clayton  Brown  – Solutions  Architect
September  2016
Data  Access  Patterns  for  
Microservices
Modelled  Around  
Business  Domain
Culture  of  
Automation
Hide  
Implementation  
Details
Highly  
Observable
Decentralise All  
The  Things
Isolate  Failure
Deploy  
Independantly
Principles  of  
Microservices
Micassa iTube
’Store    &  Organise all  the  Medias’
Did  You  Even  Consider  NoSQL?
Optimised for  Storage Optimised for  Compute
Normalised/relational Denormalised/hierarchical
Ad  hoc  queries Instantiated  views
Scale  vertically Scale  horizontally
Good  for  OLAP Built  for  OLTP  at  scale
SQL NoSQL
Why  NOSQL?  Data  Volume  Since  2010
Data  Volume
Historical Current
§ 90%  of  stored  data  generated  
in  last  2  years
§ 1  terabyte  of  data  in  2010  
equals  6.5  petabytes  today  
§ Linear  correlation  between  
data  pressure  and  technical  
innovation
§ No  reason  these  trends  will  
not  continue  over  time
To  Infinity  And  Beyond
The  Zero  One  or  Infinity  (ZOI)  rule  is  a  
rule  of  thumb  in  software  design  
originated  by  early  computing  pioneer  
Willem  van  der  Poel.
• Arbitrary  limits  on  the  number  of  
instances  of  a  particular  entity  should  
not  be  allowed.  
• Specifically;;  an  entity  should  either  be  
forbidden  entirely,  one  should  be  
allowed,  or  any  number  (presumably,  
to  the  limit  of  available  storage)  of  
them  should  be  allowed.
Monolithic  Persistence  Example
Database
Database …DatabaseN
Constrained
Memory
Compute
Storage  
Network  IO
Disk  IO
Consolidation
Versions
Data  
Dependencies
Capabilities
Database/SVC001
service1/password1
Database/SVC002
service2/password2
Database/SVC003
service3/password3
….
Database/SVC…N
serviceN/passwordN
API
client
mobile
voice
Amazon
RDS
YesSQL
Request  Rate
High Low
Cost/GB
High Low
Latency
Low High
Data  Volume
Low High
Glacier
NOSQL
Amazon
CloudSearch
NOSQL
Structure
Low
High
Amazon
DynamoDB
NOSQL
Amazon
ElastiCache
NOSQL
Many  Specialised NOSQL Database  Types
Key-­Value  Stores
Tokyo  Cabinet/Tyrant,  
Redis,  Voldemort,  Oracle  BDB,  
Amazon  SimpleDB,  Riak
Document  Stores  
CouchDB,  MongoDB,  DynamoDB..
Search  Engines
Solr,  Elasticsearch,  Lucene…
Column  Family  Stores
Cassandra,  Hbase…
Graph  
Neo4J,  InfoGrid,  Infinite  Graph…
Time  Series
InfluxDB,  Elasticsearch,  
OpenTSDB…
…....as  well  as  many  others,  Object  Oriented  DBMS,  XML  DBMS,
Content  stores,  Event  Stores,  Navigational  DBMS
Polyglot  Persistence  Example
Function:
Ephemeral  /  TTL
Caching
Indexing
Geo  Spatial
Time  Series
Key  Value
Sorted  Range  (Filters)
Document  (JSON)
Object(ORM)
Graph  (OGM)
Relational  Data
Stored  Procedures
Document  (CLOB)
File  (BLOB)
OLTP
OLAP
NOSQL-­Document
NOSQL-­Document
NOSQL-­KeyValue
NOSQL-­KeyValue
CQRS
Event  Sourcing
Polyglot  Persistence  Example
API  
Gateway
Amazon
DynamoDB
Common  Use  Cases  for  Amazon DynamoDB
Large  Scale  Websites  
• Session  state  
• User  data  used  for  personalization  
• Access  control  
Application  Monitoring  
• Storing  application  logs  
• Storing  event  data  JSON  data
Internet  of  Things  
• Sensor  data  and  log  ingestion
......Microservices
• DDD  Isolation  /  encapsulation  /  scaling
Ad-­Tech  
• Capturing  browser  cookie  state
Mobile  Applications
• Storing  application  data  and  session  state  
Gaming  Applications
• Storing  user  preferences  and  application  
state  
• Storing  players’  game  state  
Consumer  “Voting”  Applications  
• Reality  TV  contests,  Superbowl
commercials  
Amazon  DynamoDB API
ADMIN
CreateTable
DescribeTable
ListTables
UpdateTable
DeleteTable
CREATE
PutItem (400KB)
BatchWriteItem (16  MB  |  25  items  x  400KB)
READ
GetItem
BatchGetItem (16  MB  |  100  Items)
Query  (KeyConditionExpression)    (pages  @1  MB)
Scan  (FilterExpression) (full  table  scan!!!)
UPDATE
UpdateItem
DELETE
DeleteItem
BatchWriteItem (16  MB  |  25  items  x  400KB)
AMAZON  DynamoDB
STREAMS
ListStreams
DescribeStream
GetShardIterator
GetRecords (1  MB  |  1000  records)
WritesReads
• WCUs    (1  KB  /  sec  )
• RCUs    (4  KB/  sec)    
• 2x Eventual  Consistent  Reads
• Auto  scaling  possible  via  API
Getting  the  Most  out  of  Amazon DynamoDB Throughput
“To  get  the  most  out  of  DynamoDB  
throughput,  create  tables  where  
the  hash  key  element  has  a  large  
number  of  distinct  values,  and  
values  are  requested  fairly  
uniformly,  as  randomly  as  
possible.”  
—DynamoDB  Developer  Guide
Time:  Requests  arrive  evenly  
spaced  in  time
Space:  Access  is  evenly  spread  
over  the  key-­space
Amazon  DynamoDB Partitioning  Primer
Throughput  Unlimited*
• Provision  any  amount  of  throughput  to  a  table
Size  Unlimited*
• Add  any  number  of  items  to  a  table
• Max  item  is  400  KB
• LSIs  limit  number  of  range  keys  (10  GB)
Sharp  Edges?
• Dilution RCUs  and  WCUs  are  uniformly  spread  across  partitions  
• Hot  Keys  Scaling  is  achieved  through  partitioning  
Number  of  Partitions
By  capacity (Total  RCU  /  3000)  +  (Total  WCU  /  
1000)
By  size Total  Size  /  10  GB
Total  
partitions
CEILING(MAX  (Capacity,  Size))
Table	
  size	
  =	
  8	
  GB,	
  RCUs	
  =	
  5000,	
  WCUs	
  =	
  500
RCUs	
  per	
  partition	
  =	
  5000/3000	
  =	
  1.6
WCUs	
  per	
  partition	
  =	
  500/1000	
  =	
  	
  0.5
Data/partition	
  =	
  8/10=	
  0.8
By	
  Capacity	
  1.6	
  +	
  0.5	
  =	
  2.1	
  (Round	
  to	
  3)
RCUs	
  per	
  partition	
  =	
  5000/3	
  =	
  1666
WCUs	
  per	
  partition	
  =	
  500/3	
  =	
  	
  166
Data/partition	
  =	
  10/3	
  =	
  3.33	
  GB
Partition
Time
Heat  /
Pressure
*(YMMV)
Modelling  Relationships
Overview  of  Hash  +  Range  Schemas
Types,  Indexes  and  Queries
Store  info  about  users
• Hash  schema  for  straight  key-­
value  lookups  (PrimaryKey)
Query  for  a  user’s  friends
• Hash  and  Range  schema  for  
Query  /  Filter  (Key  +  RangeKey)
Users  Table
Friends Table
Query  for  Users  Images
Amazon  DynamoDB indexes  provide  partition  and  sort
SELECT * FROM Images
WHERE User='Bob‘
ORDER BY Date DESC
(hash  /  partition  key)
(sorted  range  key)
Query  for  Inflight  Processing  Stages
Amazon  DynamoDB indexes  provide  partition  and  sort
What  about  queries  for  two  equalities  and  a  sort?
SELECT * FROM Images
WHERE User='Bob‘
AND Status=‘PENDING'
ORDER BY Date DESC
(hash  /  partition  key)
(sorted  range  key)
(?)
Images
Query
Bob
User Date ImageId Status Tags
uuid-­Alice 2014-­10-­02 d9bl3 DONE David
uuid-­Carol 2014-­10-­08 o2pnb IN_PROGRESS Bob
uuid-­Bob 2014-­09-­30 72f49 PENDING Alice
uuid-­Bob 2014-­10-­03 b932s PENDING Carol
uuid-­Bob 2014-­10-­03 ef9ca IN_PROGRESS David
SELECT * FROM Images
WHERE User='Bob'
ORDER BY Date DESC
FILTER ON Status=’PENDING'
(Partition  Key)
x
Images
Query,  Sort
Bob
User Date ImageId Status Tags
uuid-­Alice 2014-­10-­02 d9bl3 DONE David
uuid-­Carol 2014-­10-­08 o2pnb IN_PROGRESS Bob
uuid-­Bob 2014-­09-­30 72f49 PENDING Alice
uuid-­Bob 2014-­10-­03 b932s PENDING Carol
uuid-­Bob 2014-­10-­03 ef9ca IN_PROGRESS David
SELECT * FROM Images
WHERE User='Bob'
ORDER BY Date DESC
FILTER ON Status=’PENDING'
(Sorted  RangeKey)
x
(Partition  Key)
Secondary  index
Query,  Sort  &  Filter
Bob
User Date ImageId Status Tags
uuid-­Alice 2014-­10-­02 d9bl3 DONE David
uuid-­Carol 2014-­10-­08 o2pnb IN_PROGRESS Bob
uuid-­Bob 2014-­09-­30 72f49 PENDING Alice
uuid-­Bob 2014-­10-­03 b932s PENDING Carol
uuid-­Bob 2014-­10-­03 ef9ca IN_PROGRESS David
SELECT * FROM Images
WHERE User='Bob'
ORDER BY Date DESC
FILTER ON Status=’PENDING'
x
(Sorted  RangeKey)(Partition  Key)
Filters
5x
Local  index
Local  Secondary  Indexes  (5)
Bob
User Date ImageId Status Tags
uuid-­Alice 2014-­10-­02 d9bl3 DONE David
uuid-­Carol 2014-­10-­08 o2pnb IN_PROGRESS Bob
uuid-­Bob 2014-­09-­30 72f49 PENDING Alice
uuid-­Bob 2014-­10-­03 b932s PENDING Carol
uuid-­Bob 2014-­10-­03 ef9ca IN_PROGRESS David
SELECT Status FROM Images
WHERE ImageId=’o2pnb'
(Hash  /  Local  Secondary  Index)
Filters
5x
Global  Secondary  Indexes  (5)  
ImageTags Table
Alice
Images  tagged  Alice
Tag Image User …
Alice aed4c id-­Alice ..
Alice f93bae id-­Bob ..
Alice aed4c id-­Bob ..
Bob f93bae id-­Carol ..
ByUser Global  Secondary  Index
User Image Tag …
id-­Alice aed4c Alice ..
id-­Bob aed4c Alice ..
id-­Bob f93bae Alice ..
id-­Carol f93b2e Bob ..
Alternate  Hash  and  Range  Keys
Global  Secondary  Index  on  User,  Image
Event  Logging  (Ordered  RangeKey)
Storing  Time  Series  Data
Time  Series  Tables
Events_table_2015_April
Event_id
(Partition)
Timestamp
(Sort)
Attribute1 …. Attribute  N
Events_table_2015_March
Event_id
(Partition)
Timestamp
(Sort)
Attribute1 …. Attribute  N
Events_table_2015_Feburary
Event_id
(Partition)
Timestamp
(Sort)
Attribute1 …. Attribute  N
Events_table_2015_January
Event_id
(Partition)
Timestamp
(Sort)
Attribute1 …. Attribute  N
RCUs  =  1000
WCUs  =  1
RCUs  =  10000
WCUs  =  10000
RCUs  =  100
WCUs  =  1
RCUs  =  10
WCUs  =  1
Current  period
Older  periods
Hot  dataCold  data
Don’t  mix  hot  and  cold  data;;  archive  cold  data  to  Amazon  S3
State  Machine
Atomic  and  Conditional  Writes
Atomic/Conditional  Writes
Object  Mappers
Object  /  Graph  Relational  Mappers  (ORM/GRM)
Amazon  DynamoDB Object  Mappers    (ORM)
• AWSJavaSDK – Amazon  DynamoDBMapper
• .NET  Object  Persistence  Model
• Optimistic  locking  with  item  versions
• Community  Abstractions;;
• jlafon/PynamoDB
• michaellavelle/spring-data-dynamodb
• jlafon/PynamoDB
Amazon  DynamoDB Graph  Mappers    (GRM)
• Amazon  DynamoDB storage  backend  for  Titan  
• Tinkerpop API  Compatible
User  Data
Fine-­Grained  Access  Control
Web  Identity  Federation
Users
Web  identity  federation
(Fine-­grained  access  control)
Amazon  
DynamoDB
AWS  IAM
Amazon
Cognito
Fine-­Grained  Access  Control
Images  Table
User Image Date Link
Bob aed4c 2013-­10-­01 s3://…
Bob 5f2e2 2013-­09-­05 s3://…
Bob f93bae 2013-­10-­08 s3://…
Alice ca61a 2013-­09-­12 s3://…
Bob
AWS  
IAM
Bob  “logs  in”  using  
web  identity  federation
Fine-­Grained  Access  Control
Images  Table
User Image Date Link
Bob aed4c 2013-­10-­01 s3://…
Bob 5f2e2 2013-­09-­05 s3://…
Bob f93bae 2013-­10-­08 s3://…
Alice ca61a 2013-­09-­12 s3://…
Bob
Bob  can  Query  for  Images  
where  User=“Bob”
Fine-­Grained  Access  Control
Images  Table
User Image Date Link
Bob aed4c 2013-­10-­01 s3://…
Bob 5f2e2 2013-­09-­05 s3://…
Bob f93bae 2013-­10-­08 s3://…
Alice ca61a 2013-­09-­12 s3://…
Bob
Bob  cannot Query  for  Images  
where  User=“Alice”
Event  Driven  Applications
DynamoDB Streams  – Observation  
Stream  of  updates  to  a  table
Asynchronous
Exactly  once
Strictly  ordered
• Per  item
Updated/New
Highly  durable
• Scale  with  table
24-­hour  lifetime
Subsecond  latency
Amazon  DynamoDB Streams
DynamoDB  Streams
Open-­source  cross-­region  
replication  library
Asia  Pacific  (Sydney) EU  (Ireland)  replica
US  East  (N.  Virginia)
CDC  Cross-­Region  Replication
Lambda  as  Triggers
Lambda  function
Notify  change
Derivative  tables
Amazon  
CloudSearch
Amazon  ElastiCache
Thank  You!

Weitere ähnliche Inhalte

Was ist angesagt?

Databricks Platform.pptx
Databricks Platform.pptxDatabricks Platform.pptx
Databricks Platform.pptxAlex Ivy
 
Differentiate Big Data vs Data Warehouse use cases for a cloud solution
Differentiate Big Data vs Data Warehouse use cases for a cloud solutionDifferentiate Big Data vs Data Warehouse use cases for a cloud solution
Differentiate Big Data vs Data Warehouse use cases for a cloud solutionJames Serra
 
Snowflake SnowPro Certification Exam Cheat Sheet
Snowflake SnowPro Certification Exam Cheat SheetSnowflake SnowPro Certification Exam Cheat Sheet
Snowflake SnowPro Certification Exam Cheat SheetJeno Yamma
 
Power BI Interview Questions and Answers | Power BI Certification | Power BI ...
Power BI Interview Questions and Answers | Power BI Certification | Power BI ...Power BI Interview Questions and Answers | Power BI Certification | Power BI ...
Power BI Interview Questions and Answers | Power BI Certification | Power BI ...Edureka!
 
(The life of a) Data engineer
(The life of a) Data engineer(The life of a) Data engineer
(The life of a) Data engineerAlex Chalini
 
Introduction To Msbi By Yasir
Introduction To Msbi By YasirIntroduction To Msbi By Yasir
Introduction To Msbi By Yasiryasir873
 
Databricks + Snowflake: Catalyzing Data and AI Initiatives
Databricks + Snowflake: Catalyzing Data and AI InitiativesDatabricks + Snowflake: Catalyzing Data and AI Initiatives
Databricks + Snowflake: Catalyzing Data and AI InitiativesDatabricks
 
What is a Data Warehouse and How Do I Test It?
What is a Data Warehouse and How Do I Test It?What is a Data Warehouse and How Do I Test It?
What is a Data Warehouse and How Do I Test It?RTTS
 
Getting Started with Databricks SQL Analytics
Getting Started with Databricks SQL AnalyticsGetting Started with Databricks SQL Analytics
Getting Started with Databricks SQL AnalyticsDatabricks
 
A tour of Amazon Redshift
A tour of Amazon RedshiftA tour of Amazon Redshift
A tour of Amazon RedshiftKel Graham
 
Performance tuning and optimization (ppt)
Performance tuning and optimization (ppt)Performance tuning and optimization (ppt)
Performance tuning and optimization (ppt)Harish Chand
 
Introduction to MSBI
Introduction to MSBIIntroduction to MSBI
Introduction to MSBIEdureka!
 
Unify Stream and Batch Processing using Dataflow, a Portable Programmable Mod...
Unify Stream and Batch Processing using Dataflow, a Portable Programmable Mod...Unify Stream and Batch Processing using Dataflow, a Portable Programmable Mod...
Unify Stream and Batch Processing using Dataflow, a Portable Programmable Mod...DataWorks Summit
 
Power BI Architecture
Power BI ArchitecturePower BI Architecture
Power BI ArchitectureArthur Graus
 
Processing Large Datasets for ADAS Applications using Apache Spark
Processing Large Datasets for ADAS Applications using Apache SparkProcessing Large Datasets for ADAS Applications using Apache Spark
Processing Large Datasets for ADAS Applications using Apache SparkDatabricks
 

Was ist angesagt? (20)

Databricks Platform.pptx
Databricks Platform.pptxDatabricks Platform.pptx
Databricks Platform.pptx
 
Differentiate Big Data vs Data Warehouse use cases for a cloud solution
Differentiate Big Data vs Data Warehouse use cases for a cloud solutionDifferentiate Big Data vs Data Warehouse use cases for a cloud solution
Differentiate Big Data vs Data Warehouse use cases for a cloud solution
 
Snowflake SnowPro Certification Exam Cheat Sheet
Snowflake SnowPro Certification Exam Cheat SheetSnowflake SnowPro Certification Exam Cheat Sheet
Snowflake SnowPro Certification Exam Cheat Sheet
 
Power BI Interview Questions and Answers | Power BI Certification | Power BI ...
Power BI Interview Questions and Answers | Power BI Certification | Power BI ...Power BI Interview Questions and Answers | Power BI Certification | Power BI ...
Power BI Interview Questions and Answers | Power BI Certification | Power BI ...
 
(The life of a) Data engineer
(The life of a) Data engineer(The life of a) Data engineer
(The life of a) Data engineer
 
Azure HDInsight
Azure HDInsightAzure HDInsight
Azure HDInsight
 
Deep Dive on Amazon Redshift
Deep Dive on Amazon RedshiftDeep Dive on Amazon Redshift
Deep Dive on Amazon Redshift
 
Introduction To Msbi By Yasir
Introduction To Msbi By YasirIntroduction To Msbi By Yasir
Introduction To Msbi By Yasir
 
Databricks + Snowflake: Catalyzing Data and AI Initiatives
Databricks + Snowflake: Catalyzing Data and AI InitiativesDatabricks + Snowflake: Catalyzing Data and AI Initiatives
Databricks + Snowflake: Catalyzing Data and AI Initiatives
 
What is a Data Warehouse and How Do I Test It?
What is a Data Warehouse and How Do I Test It?What is a Data Warehouse and How Do I Test It?
What is a Data Warehouse and How Do I Test It?
 
Getting Started with Databricks SQL Analytics
Getting Started with Databricks SQL AnalyticsGetting Started with Databricks SQL Analytics
Getting Started with Databricks SQL Analytics
 
A tour of Amazon Redshift
A tour of Amazon RedshiftA tour of Amazon Redshift
A tour of Amazon Redshift
 
Deep Dive on Amazon Redshift
Deep Dive on Amazon RedshiftDeep Dive on Amazon Redshift
Deep Dive on Amazon Redshift
 
Performance tuning and optimization (ppt)
Performance tuning and optimization (ppt)Performance tuning and optimization (ppt)
Performance tuning and optimization (ppt)
 
Azure Synapse Analytics
Azure Synapse AnalyticsAzure Synapse Analytics
Azure Synapse Analytics
 
Introduction to MSBI
Introduction to MSBIIntroduction to MSBI
Introduction to MSBI
 
Unify Stream and Batch Processing using Dataflow, a Portable Programmable Mod...
Unify Stream and Batch Processing using Dataflow, a Portable Programmable Mod...Unify Stream and Batch Processing using Dataflow, a Portable Programmable Mod...
Unify Stream and Batch Processing using Dataflow, a Portable Programmable Mod...
 
Power BI Architecture
Power BI ArchitecturePower BI Architecture
Power BI Architecture
 
Amazon Redshift
Amazon Redshift Amazon Redshift
Amazon Redshift
 
Processing Large Datasets for ADAS Applications using Apache Spark
Processing Large Datasets for ADAS Applications using Apache SparkProcessing Large Datasets for ADAS Applications using Apache Spark
Processing Large Datasets for ADAS Applications using Apache Spark
 

Andere mochten auch

Rapid Application Development on AWS
Rapid Application Development on AWSRapid Application Development on AWS
Rapid Application Development on AWSAmazon Web Services
 
Advanced Approaches to Amazon VPC and Amazon Route 53 | AWS Public Sector Sum...
Advanced Approaches to Amazon VPC and Amazon Route 53 | AWS Public Sector Sum...Advanced Approaches to Amazon VPC and Amazon Route 53 | AWS Public Sector Sum...
Advanced Approaches to Amazon VPC and Amazon Route 53 | AWS Public Sector Sum...Amazon Web Services
 
Dao pattern
Dao patternDao pattern
Dao patternciriako
 
Innovating for the Public Good | AWS Public Sector Summit 2016
Innovating for the Public Good | AWS Public Sector Summit 2016Innovating for the Public Good | AWS Public Sector Summit 2016
Innovating for the Public Good | AWS Public Sector Summit 2016Amazon Web Services
 
How to Develop and Deploy Web-Scale Applications on AWS
How to Develop and Deploy Web-Scale Applications on AWSHow to Develop and Deploy Web-Scale Applications on AWS
How to Develop and Deploy Web-Scale Applications on AWSDatabarracks
 
Architecting for Scale using Microservices & Serverless Backends
Architecting for Scale using Microservices & Serverless BackendsArchitecting for Scale using Microservices & Serverless Backends
Architecting for Scale using Microservices & Serverless BackendsAmazon Web Services
 
Managing Access to Resources on Amazon Web Services
Managing Access to Resources on Amazon Web ServicesManaging Access to Resources on Amazon Web Services
Managing Access to Resources on Amazon Web ServicesAmazon Web Services
 
C2S Tech Tips: Rapid Prototyping
C2S Tech Tips: Rapid PrototypingC2S Tech Tips: Rapid Prototyping
C2S Tech Tips: Rapid PrototypingAmazon Web Services
 
VPC Design for Enterprise Connectivity
VPC Design for Enterprise ConnectivityVPC Design for Enterprise Connectivity
VPC Design for Enterprise ConnectivityAmazon Web Services
 
Serverless Patterns: “No server is easier to manage than no server” - AWS Sec...
Serverless Patterns: “No server is easier to manage than no server” - AWS Sec...Serverless Patterns: “No server is easier to manage than no server” - AWS Sec...
Serverless Patterns: “No server is easier to manage than no server” - AWS Sec...Amazon Web Services
 
Architecting for Continuous Delivery
Architecting for Continuous DeliveryArchitecting for Continuous Delivery
Architecting for Continuous DeliveryAmazon Web Services
 
Introduction to AWS Cloud Computing | AWS Public Sector Summit 2016
Introduction to AWS Cloud Computing | AWS Public Sector Summit 2016Introduction to AWS Cloud Computing | AWS Public Sector Summit 2016
Introduction to AWS Cloud Computing | AWS Public Sector Summit 2016Amazon Web Services
 
Establishing a Scalable, Resilient Web Architecture | AWS Public Sector Summi...
Establishing a Scalable, Resilient Web Architecture | AWS Public Sector Summi...Establishing a Scalable, Resilient Web Architecture | AWS Public Sector Summi...
Establishing a Scalable, Resilient Web Architecture | AWS Public Sector Summi...Amazon Web Services
 
The People Model and Cloud Transformation | AWS Public Sector Summit 2016
The People Model and Cloud Transformation | AWS Public Sector Summit 2016The People Model and Cloud Transformation | AWS Public Sector Summit 2016
The People Model and Cloud Transformation | AWS Public Sector Summit 2016Amazon Web Services
 
Sony DAD NMS & Our Migration to the AWS Cloud
Sony DAD NMS & Our Migration to the AWS CloudSony DAD NMS & Our Migration to the AWS Cloud
Sony DAD NMS & Our Migration to the AWS CloudAmazon Web Services
 
Hack-Proof Your Cloud: Responding to 2016 Threats
Hack-Proof Your Cloud: Responding to 2016 ThreatsHack-Proof Your Cloud: Responding to 2016 Threats
Hack-Proof Your Cloud: Responding to 2016 ThreatsAmazon Web Services
 
AWS Summit Auckland Sponsor Presentation - Vocus
AWS Summit Auckland Sponsor Presentation - VocusAWS Summit Auckland Sponsor Presentation - Vocus
AWS Summit Auckland Sponsor Presentation - VocusAmazon Web Services
 
Getting Started with the Hybrid Cloud: Enterprise Backup and Recovery
 Getting Started with the Hybrid Cloud: Enterprise Backup and Recovery Getting Started with the Hybrid Cloud: Enterprise Backup and Recovery
Getting Started with the Hybrid Cloud: Enterprise Backup and RecoveryAmazon Web Services
 

Andere mochten auch (20)

Deep Dive - DynamoDB
Deep Dive - DynamoDBDeep Dive - DynamoDB
Deep Dive - DynamoDB
 
Rapid Application Development on AWS
Rapid Application Development on AWSRapid Application Development on AWS
Rapid Application Development on AWS
 
Advanced Approaches to Amazon VPC and Amazon Route 53 | AWS Public Sector Sum...
Advanced Approaches to Amazon VPC and Amazon Route 53 | AWS Public Sector Sum...Advanced Approaches to Amazon VPC and Amazon Route 53 | AWS Public Sector Sum...
Advanced Approaches to Amazon VPC and Amazon Route 53 | AWS Public Sector Sum...
 
Dao pattern
Dao patternDao pattern
Dao pattern
 
Innovating for the Public Good | AWS Public Sector Summit 2016
Innovating for the Public Good | AWS Public Sector Summit 2016Innovating for the Public Good | AWS Public Sector Summit 2016
Innovating for the Public Good | AWS Public Sector Summit 2016
 
How to Develop and Deploy Web-Scale Applications on AWS
How to Develop and Deploy Web-Scale Applications on AWSHow to Develop and Deploy Web-Scale Applications on AWS
How to Develop and Deploy Web-Scale Applications on AWS
 
Architecting for Scale using Microservices & Serverless Backends
Architecting for Scale using Microservices & Serverless BackendsArchitecting for Scale using Microservices & Serverless Backends
Architecting for Scale using Microservices & Serverless Backends
 
Managing Access to Resources on Amazon Web Services
Managing Access to Resources on Amazon Web ServicesManaging Access to Resources on Amazon Web Services
Managing Access to Resources on Amazon Web Services
 
C2S Tech Tips: Rapid Prototyping
C2S Tech Tips: Rapid PrototypingC2S Tech Tips: Rapid Prototyping
C2S Tech Tips: Rapid Prototyping
 
VPC Design for Enterprise Connectivity
VPC Design for Enterprise ConnectivityVPC Design for Enterprise Connectivity
VPC Design for Enterprise Connectivity
 
Serverless Patterns: “No server is easier to manage than no server” - AWS Sec...
Serverless Patterns: “No server is easier to manage than no server” - AWS Sec...Serverless Patterns: “No server is easier to manage than no server” - AWS Sec...
Serverless Patterns: “No server is easier to manage than no server” - AWS Sec...
 
Architecting for Continuous Delivery
Architecting for Continuous DeliveryArchitecting for Continuous Delivery
Architecting for Continuous Delivery
 
Introduction to AWS Cloud Computing | AWS Public Sector Summit 2016
Introduction to AWS Cloud Computing | AWS Public Sector Summit 2016Introduction to AWS Cloud Computing | AWS Public Sector Summit 2016
Introduction to AWS Cloud Computing | AWS Public Sector Summit 2016
 
Establishing a Scalable, Resilient Web Architecture | AWS Public Sector Summi...
Establishing a Scalable, Resilient Web Architecture | AWS Public Sector Summi...Establishing a Scalable, Resilient Web Architecture | AWS Public Sector Summi...
Establishing a Scalable, Resilient Web Architecture | AWS Public Sector Summi...
 
The People Model and Cloud Transformation | AWS Public Sector Summit 2016
The People Model and Cloud Transformation | AWS Public Sector Summit 2016The People Model and Cloud Transformation | AWS Public Sector Summit 2016
The People Model and Cloud Transformation | AWS Public Sector Summit 2016
 
Deep Dive on Amazon S3
Deep Dive on Amazon S3Deep Dive on Amazon S3
Deep Dive on Amazon S3
 
Sony DAD NMS & Our Migration to the AWS Cloud
Sony DAD NMS & Our Migration to the AWS CloudSony DAD NMS & Our Migration to the AWS Cloud
Sony DAD NMS & Our Migration to the AWS Cloud
 
Hack-Proof Your Cloud: Responding to 2016 Threats
Hack-Proof Your Cloud: Responding to 2016 ThreatsHack-Proof Your Cloud: Responding to 2016 Threats
Hack-Proof Your Cloud: Responding to 2016 Threats
 
AWS Summit Auckland Sponsor Presentation - Vocus
AWS Summit Auckland Sponsor Presentation - VocusAWS Summit Auckland Sponsor Presentation - Vocus
AWS Summit Auckland Sponsor Presentation - Vocus
 
Getting Started with the Hybrid Cloud: Enterprise Backup and Recovery
 Getting Started with the Hybrid Cloud: Enterprise Backup and Recovery Getting Started with the Hybrid Cloud: Enterprise Backup and Recovery
Getting Started with the Hybrid Cloud: Enterprise Backup and Recovery
 

Ähnlich wie Data Access Patterns

AWS re:Invent 2016: How DataXu scaled its Attribution System to handle billio...
AWS re:Invent 2016: How DataXu scaled its Attribution System to handle billio...AWS re:Invent 2016: How DataXu scaled its Attribution System to handle billio...
AWS re:Invent 2016: How DataXu scaled its Attribution System to handle billio...Amazon Web Services
 
Time Series Databases for IoT (On-premises and Azure)
Time Series Databases for IoT (On-premises and Azure)Time Series Databases for IoT (On-premises and Azure)
Time Series Databases for IoT (On-premises and Azure)Ivo Andreev
 
Azure Stream Analytics : Analyse Data in Motion
Azure Stream Analytics  : Analyse Data in MotionAzure Stream Analytics  : Analyse Data in Motion
Azure Stream Analytics : Analyse Data in MotionRuhani Arora
 
Druid at naver.com - part 1
Druid at naver.com - part 1Druid at naver.com - part 1
Druid at naver.com - part 1Jungsu Heo
 
Getting Started with Amazon Redshift
Getting Started with Amazon RedshiftGetting Started with Amazon Redshift
Getting Started with Amazon RedshiftAmazon Web Services
 
High-performance database technology for rock-solid IoT solutions
High-performance database technology for rock-solid IoT solutionsHigh-performance database technology for rock-solid IoT solutions
High-performance database technology for rock-solid IoT solutionsClusterpoint
 
February 2016 Webinar Series - Introduction to DynamoDB
February 2016 Webinar Series - Introduction to DynamoDBFebruary 2016 Webinar Series - Introduction to DynamoDB
February 2016 Webinar Series - Introduction to DynamoDBAmazon Web Services
 
Getting Started with Amazon Redshift
Getting Started with Amazon RedshiftGetting Started with Amazon Redshift
Getting Started with Amazon RedshiftAmazon Web Services
 
Realtime Analytics on AWS
Realtime Analytics on AWSRealtime Analytics on AWS
Realtime Analytics on AWSSungmin Kim
 
Graph Database Use Cases - StampedeCon 2015
Graph Database Use Cases - StampedeCon 2015Graph Database Use Cases - StampedeCon 2015
Graph Database Use Cases - StampedeCon 2015StampedeCon
 
Graph database Use Cases
Graph database Use CasesGraph database Use Cases
Graph database Use CasesMax De Marzi
 
Understanding The Azure Platform November 09
Understanding The Azure Platform   November 09Understanding The Azure Platform   November 09
Understanding The Azure Platform November 09DavidGristwood
 
Leveraging Amazon Redshift for Your Data Warehouse
Leveraging Amazon Redshift for Your Data WarehouseLeveraging Amazon Redshift for Your Data Warehouse
Leveraging Amazon Redshift for Your Data WarehouseAmazon Web Services
 
Sound cloud - User & Partner Conference - AT Internet
Sound cloud - User & Partner Conference - AT InternetSound cloud - User & Partner Conference - AT Internet
Sound cloud - User & Partner Conference - AT InternetAT Internet
 
Don't reengineer, reimagine: Hive buzzing with Druid's magic potion
Don't reengineer, reimagine: Hive buzzing with Druid's magic potion Don't reengineer, reimagine: Hive buzzing with Druid's magic potion
Don't reengineer, reimagine: Hive buzzing with Druid's magic potion Future of Data Meetup
 

Ähnlich wie Data Access Patterns (20)

AWS re:Invent 2016: How DataXu scaled its Attribution System to handle billio...
AWS re:Invent 2016: How DataXu scaled its Attribution System to handle billio...AWS re:Invent 2016: How DataXu scaled its Attribution System to handle billio...
AWS re:Invent 2016: How DataXu scaled its Attribution System to handle billio...
 
Time Series Databases for IoT (On-premises and Azure)
Time Series Databases for IoT (On-premises and Azure)Time Series Databases for IoT (On-premises and Azure)
Time Series Databases for IoT (On-premises and Azure)
 
Deep Dive on Amazon DynamoDB
Deep Dive on Amazon DynamoDBDeep Dive on Amazon DynamoDB
Deep Dive on Amazon DynamoDB
 
Azure Stream Analytics : Analyse Data in Motion
Azure Stream Analytics  : Analyse Data in MotionAzure Stream Analytics  : Analyse Data in Motion
Azure Stream Analytics : Analyse Data in Motion
 
Deep Dive on Amazon DynamoDB
Deep Dive on Amazon DynamoDBDeep Dive on Amazon DynamoDB
Deep Dive on Amazon DynamoDB
 
Druid at naver.com - part 1
Druid at naver.com - part 1Druid at naver.com - part 1
Druid at naver.com - part 1
 
Getting Started with Amazon Redshift
Getting Started with Amazon RedshiftGetting Started with Amazon Redshift
Getting Started with Amazon Redshift
 
Deep Dive on Amazon DynamoDB
Deep Dive on Amazon DynamoDBDeep Dive on Amazon DynamoDB
Deep Dive on Amazon DynamoDB
 
Deep Dive on Amazon DynamoDB
Deep Dive on Amazon DynamoDBDeep Dive on Amazon DynamoDB
Deep Dive on Amazon DynamoDB
 
High-performance database technology for rock-solid IoT solutions
High-performance database technology for rock-solid IoT solutionsHigh-performance database technology for rock-solid IoT solutions
High-performance database technology for rock-solid IoT solutions
 
February 2016 Webinar Series - Introduction to DynamoDB
February 2016 Webinar Series - Introduction to DynamoDBFebruary 2016 Webinar Series - Introduction to DynamoDB
February 2016 Webinar Series - Introduction to DynamoDB
 
Getting Started with Amazon Redshift
Getting Started with Amazon RedshiftGetting Started with Amazon Redshift
Getting Started with Amazon Redshift
 
Realtime Analytics on AWS
Realtime Analytics on AWSRealtime Analytics on AWS
Realtime Analytics on AWS
 
Graph Database Use Cases - StampedeCon 2015
Graph Database Use Cases - StampedeCon 2015Graph Database Use Cases - StampedeCon 2015
Graph Database Use Cases - StampedeCon 2015
 
Graph database Use Cases
Graph database Use CasesGraph database Use Cases
Graph database Use Cases
 
Understanding The Azure Platform November 09
Understanding The Azure Platform   November 09Understanding The Azure Platform   November 09
Understanding The Azure Platform November 09
 
Leveraging Amazon Redshift for Your Data Warehouse
Leveraging Amazon Redshift for Your Data WarehouseLeveraging Amazon Redshift for Your Data Warehouse
Leveraging Amazon Redshift for Your Data Warehouse
 
Sound cloud - User & Partner Conference - AT Internet
Sound cloud - User & Partner Conference - AT InternetSound cloud - User & Partner Conference - AT Internet
Sound cloud - User & Partner Conference - AT Internet
 
Don't reengineer, reimagine: Hive buzzing with Druid's magic potion
Don't reengineer, reimagine: Hive buzzing with Druid's magic potion Don't reengineer, reimagine: Hive buzzing with Druid's magic potion
Don't reengineer, reimagine: Hive buzzing with Druid's magic potion
 
Data Science At Zillow
Data Science At ZillowData Science At Zillow
Data Science At Zillow
 

Mehr von Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

Mehr von Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Kürzlich hochgeladen

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 

Kürzlich hochgeladen (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 

Data Access Patterns

  • 1. ©  2016,  Amazon  Web  Services,  Inc.  or  its  Affiliates.  All  rights  reserved. Clayton  Brown  – Solutions  Architect September  2016 Data  Access  Patterns  for   Microservices
  • 2. Modelled  Around   Business  Domain Culture  of   Automation Hide   Implementation   Details Highly   Observable Decentralise All   The  Things Isolate  Failure Deploy   Independantly Principles  of   Microservices
  • 3. Micassa iTube ’Store    &  Organise all  the  Medias’
  • 4. Did  You  Even  Consider  NoSQL? Optimised for  Storage Optimised for  Compute Normalised/relational Denormalised/hierarchical Ad  hoc  queries Instantiated  views Scale  vertically Scale  horizontally Good  for  OLAP Built  for  OLTP  at  scale SQL NoSQL
  • 5. Why  NOSQL?  Data  Volume  Since  2010 Data  Volume Historical Current § 90%  of  stored  data  generated   in  last  2  years § 1  terabyte  of  data  in  2010   equals  6.5  petabytes  today   § Linear  correlation  between   data  pressure  and  technical   innovation § No  reason  these  trends  will   not  continue  over  time
  • 6. To  Infinity  And  Beyond The  Zero  One  or  Infinity  (ZOI)  rule  is  a   rule  of  thumb  in  software  design   originated  by  early  computing  pioneer   Willem  van  der  Poel. • Arbitrary  limits  on  the  number  of   instances  of  a  particular  entity  should   not  be  allowed.   • Specifically;;  an  entity  should  either  be   forbidden  entirely,  one  should  be   allowed,  or  any  number  (presumably,   to  the  limit  of  available  storage)  of   them  should  be  allowed.
  • 7. Monolithic  Persistence  Example Database Database …DatabaseN Constrained Memory Compute Storage   Network  IO Disk  IO Consolidation Versions Data   Dependencies Capabilities Database/SVC001 service1/password1 Database/SVC002 service2/password2 Database/SVC003 service3/password3 …. Database/SVC…N serviceN/passwordN API client mobile voice
  • 8. Amazon RDS YesSQL Request  Rate High Low Cost/GB High Low Latency Low High Data  Volume Low High Glacier NOSQL Amazon CloudSearch NOSQL Structure Low High Amazon DynamoDB NOSQL Amazon ElastiCache NOSQL
  • 9. Many  Specialised NOSQL Database  Types Key-­Value  Stores Tokyo  Cabinet/Tyrant,   Redis,  Voldemort,  Oracle  BDB,   Amazon  SimpleDB,  Riak Document  Stores   CouchDB,  MongoDB,  DynamoDB.. Search  Engines Solr,  Elasticsearch,  Lucene… Column  Family  Stores Cassandra,  Hbase… Graph   Neo4J,  InfoGrid,  Infinite  Graph… Time  Series InfluxDB,  Elasticsearch,   OpenTSDB… …....as  well  as  many  others,  Object  Oriented  DBMS,  XML  DBMS, Content  stores,  Event  Stores,  Navigational  DBMS
  • 10. Polyglot  Persistence  Example Function: Ephemeral  /  TTL Caching Indexing Geo  Spatial Time  Series Key  Value Sorted  Range  (Filters) Document  (JSON) Object(ORM) Graph  (OGM) Relational  Data Stored  Procedures Document  (CLOB) File  (BLOB) OLTP OLAP NOSQL-­Document NOSQL-­Document NOSQL-­KeyValue NOSQL-­KeyValue
  • 13. Common  Use  Cases  for  Amazon DynamoDB Large  Scale  Websites   • Session  state   • User  data  used  for  personalization   • Access  control   Application  Monitoring   • Storing  application  logs   • Storing  event  data  JSON  data Internet  of  Things   • Sensor  data  and  log  ingestion ......Microservices • DDD  Isolation  /  encapsulation  /  scaling Ad-­Tech   • Capturing  browser  cookie  state Mobile  Applications • Storing  application  data  and  session  state   Gaming  Applications • Storing  user  preferences  and  application   state   • Storing  players’  game  state   Consumer  “Voting”  Applications   • Reality  TV  contests,  Superbowl commercials  
  • 14. Amazon  DynamoDB API ADMIN CreateTable DescribeTable ListTables UpdateTable DeleteTable CREATE PutItem (400KB) BatchWriteItem (16  MB  |  25  items  x  400KB) READ GetItem BatchGetItem (16  MB  |  100  Items) Query  (KeyConditionExpression)    (pages  @1  MB) Scan  (FilterExpression) (full  table  scan!!!) UPDATE UpdateItem DELETE DeleteItem BatchWriteItem (16  MB  |  25  items  x  400KB) AMAZON  DynamoDB STREAMS ListStreams DescribeStream GetShardIterator GetRecords (1  MB  |  1000  records) WritesReads • WCUs    (1  KB  /  sec  ) • RCUs    (4  KB/  sec)     • 2x Eventual  Consistent  Reads • Auto  scaling  possible  via  API
  • 15. Getting  the  Most  out  of  Amazon DynamoDB Throughput “To  get  the  most  out  of  DynamoDB   throughput,  create  tables  where   the  hash  key  element  has  a  large   number  of  distinct  values,  and   values  are  requested  fairly   uniformly,  as  randomly  as   possible.”   —DynamoDB  Developer  Guide Time:  Requests  arrive  evenly   spaced  in  time Space:  Access  is  evenly  spread   over  the  key-­space
  • 16. Amazon  DynamoDB Partitioning  Primer Throughput  Unlimited* • Provision  any  amount  of  throughput  to  a  table Size  Unlimited* • Add  any  number  of  items  to  a  table • Max  item  is  400  KB • LSIs  limit  number  of  range  keys  (10  GB) Sharp  Edges? • Dilution RCUs  and  WCUs  are  uniformly  spread  across  partitions   • Hot  Keys  Scaling  is  achieved  through  partitioning   Number  of  Partitions By  capacity (Total  RCU  /  3000)  +  (Total  WCU  /   1000) By  size Total  Size  /  10  GB Total   partitions CEILING(MAX  (Capacity,  Size)) Table  size  =  8  GB,  RCUs  =  5000,  WCUs  =  500 RCUs  per  partition  =  5000/3000  =  1.6 WCUs  per  partition  =  500/1000  =    0.5 Data/partition  =  8/10=  0.8 By  Capacity  1.6  +  0.5  =  2.1  (Round  to  3) RCUs  per  partition  =  5000/3  =  1666 WCUs  per  partition  =  500/3  =    166 Data/partition  =  10/3  =  3.33  GB Partition Time Heat  / Pressure *(YMMV)
  • 17. Modelling  Relationships Overview  of  Hash  +  Range  Schemas
  • 18. Types,  Indexes  and  Queries Store  info  about  users • Hash  schema  for  straight  key-­ value  lookups  (PrimaryKey) Query  for  a  user’s  friends • Hash  and  Range  schema  for   Query  /  Filter  (Key  +  RangeKey) Users  Table Friends Table
  • 19. Query  for  Users  Images Amazon  DynamoDB indexes  provide  partition  and  sort SELECT * FROM Images WHERE User='Bob‘ ORDER BY Date DESC (hash  /  partition  key) (sorted  range  key)
  • 20. Query  for  Inflight  Processing  Stages Amazon  DynamoDB indexes  provide  partition  and  sort What  about  queries  for  two  equalities  and  a  sort? SELECT * FROM Images WHERE User='Bob‘ AND Status=‘PENDING' ORDER BY Date DESC (hash  /  partition  key) (sorted  range  key) (?)
  • 21. Images Query Bob User Date ImageId Status Tags uuid-­Alice 2014-­10-­02 d9bl3 DONE David uuid-­Carol 2014-­10-­08 o2pnb IN_PROGRESS Bob uuid-­Bob 2014-­09-­30 72f49 PENDING Alice uuid-­Bob 2014-­10-­03 b932s PENDING Carol uuid-­Bob 2014-­10-­03 ef9ca IN_PROGRESS David SELECT * FROM Images WHERE User='Bob' ORDER BY Date DESC FILTER ON Status=’PENDING' (Partition  Key) x
  • 22. Images Query,  Sort Bob User Date ImageId Status Tags uuid-­Alice 2014-­10-­02 d9bl3 DONE David uuid-­Carol 2014-­10-­08 o2pnb IN_PROGRESS Bob uuid-­Bob 2014-­09-­30 72f49 PENDING Alice uuid-­Bob 2014-­10-­03 b932s PENDING Carol uuid-­Bob 2014-­10-­03 ef9ca IN_PROGRESS David SELECT * FROM Images WHERE User='Bob' ORDER BY Date DESC FILTER ON Status=’PENDING' (Sorted  RangeKey) x (Partition  Key)
  • 23. Secondary  index Query,  Sort  &  Filter Bob User Date ImageId Status Tags uuid-­Alice 2014-­10-­02 d9bl3 DONE David uuid-­Carol 2014-­10-­08 o2pnb IN_PROGRESS Bob uuid-­Bob 2014-­09-­30 72f49 PENDING Alice uuid-­Bob 2014-­10-­03 b932s PENDING Carol uuid-­Bob 2014-­10-­03 ef9ca IN_PROGRESS David SELECT * FROM Images WHERE User='Bob' ORDER BY Date DESC FILTER ON Status=’PENDING' x (Sorted  RangeKey)(Partition  Key) Filters 5x
  • 24. Local  index Local  Secondary  Indexes  (5) Bob User Date ImageId Status Tags uuid-­Alice 2014-­10-­02 d9bl3 DONE David uuid-­Carol 2014-­10-­08 o2pnb IN_PROGRESS Bob uuid-­Bob 2014-­09-­30 72f49 PENDING Alice uuid-­Bob 2014-­10-­03 b932s PENDING Carol uuid-­Bob 2014-­10-­03 ef9ca IN_PROGRESS David SELECT Status FROM Images WHERE ImageId=’o2pnb' (Hash  /  Local  Secondary  Index) Filters 5x
  • 25. Global  Secondary  Indexes  (5)   ImageTags Table Alice Images  tagged  Alice Tag Image User … Alice aed4c id-­Alice .. Alice f93bae id-­Bob .. Alice aed4c id-­Bob .. Bob f93bae id-­Carol .. ByUser Global  Secondary  Index User Image Tag … id-­Alice aed4c Alice .. id-­Bob aed4c Alice .. id-­Bob f93bae Alice .. id-­Carol f93b2e Bob .. Alternate  Hash  and  Range  Keys Global  Secondary  Index  on  User,  Image
  • 26. Event  Logging  (Ordered  RangeKey) Storing  Time  Series  Data
  • 27. Time  Series  Tables Events_table_2015_April Event_id (Partition) Timestamp (Sort) Attribute1 …. Attribute  N Events_table_2015_March Event_id (Partition) Timestamp (Sort) Attribute1 …. Attribute  N Events_table_2015_Feburary Event_id (Partition) Timestamp (Sort) Attribute1 …. Attribute  N Events_table_2015_January Event_id (Partition) Timestamp (Sort) Attribute1 …. Attribute  N RCUs  =  1000 WCUs  =  1 RCUs  =  10000 WCUs  =  10000 RCUs  =  100 WCUs  =  1 RCUs  =  10 WCUs  =  1 Current  period Older  periods Hot  dataCold  data Don’t  mix  hot  and  cold  data;;  archive  cold  data  to  Amazon  S3
  • 28. State  Machine Atomic  and  Conditional  Writes
  • 30. Object  Mappers Object  /  Graph  Relational  Mappers  (ORM/GRM)
  • 31. Amazon  DynamoDB Object  Mappers    (ORM) • AWSJavaSDK – Amazon  DynamoDBMapper • .NET  Object  Persistence  Model • Optimistic  locking  with  item  versions • Community  Abstractions;; • jlafon/PynamoDB • michaellavelle/spring-data-dynamodb • jlafon/PynamoDB
  • 32. Amazon  DynamoDB Graph  Mappers    (GRM) • Amazon  DynamoDB storage  backend  for  Titan   • Tinkerpop API  Compatible
  • 34. Web  Identity  Federation Users Web  identity  federation (Fine-­grained  access  control) Amazon   DynamoDB AWS  IAM Amazon Cognito
  • 35. Fine-­Grained  Access  Control Images  Table User Image Date Link Bob aed4c 2013-­10-­01 s3://… Bob 5f2e2 2013-­09-­05 s3://… Bob f93bae 2013-­10-­08 s3://… Alice ca61a 2013-­09-­12 s3://… Bob AWS   IAM Bob  “logs  in”  using   web  identity  federation
  • 36. Fine-­Grained  Access  Control Images  Table User Image Date Link Bob aed4c 2013-­10-­01 s3://… Bob 5f2e2 2013-­09-­05 s3://… Bob f93bae 2013-­10-­08 s3://… Alice ca61a 2013-­09-­12 s3://… Bob Bob  can  Query  for  Images   where  User=“Bob”
  • 37. Fine-­Grained  Access  Control Images  Table User Image Date Link Bob aed4c 2013-­10-­01 s3://… Bob 5f2e2 2013-­09-­05 s3://… Bob f93bae 2013-­10-­08 s3://… Alice ca61a 2013-­09-­12 s3://… Bob Bob  cannot Query  for  Images   where  User=“Alice”
  • 38. Event  Driven  Applications DynamoDB Streams  – Observation  
  • 39. Stream  of  updates  to  a  table Asynchronous Exactly  once Strictly  ordered • Per  item Updated/New Highly  durable • Scale  with  table 24-­hour  lifetime Subsecond  latency Amazon  DynamoDB Streams
  • 40. DynamoDB  Streams Open-­source  cross-­region   replication  library Asia  Pacific  (Sydney) EU  (Ireland)  replica US  East  (N.  Virginia) CDC  Cross-­Region  Replication
  • 41. Lambda  as  Triggers Lambda  function Notify  change Derivative  tables Amazon   CloudSearch Amazon  ElastiCache