SlideShare a Scribd company logo
1 of 24
Integrating an App with Amazon Web Services SimpleDB  “ A Matter of Choices” Presented by Mark Maslyn – mmaslyn@msn.com
Amazon Web Services Menu
Amazon Web Service Databases ,[object Object],[object Object],[object Object]
Amazon SimpleDB ,[object Object],[object Object],[object Object],[object Object],[object Object]
SimpleDB Language Support
Whoa… Non – Relational ??? From WikiMedia Commons
NoSQL Databases ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Android to Amazon Database Model Android Phone  For UI and Display Amazon SimpleDB Cloud  For Database Heavy Lifting Data Request Data Response Each Does What It Does Best ! Images From HTC and WikiMedia
Remote Database Example:  Kooaba From www.kooaba.com
Kooaba Architecture From www.kooaba.com
My Application – Oil Well Information ,[object Object],[object Object],[object Object],[object Object]
Drilling For Oil Amount of Data Generated Depends On How Deep the Well is Drilled A B C D
Example NoSQL Row For Geologic Formation Names and Depths Item Key “ 05-10123”, “BLAINE”, “1464”,”ATOKA”,”4744”,”MORROW”,”4854” Name3 Name2 Name1 Value1 Value2 Value3
Coding the Connection From Android Image From http://www.vpnchoice.com/blog/wp-content/uploads/2011/06/android-vpn-300x187.jpg
Connecting to Amazon SimpleDB private static AmazonSimpleDB sdb = null; public static AmazonSimpleDB getInstance() { if ( sdb == null ) { // pass in the authenication credentials sdb = new AmazonSimpleDBClient( AWSDemo.credentials ); // set the node we want to use sdb.setEndpoint("sdb.us-west-1.amazonaws.com"); } return sdb; }
Creating SimpleDB Domains From Android public   void  createDomain(String domainName)  { sdb.createDomain( new  CreateDomainRequest(domainName)); }
Inserting Records From Android // each row is keyed with a “replaceable” item id followed by  // attributes i.e. name / value pairs // construct a list of items to be inserted List<ReplaceableItem> dataList =  new  ArrayList<ReplaceableItem>(); // populate the list using the item id and the attribute name / value pairs dataList.add( new  ReplaceableItem(“05-123”).withAttributes( new  ReplaceableAttribute(DBFields. STATE , “CO”,  true ), new  ReplaceableAttribute(DBFields. COUNTY , “Weld”,  true ), new  ReplaceableAttribute(DBFields. DRILLING_DATE , “05-11-2011”,  true )); // batch insert the list into the SimpleDB database sdb.batchPutAttributes( new  BatchPutAttributesRequest( “my_domain” , dataList   ));
Retrieving Data From Amazon // build your SQL select statement String selectExpression = &quot;select * from &quot; + domain + &quot; where  itemName() = '“05-123’”; // construct a select request SelectRequest selectRequest =  new  SelectRequest(selectExpression); // retrieve a list of matching items (records) List<Item> itemList = sdb.select(selectRequest).getItems(); // loop through each record and extract the attributes from each item for  ( int  i = 0; i < itemList.size(); i++) { Item item = (Item) itemList.get(i);  ArrayList<Attribute> attributeList = (ArrayList<Attribute>)  item.getAttributes(); }
Question: Since Android Devices Can Use the Internal SQLite Database…  When I Would I Use the Internal Database and When Would I Use the Amazon Cloud Database ?
[object Object],[object Object],[object Object],[object Object],[object Object],It Depends On…
My Choices: Local vs. Remote ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Amazon SimpleDB 100,000 Colorado Wells Detailed Well Information 21 MB LOCAL REMOTE
Locally Stored Data ,[object Object],[object Object]
[object Object],[object Object],[object Object],Internet (Remotely) Accessed Data
For Further Information ,[object Object],[object Object],[object Object],[object Object]

More Related Content

What's hot

AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
Amazon Web Services
 
02 cloud poweredmobileappsonaws_short
02 cloud poweredmobileappsonaws_short02 cloud poweredmobileappsonaws_short
02 cloud poweredmobileappsonaws_short
Codemotion
 
Deep Dive on Amazon Cognito - DevDay Austin 2017
Deep Dive on Amazon Cognito - DevDay Austin 2017Deep Dive on Amazon Cognito - DevDay Austin 2017
Deep Dive on Amazon Cognito - DevDay Austin 2017
Amazon Web Services
 

What's hot (20)

Delivering Mobile Apps Using AWS Mobile Services
Delivering Mobile Apps Using AWS Mobile ServicesDelivering Mobile Apps Using AWS Mobile Services
Delivering Mobile Apps Using AWS Mobile Services
 
Building Cloud-powered Mobile Apps
Building Cloud-powered Mobile AppsBuilding Cloud-powered Mobile Apps
Building Cloud-powered Mobile Apps
 
AWS Cloud Kata 2014 | Jakarta - 2-2 Mobile
AWS Cloud Kata 2014 | Jakarta - 2-2 MobileAWS Cloud Kata 2014 | Jakarta - 2-2 Mobile
AWS Cloud Kata 2014 | Jakarta - 2-2 Mobile
 
Building mobile apps on AWS
Building mobile apps on AWSBuilding mobile apps on AWS
Building mobile apps on AWS
 
Building Cloud-powered Mobile Apps
Building Cloud-powered Mobile AppsBuilding Cloud-powered Mobile Apps
Building Cloud-powered Mobile Apps
 
Amazon Cognito
Amazon CognitoAmazon Cognito
Amazon Cognito
 
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
 
(MBL401) Social Logins for Mobile Apps with Amazon Cognito | AWS re:Invent 2014
(MBL401) Social Logins for Mobile Apps with Amazon Cognito | AWS re:Invent 2014(MBL401) Social Logins for Mobile Apps with Amazon Cognito | AWS re:Invent 2014
(MBL401) Social Logins for Mobile Apps with Amazon Cognito | AWS re:Invent 2014
 
AWS April Webinar Series - Easily Build and Scale Mobile Apps with AWS Mobile...
AWS April Webinar Series - Easily Build and Scale Mobile Apps with AWS Mobile...AWS April Webinar Series - Easily Build and Scale Mobile Apps with AWS Mobile...
AWS April Webinar Series - Easily Build and Scale Mobile Apps with AWS Mobile...
 
AWS Webinar - 201 Developing mobile apps with AWS
AWS Webinar - 201 Developing mobile apps with AWSAWS Webinar - 201 Developing mobile apps with AWS
AWS Webinar - 201 Developing mobile apps with AWS
 
02 cloud poweredmobileappsonaws_short
02 cloud poweredmobileappsonaws_short02 cloud poweredmobileappsonaws_short
02 cloud poweredmobileappsonaws_short
 
Amazon Cognito Deep Dive
Amazon Cognito Deep DiveAmazon Cognito Deep Dive
Amazon Cognito Deep Dive
 
Deep Dive on User Sign-up Sign-in with Amazon Cognito - AWS Online Tech Talks
Deep Dive on User Sign-up Sign-in with Amazon Cognito - AWS Online Tech TalksDeep Dive on User Sign-up Sign-in with Amazon Cognito - AWS Online Tech Talks
Deep Dive on User Sign-up Sign-in with Amazon Cognito - AWS Online Tech Talks
 
Managing Identity and Securing Your Mobile and Web Applications with Amazon C...
Managing Identity and Securing Your Mobile and Web Applications with Amazon C...Managing Identity and Securing Your Mobile and Web Applications with Amazon C...
Managing Identity and Securing Your Mobile and Web Applications with Amazon C...
 
Develop a Messaging App on AWS in One Day
Develop a Messaging App on AWS in One DayDevelop a Messaging App on AWS in One Day
Develop a Messaging App on AWS in One Day
 
Journey Through the Cloud - Social & Mobile Apps
Journey Through the Cloud - Social & Mobile Apps Journey Through the Cloud - Social & Mobile Apps
Journey Through the Cloud - Social & Mobile Apps
 
Getting Started with Cognito User Pools - September Webinar Series
Getting Started with Cognito User Pools - September Webinar SeriesGetting Started with Cognito User Pools - September Webinar Series
Getting Started with Cognito User Pools - September Webinar Series
 
Deep Dive on Amazon Cognito - DevDay Austin 2017
Deep Dive on Amazon Cognito - DevDay Austin 2017Deep Dive on Amazon Cognito - DevDay Austin 2017
Deep Dive on Amazon Cognito - DevDay Austin 2017
 
Getting Started with your User Pools in Amazon Cognito - AWS June 2016 Webina...
Getting Started with your User Pools in Amazon Cognito - AWS June 2016 Webina...Getting Started with your User Pools in Amazon Cognito - AWS June 2016 Webina...
Getting Started with your User Pools in Amazon Cognito - AWS June 2016 Webina...
 
Gaming on AWS - 8. 서버 없이 게임 만들기 - Serverless Architecture
Gaming on AWS - 8. 서버 없이 게임 만들기 - Serverless ArchitectureGaming on AWS - 8. 서버 없이 게임 만들기 - Serverless Architecture
Gaming on AWS - 8. 서버 없이 게임 만들기 - Serverless Architecture
 

Similar to Integrating an App with Amazon Web Services SimpleDB - A Matter of Choices

IMC Summit 2016 Breakout - William Bain - Implementing Extensible Data Struct...
IMC Summit 2016 Breakout - William Bain - Implementing Extensible Data Struct...IMC Summit 2016 Breakout - William Bain - Implementing Extensible Data Struct...
IMC Summit 2016 Breakout - William Bain - Implementing Extensible Data Struct...
In-Memory Computing Summit
 
Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)
Igor Moochnick
 
Jeff Barr Amazon Services Cloud Computing
Jeff Barr Amazon Services Cloud ComputingJeff Barr Amazon Services Cloud Computing
Jeff Barr Amazon Services Cloud Computing
deimos
 

Similar to Integrating an App with Amazon Web Services SimpleDB - A Matter of Choices (20)

Living on the edge at Netflix - Adrian Cole
Living on the edge at Netflix - Adrian ColeLiving on the edge at Netflix - Adrian Cole
Living on the edge at Netflix - Adrian Cole
 
AWS re:Invent 2016: IoT Visualizations and Analytics (IOT306)
AWS re:Invent 2016: IoT Visualizations and Analytics (IOT306)AWS re:Invent 2016: IoT Visualizations and Analytics (IOT306)
AWS re:Invent 2016: IoT Visualizations and Analytics (IOT306)
 
Journey Towards Scaling Your Application to Million Users
Journey Towards Scaling Your Application to Million UsersJourney Towards Scaling Your Application to Million Users
Journey Towards Scaling Your Application to Million Users
 
Architecting Cloud Apps
Architecting Cloud AppsArchitecting Cloud Apps
Architecting Cloud Apps
 
AWS Cloud Kata 2014 | Jakarta - 2-1 AWS Intro and Scale 2014
AWS Cloud Kata 2014 | Jakarta - 2-1 AWS Intro and Scale 2014AWS Cloud Kata 2014 | Jakarta - 2-1 AWS Intro and Scale 2014
AWS Cloud Kata 2014 | Jakarta - 2-1 AWS Intro and Scale 2014
 
(MBL305) You Have Data from the Devices, Now What?: Getting the Value of the IoT
(MBL305) You Have Data from the Devices, Now What?: Getting the Value of the IoT(MBL305) You Have Data from the Devices, Now What?: Getting the Value of the IoT
(MBL305) You Have Data from the Devices, Now What?: Getting the Value of the IoT
 
IMC Summit 2016 Breakout - William Bain - Implementing Extensible Data Struct...
IMC Summit 2016 Breakout - William Bain - Implementing Extensible Data Struct...IMC Summit 2016 Breakout - William Bain - Implementing Extensible Data Struct...
IMC Summit 2016 Breakout - William Bain - Implementing Extensible Data Struct...
 
Get Value From Your Data
Get Value From Your DataGet Value From Your Data
Get Value From Your Data
 
Painless Persistence in a Disconnected World
Painless Persistence in a Disconnected WorldPainless Persistence in a Disconnected World
Painless Persistence in a Disconnected World
 
Log Analysis At Scale
Log Analysis At ScaleLog Analysis At Scale
Log Analysis At Scale
 
(MBL312) NEW! AWS IoT: Programming a Physical World w/ Shadows & Rules
(MBL312) NEW! AWS IoT: Programming a Physical World w/ Shadows & Rules(MBL312) NEW! AWS IoT: Programming a Physical World w/ Shadows & Rules
(MBL312) NEW! AWS IoT: Programming a Physical World w/ Shadows & Rules
 
NWCloud Cloud Track - Best Practices for Architecting in the Cloud
NWCloud Cloud Track - Best Practices for Architecting in the CloudNWCloud Cloud Track - Best Practices for Architecting in the Cloud
NWCloud Cloud Track - Best Practices for Architecting in the Cloud
 
AWS re:Invent 2016: ↑↑↓↓←→←→ BA Lambda Start (SVR305)
AWS re:Invent 2016: ↑↑↓↓←→←→ BA Lambda Start (SVR305)AWS re:Invent 2016: ↑↑↓↓←→←→ BA Lambda Start (SVR305)
AWS re:Invent 2016: ↑↑↓↓←→←→ BA Lambda Start (SVR305)
 
DevOps Fest 2019. Alex Casalboni. Configuration management and service discov...
DevOps Fest 2019. Alex Casalboni. Configuration management and service discov...DevOps Fest 2019. Alex Casalboni. Configuration management and service discov...
DevOps Fest 2019. Alex Casalboni. Configuration management and service discov...
 
Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)
 
Amazon Web Services OverView
Amazon Web Services OverViewAmazon Web Services OverView
Amazon Web Services OverView
 
Big data and serverless - AWS UG The Netherlands
Big data and serverless - AWS UG The NetherlandsBig data and serverless - AWS UG The Netherlands
Big data and serverless - AWS UG The Netherlands
 
Windows Azure and a little SQL Data Services
Windows Azure and a little SQL Data ServicesWindows Azure and a little SQL Data Services
Windows Azure and a little SQL Data Services
 
Jeff Barr Amazon Services Cloud Computing
Jeff Barr Amazon Services Cloud ComputingJeff Barr Amazon Services Cloud Computing
Jeff Barr Amazon Services Cloud Computing
 
Amazon Web Services for PHP Developers
Amazon Web Services for PHP DevelopersAmazon Web Services for PHP Developers
Amazon Web Services for PHP Developers
 

Recently uploaded

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

Integrating an App with Amazon Web Services SimpleDB - A Matter of Choices

  • 1. Integrating an App with Amazon Web Services SimpleDB “ A Matter of Choices” Presented by Mark Maslyn – mmaslyn@msn.com
  • 3.
  • 4.
  • 6. Whoa… Non – Relational ??? From WikiMedia Commons
  • 7.
  • 8. Android to Amazon Database Model Android Phone For UI and Display Amazon SimpleDB Cloud For Database Heavy Lifting Data Request Data Response Each Does What It Does Best ! Images From HTC and WikiMedia
  • 9. Remote Database Example: Kooaba From www.kooaba.com
  • 10. Kooaba Architecture From www.kooaba.com
  • 11.
  • 12. Drilling For Oil Amount of Data Generated Depends On How Deep the Well is Drilled A B C D
  • 13. Example NoSQL Row For Geologic Formation Names and Depths Item Key “ 05-10123”, “BLAINE”, “1464”,”ATOKA”,”4744”,”MORROW”,”4854” Name3 Name2 Name1 Value1 Value2 Value3
  • 14. Coding the Connection From Android Image From http://www.vpnchoice.com/blog/wp-content/uploads/2011/06/android-vpn-300x187.jpg
  • 15. Connecting to Amazon SimpleDB private static AmazonSimpleDB sdb = null; public static AmazonSimpleDB getInstance() { if ( sdb == null ) { // pass in the authenication credentials sdb = new AmazonSimpleDBClient( AWSDemo.credentials ); // set the node we want to use sdb.setEndpoint(&quot;sdb.us-west-1.amazonaws.com&quot;); } return sdb; }
  • 16. Creating SimpleDB Domains From Android public void createDomain(String domainName) { sdb.createDomain( new CreateDomainRequest(domainName)); }
  • 17. Inserting Records From Android // each row is keyed with a “replaceable” item id followed by // attributes i.e. name / value pairs // construct a list of items to be inserted List<ReplaceableItem> dataList = new ArrayList<ReplaceableItem>(); // populate the list using the item id and the attribute name / value pairs dataList.add( new ReplaceableItem(“05-123”).withAttributes( new ReplaceableAttribute(DBFields. STATE , “CO”, true ), new ReplaceableAttribute(DBFields. COUNTY , “Weld”, true ), new ReplaceableAttribute(DBFields. DRILLING_DATE , “05-11-2011”, true )); // batch insert the list into the SimpleDB database sdb.batchPutAttributes( new BatchPutAttributesRequest( “my_domain” , dataList ));
  • 18. Retrieving Data From Amazon // build your SQL select statement String selectExpression = &quot;select * from &quot; + domain + &quot; where itemName() = '“05-123’”; // construct a select request SelectRequest selectRequest = new SelectRequest(selectExpression); // retrieve a list of matching items (records) List<Item> itemList = sdb.select(selectRequest).getItems(); // loop through each record and extract the attributes from each item for ( int i = 0; i < itemList.size(); i++) { Item item = (Item) itemList.get(i); ArrayList<Attribute> attributeList = (ArrayList<Attribute>) item.getAttributes(); }
  • 19. Question: Since Android Devices Can Use the Internal SQLite Database… When I Would I Use the Internal Database and When Would I Use the Amazon Cloud Database ?
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.