際際滷

際際滷Share a Scribd company logo
Active Cloud DB:A RESTful
Software-as-a-Service for Language
Agnostic Access to Distributed
Datastores
Chris Bunch Jonathan Kupferman Chandra Krintz
Wednesday, October 27, 2010
CloudComp 2010
1
Whos Using NoSQL?
2
and many others!
Do ItYourself!
 Pick a datastore
 Learn how the interfaces SHOULD work
 Learn how the interfaces REALLY work
 Migrate to a non-relational data model
 each of these are non-trivial!
3
Trouble in Paradise
4
(at least theyre honest about it)
The Problem
 No way to compare databases with real
applications
 No standard on what a real test is
 Too many variables in the equation
 Topology, query language, data model,
APIs, consistency settings (to name a few)
5
You Need A Better Way
 Need a platform to:
 Easily evaluate datastores
 Quickly evaluate datastores
 Evaluate datastores on similar metrics
6
Our Contribution
 Active Cloud DB:A Google App Engine app
that exposes the DB via REST
 Exposes string key/value DB
 Speed up repeated operations via caching
 Works on Google or AppScale
Free access to BigTable
7
8
Realistically Speaking
 One test takes ~ 2 hours
 In one day at work you could generate a
graph comparing:
 HBase
 Cassandra
 Google BigTable
 Amazon SimpleDB
9
RESTful Interface
 GET /resources/key  get
 POST /resources/key (with value)  put
 DELETE /resources/key  delete
 GET /resources  query (get all)
10
Caching Support
 Leverages Memcache API / memcached
 Provides a Least-Recently-Used Cache
 Write-through caching strategy - all puts /
deletes are written to the cache
 Generational caching strategy - queries use
a generation number
11
Bookstore App
 Four prototypes available that use Active
Cloud DB:
 Ruby on Rails
 Ruby (through Sinatra)
 Python (via Django)
 Python (through web.py)
12
13
The Actual Code
 With BigTable:
 val = `curl -X GET http://your-
app.appspot.com/resources/#{key}`
 Or in AppScale:
 val = `curl -X GET http://
128.111.55.223:8080/resources/#{key}`
14
 Originally presented at CloudComp 2009
 An open-source implementation of the
Google App Engine APIs
 Automatically con鍖gures and deploys cloud
infrastructures to run your application
includes database deployment
15
 Supported Datastores as of AppScale 1.4:
 HBase, Hypertable
 MySQL
 Cassandra,Voldemort, Scalaris
 MongoDB
 MemcacheDB
 Amazon SimpleDB
16
17
Not Good Enough
 AppScale / GAE solve the problem for
Python and Java
 But only with certain APIs
 And with certain restrictions
 Need something general purpose
All languages, no restrictions
18
But how do we test it?
 Cassandra 0.5.0 / MemcacheDB 1.2.1硫
 Place 1000 items in the database and time:
 Get, put, query, delete operations
 Nine accessor threads
 Standard deployment model
19
20
21
22
A different type of test
 Workload model
 10000 random operations selected
 50/30/20 get/put/query ratio
 Constrained to 16 nodes
 Performed on initially empty database
23
24
25
26
Future Work
 Performance impact of:
 Cache size
 Millions of items in DB
 Overhead of Active Cloud DB
 Transaction support
27
Related Work
 BigTable as a Web Service
 Not open source, HBase-like API
 Yahoo Cloud Serving Benchmark[SOCC10]
 Doesnt run applications
 No automation - you set up the DB,
you set up the schemas, etc.
28
Active Cloud DB is
Open for Business
 Open source - free to use
 Customize your own batch test or
workload test
 Access it via any programming language
 Bookstore applications included
29
Thanks!
 Download Active Cloud DB and AppScale:
 http://appscale.cs.ucsb.edu
 To my advisor, Chandra Krintz
 To the AppScale team, especially co-lead
Navraj Chohan
30

More Related Content

What's hot (20)

Tech Talk on Autoscaling in Apache Stratos
Tech Talk on Autoscaling in Apache StratosTech Talk on Autoscaling in Apache Stratos
Tech Talk on Autoscaling in Apache Stratos
Vishanth Bala
DevOpsCon Cloud Workshop
DevOpsCon Cloud Workshop DevOpsCon Cloud Workshop
DevOpsCon Cloud Workshop
Sascha M旦llering
Sas 2015 event_driven
Sas 2015 event_drivenSas 2015 event_driven
Sas 2015 event_driven
Sascha M旦llering
Docker in the Cloud
Docker in the CloudDocker in the Cloud
Docker in the Cloud
Sascha M旦llering
StreamSQL Feature Store (Apache Pulsar Summit)
StreamSQL Feature Store (Apache Pulsar Summit)StreamSQL Feature Store (Apache Pulsar Summit)
StreamSQL Feature Store (Apache Pulsar Summit)
Simba Khadder
Serverless data processing with Data Pipeline
Serverless data processing with Data PipelineServerless data processing with Data Pipeline
Serverless data processing with Data Pipeline
Radek Miazio
Kafka for Microservices You absolutely need Avro Schemas! | Gerardo Gutierr...
Kafka for Microservices  You absolutely need Avro Schemas! | Gerardo Gutierr...Kafka for Microservices  You absolutely need Avro Schemas! | Gerardo Gutierr...
Kafka for Microservices You absolutely need Avro Schemas! | Gerardo Gutierr...
HostedbyConfluent
Containerised ASP.NET Core apps with Kubernetes
Containerised ASP.NET Core apps with KubernetesContainerised ASP.NET Core apps with Kubernetes
Containerised ASP.NET Core apps with Kubernetes
Codemotion Tel Aviv
Heterogeneous Workflows With Spark At Netflix
Heterogeneous Workflows With Spark At NetflixHeterogeneous Workflows With Spark At Netflix
Heterogeneous Workflows With Spark At Netflix
Jen Aman
NLUUG print conference May 26 2016
NLUUG print conference May 26 2016NLUUG print conference May 26 2016
NLUUG print conference May 26 2016
Igmar Palsenberg
AWS ELB Tips & Best Practices
AWS ELB Tips & Best PracticesAWS ELB Tips & Best Practices
AWS ELB Tips & Best Practices
ChinaNetCloud
Amazon EC2 to Amazon VPC: A case study
Amazon EC2 to Amazon VPC: A case studyAmazon EC2 to Amazon VPC: A case study
Amazon EC2 to Amazon VPC: A case study
Matthew Barlocker
(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014
(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014
(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014
Amazon Web Services
Fullstack DDD with ASP.NET Core and Anguar 2 - Ronald Harmsen, NForza
Fullstack DDD with ASP.NET Core and Anguar 2 - Ronald Harmsen, NForzaFullstack DDD with ASP.NET Core and Anguar 2 - Ronald Harmsen, NForza
Fullstack DDD with ASP.NET Core and Anguar 2 - Ronald Harmsen, NForza
Codemotion Tel Aviv
Journey towards serverless infrastructure
Journey towards serverless infrastructureJourney towards serverless infrastructure
Journey towards serverless infrastructure
Ville Sepp辰nen
Building a PaaS with Docker and AWS
Building a PaaS with Docker and AWSBuilding a PaaS with Docker and AWS
Building a PaaS with Docker and AWS
Amazon Web Services
Zeppelin meetup 2016 madrid
Zeppelin meetup 2016 madridZeppelin meetup 2016 madrid
Zeppelin meetup 2016 madrid
Jongyoul Lee
Five Years of EC2 Distilled
Five Years of EC2 DistilledFive Years of EC2 Distilled
Five Years of EC2 Distilled
Grig Gheorghiu
Maximizing Audience Engagement in Media Delivery (MED303) | AWS re:Invent 2013
Maximizing Audience Engagement in Media Delivery (MED303) | AWS re:Invent 2013Maximizing Audience Engagement in Media Delivery (MED303) | AWS re:Invent 2013
Maximizing Audience Engagement in Media Delivery (MED303) | AWS re:Invent 2013
Amazon Web Services
Stacktician - CloudStack Collab Conference 2014
Stacktician - CloudStack Collab Conference 2014Stacktician - CloudStack Collab Conference 2014
Stacktician - CloudStack Collab Conference 2014
amoghvk
Tech Talk on Autoscaling in Apache Stratos
Tech Talk on Autoscaling in Apache StratosTech Talk on Autoscaling in Apache Stratos
Tech Talk on Autoscaling in Apache Stratos
Vishanth Bala
StreamSQL Feature Store (Apache Pulsar Summit)
StreamSQL Feature Store (Apache Pulsar Summit)StreamSQL Feature Store (Apache Pulsar Summit)
StreamSQL Feature Store (Apache Pulsar Summit)
Simba Khadder
Serverless data processing with Data Pipeline
Serverless data processing with Data PipelineServerless data processing with Data Pipeline
Serverless data processing with Data Pipeline
Radek Miazio
Kafka for Microservices You absolutely need Avro Schemas! | Gerardo Gutierr...
Kafka for Microservices  You absolutely need Avro Schemas! | Gerardo Gutierr...Kafka for Microservices  You absolutely need Avro Schemas! | Gerardo Gutierr...
Kafka for Microservices You absolutely need Avro Schemas! | Gerardo Gutierr...
HostedbyConfluent
Containerised ASP.NET Core apps with Kubernetes
Containerised ASP.NET Core apps with KubernetesContainerised ASP.NET Core apps with Kubernetes
Containerised ASP.NET Core apps with Kubernetes
Codemotion Tel Aviv
Heterogeneous Workflows With Spark At Netflix
Heterogeneous Workflows With Spark At NetflixHeterogeneous Workflows With Spark At Netflix
Heterogeneous Workflows With Spark At Netflix
Jen Aman
NLUUG print conference May 26 2016
NLUUG print conference May 26 2016NLUUG print conference May 26 2016
NLUUG print conference May 26 2016
Igmar Palsenberg
AWS ELB Tips & Best Practices
AWS ELB Tips & Best PracticesAWS ELB Tips & Best Practices
AWS ELB Tips & Best Practices
ChinaNetCloud
Amazon EC2 to Amazon VPC: A case study
Amazon EC2 to Amazon VPC: A case studyAmazon EC2 to Amazon VPC: A case study
Amazon EC2 to Amazon VPC: A case study
Matthew Barlocker
(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014
(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014
(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014
Amazon Web Services
Fullstack DDD with ASP.NET Core and Anguar 2 - Ronald Harmsen, NForza
Fullstack DDD with ASP.NET Core and Anguar 2 - Ronald Harmsen, NForzaFullstack DDD with ASP.NET Core and Anguar 2 - Ronald Harmsen, NForza
Fullstack DDD with ASP.NET Core and Anguar 2 - Ronald Harmsen, NForza
Codemotion Tel Aviv
Journey towards serverless infrastructure
Journey towards serverless infrastructureJourney towards serverless infrastructure
Journey towards serverless infrastructure
Ville Sepp辰nen
Building a PaaS with Docker and AWS
Building a PaaS with Docker and AWSBuilding a PaaS with Docker and AWS
Building a PaaS with Docker and AWS
Amazon Web Services
Zeppelin meetup 2016 madrid
Zeppelin meetup 2016 madridZeppelin meetup 2016 madrid
Zeppelin meetup 2016 madrid
Jongyoul Lee
Five Years of EC2 Distilled
Five Years of EC2 DistilledFive Years of EC2 Distilled
Five Years of EC2 Distilled
Grig Gheorghiu
Maximizing Audience Engagement in Media Delivery (MED303) | AWS re:Invent 2013
Maximizing Audience Engagement in Media Delivery (MED303) | AWS re:Invent 2013Maximizing Audience Engagement in Media Delivery (MED303) | AWS re:Invent 2013
Maximizing Audience Engagement in Media Delivery (MED303) | AWS re:Invent 2013
Amazon Web Services
Stacktician - CloudStack Collab Conference 2014
Stacktician - CloudStack Collab Conference 2014Stacktician - CloudStack Collab Conference 2014
Stacktician - CloudStack Collab Conference 2014
amoghvk

Similar to Active Cloud DB at CloudComp '10 (20)

Adding GraphQL to your existing architecture
Adding GraphQL to your existing architectureAdding GraphQL to your existing architecture
Adding GraphQL to your existing architecture
Sashko Stubailo
Architecting Your First Big Data Implementation
Architecting Your First Big Data ImplementationArchitecting Your First Big Data Implementation
Architecting Your First Big Data Implementation
Adaryl "Bob" Wakefield, MBA
Technologies for Data Analytics Platform
Technologies for Data Analytics PlatformTechnologies for Data Analytics Platform
Technologies for Data Analytics Platform
N Masahiro
Service-Oriented Design and Implement with Rails3
Service-Oriented Design and Implement with Rails3Service-Oriented Design and Implement with Rails3
Service-Oriented Design and Implement with Rails3
Wen-Tien Chang
Why ruby and rails
Why ruby and railsWhy ruby and rails
Why ruby and rails
Reuven Lerner
Five Early Challenges Of Building Streaming Fast Data Applications
Five Early Challenges Of Building Streaming Fast Data ApplicationsFive Early Challenges Of Building Streaming Fast Data Applications
Five Early Challenges Of Building Streaming Fast Data Applications
Lightbend
Impala use case @ edge
Impala use case @ edgeImpala use case @ edge
Impala use case @ edge
Ram Kedem
Graph Day 2017 Spring Boot
Graph Day 2017 Spring BootGraph Day 2017 Spring Boot
Graph Day 2017 Spring Boot
Christopher Pounds
Intro to CakePHP
Intro to CakePHPIntro to CakePHP
Intro to CakePHP
Walther Lalk
PaaS with Java
PaaS with JavaPaaS with Java
PaaS with Java
Eberhard Wolff
Demystifying data engineering
Demystifying data engineeringDemystifying data engineering
Demystifying data engineering
Thang Bui (Bob)
Workflow Engines for Hadoop
Workflow Engines for HadoopWorkflow Engines for Hadoop
Workflow Engines for Hadoop
Joe Crobak
Top 7 mistakes
Top 7 mistakesTop 7 mistakes
Top 7 mistakes
Talbott Crowell
12-Step Program for Scaling Web Applications on PostgreSQL
12-Step Program for Scaling Web Applications on PostgreSQL12-Step Program for Scaling Web Applications on PostgreSQL
12-Step Program for Scaling Web Applications on PostgreSQL
Konstantin Gredeskoul
Dropping ACID: Wrapping Your Mind Around NoSQL Databases
Dropping ACID: Wrapping Your Mind Around NoSQL DatabasesDropping ACID: Wrapping Your Mind Around NoSQL Databases
Dropping ACID: Wrapping Your Mind Around NoSQL Databases
Kyle Banerjee
Building FoundationDB
Building FoundationDBBuilding FoundationDB
Building FoundationDB
FoundationDB
Bi on Big Data - Strata 2016 in London
Bi on Big Data - Strata 2016 in LondonBi on Big Data - Strata 2016 in London
Bi on Big Data - Strata 2016 in London
Dremio Corporation
Designing your API Server for mobile apps
Designing your API Server for mobile appsDesigning your API Server for mobile apps
Designing your API Server for mobile apps
Mugunth Kumar
Is Serverless The New Swiss Cheese? - AWS Seattle User Group
Is Serverless The New Swiss Cheese? - AWS Seattle User GroupIs Serverless The New Swiss Cheese? - AWS Seattle User Group
Is Serverless The New Swiss Cheese? - AWS Seattle User Group
Chase Douglas
MySQL in the Hosted Cloud
MySQL in the Hosted CloudMySQL in the Hosted Cloud
MySQL in the Hosted Cloud
Colin Charles
Adding GraphQL to your existing architecture
Adding GraphQL to your existing architectureAdding GraphQL to your existing architecture
Adding GraphQL to your existing architecture
Sashko Stubailo
Architecting Your First Big Data Implementation
Architecting Your First Big Data ImplementationArchitecting Your First Big Data Implementation
Architecting Your First Big Data Implementation
Adaryl "Bob" Wakefield, MBA
Technologies for Data Analytics Platform
Technologies for Data Analytics PlatformTechnologies for Data Analytics Platform
Technologies for Data Analytics Platform
N Masahiro
Service-Oriented Design and Implement with Rails3
Service-Oriented Design and Implement with Rails3Service-Oriented Design and Implement with Rails3
Service-Oriented Design and Implement with Rails3
Wen-Tien Chang
Why ruby and rails
Why ruby and railsWhy ruby and rails
Why ruby and rails
Reuven Lerner
Five Early Challenges Of Building Streaming Fast Data Applications
Five Early Challenges Of Building Streaming Fast Data ApplicationsFive Early Challenges Of Building Streaming Fast Data Applications
Five Early Challenges Of Building Streaming Fast Data Applications
Lightbend
Impala use case @ edge
Impala use case @ edgeImpala use case @ edge
Impala use case @ edge
Ram Kedem
Intro to CakePHP
Intro to CakePHPIntro to CakePHP
Intro to CakePHP
Walther Lalk
Demystifying data engineering
Demystifying data engineeringDemystifying data engineering
Demystifying data engineering
Thang Bui (Bob)
Workflow Engines for Hadoop
Workflow Engines for HadoopWorkflow Engines for Hadoop
Workflow Engines for Hadoop
Joe Crobak
12-Step Program for Scaling Web Applications on PostgreSQL
12-Step Program for Scaling Web Applications on PostgreSQL12-Step Program for Scaling Web Applications on PostgreSQL
12-Step Program for Scaling Web Applications on PostgreSQL
Konstantin Gredeskoul
Dropping ACID: Wrapping Your Mind Around NoSQL Databases
Dropping ACID: Wrapping Your Mind Around NoSQL DatabasesDropping ACID: Wrapping Your Mind Around NoSQL Databases
Dropping ACID: Wrapping Your Mind Around NoSQL Databases
Kyle Banerjee
Building FoundationDB
Building FoundationDBBuilding FoundationDB
Building FoundationDB
FoundationDB
Bi on Big Data - Strata 2016 in London
Bi on Big Data - Strata 2016 in LondonBi on Big Data - Strata 2016 in London
Bi on Big Data - Strata 2016 in London
Dremio Corporation
Designing your API Server for mobile apps
Designing your API Server for mobile appsDesigning your API Server for mobile apps
Designing your API Server for mobile apps
Mugunth Kumar
Is Serverless The New Swiss Cheese? - AWS Seattle User Group
Is Serverless The New Swiss Cheese? - AWS Seattle User GroupIs Serverless The New Swiss Cheese? - AWS Seattle User Group
Is Serverless The New Swiss Cheese? - AWS Seattle User Group
Chase Douglas
MySQL in the Hosted Cloud
MySQL in the Hosted CloudMySQL in the Hosted Cloud
MySQL in the Hosted Cloud
Colin Charles

Recently uploaded (20)

Spin Glass Models of Neural Networks: The Curie-Weiss Model from Statistical ...
Spin Glass Models of Neural Networks: The Curie-Weiss Model from Statistical ...Spin Glass Models of Neural Networks: The Curie-Weiss Model from Statistical ...
Spin Glass Models of Neural Networks: The Curie-Weiss Model from Statistical ...
Charles Martin
Tesla strategy for development in modern era.pptx
Tesla strategy for development in modern era.pptxTesla strategy for development in modern era.pptx
Tesla strategy for development in modern era.pptx
hibahassan160702
Salesforce Welly March 2025User Group Meeting
Salesforce Welly March 2025User Group MeetingSalesforce Welly March 2025User Group Meeting
Salesforce Welly March 2025User Group Meeting
Anna Loughnan Colquhoun
Think Like and Architect Series: Session 1 of 9 Declarative Design
Think Like and Architect Series: Session 1 of 9 Declarative DesignThink Like and Architect Series: Session 1 of 9 Declarative Design
Think Like and Architect Series: Session 1 of 9 Declarative Design
Walter Spinrad
[QUICK TALK] "Why Some Teams Grow Better Under Pressure", Oleksandr Marchenko...
[QUICK TALK] "Why Some Teams Grow Better Under Pressure", Oleksandr Marchenko...[QUICK TALK] "Why Some Teams Grow Better Under Pressure", Oleksandr Marchenko...
[QUICK TALK] "Why Some Teams Grow Better Under Pressure", Oleksandr Marchenko...
Fwdays
"Conflicts within a Team: Not an Enemy, But an Opportunity for Growth", Orest...
"Conflicts within a Team: Not an Enemy, But an Opportunity for Growth", Orest..."Conflicts within a Team: Not an Enemy, But an Opportunity for Growth", Orest...
"Conflicts within a Team: Not an Enemy, But an Opportunity for Growth", Orest...
Fwdays
vLLM: High-performance serving of LLMs using open-source technology
vLLM: High-performance serving of LLMs using open-source technologyvLLM: High-performance serving of LLMs using open-source technology
vLLM: High-performance serving of LLMs using open-source technology
AI Infra Forum
"Scaling Product Mindset: From Individual Ideas to Team Culture", Oksana Holu...
"Scaling Product Mindset: From Individual Ideas to Team Culture", Oksana Holu..."Scaling Product Mindset: From Individual Ideas to Team Culture", Oksana Holu...
"Scaling Product Mindset: From Individual Ideas to Team Culture", Oksana Holu...
Fwdays
[QUICK TALK] "Coaching 101: How to Identify and Develop Your Leadership Quali...
[QUICK TALK] "Coaching 101: How to Identify and Develop Your Leadership Quali...[QUICK TALK] "Coaching 101: How to Identify and Develop Your Leadership Quali...
[QUICK TALK] "Coaching 101: How to Identify and Develop Your Leadership Quali...
Fwdays
AI Agents, such as Autogen at Tide Sprint
AI Agents, such as Autogen at Tide SprintAI Agents, such as Autogen at Tide Sprint
AI Agents, such as Autogen at Tide Sprint
Nathan Bijnens
UiPath Automation Developer Associate Training Series 2025 - Session 6
UiPath Automation Developer Associate Training Series 2025 - Session 6UiPath Automation Developer Associate Training Series 2025 - Session 6
UiPath Automation Developer Associate Training Series 2025 - Session 6
DianaGray10
UiPath NY AI Series: Session 2: UiPath Generative AI Capabilities
UiPath NY AI Series: Session 2: UiPath Generative AI CapabilitiesUiPath NY AI Series: Session 2: UiPath Generative AI Capabilities
UiPath NY AI Series: Session 2: UiPath Generative AI Capabilities
DianaGray10
Global AI Bootcamp 2025 - Sydney - Model Agnostic AI Implementation
Global  AI Bootcamp 2025 - Sydney - Model Agnostic AI ImplementationGlobal  AI Bootcamp 2025 - Sydney - Model Agnostic AI Implementation
Global AI Bootcamp 2025 - Sydney - Model Agnostic AI Implementation
Anupam Ranku
WSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on Code
WSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on CodeWSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on Code
WSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on Code
WSO2
Benefits of Using Ultrasonic Level Transmitters for Control
Benefits of Using Ultrasonic Level Transmitters for ControlBenefits of Using Ultrasonic Level Transmitters for Control
Benefits of Using Ultrasonic Level Transmitters for Control
nikeson80
Large Language Models vs Small Language Models
Large Language Models vs Small Language ModelsLarge Language Models vs Small Language Models
Large Language Models vs Small Language Models
Nathan Bijnens
YEM Pay: A European man in a bank paying with YEM
YEM Pay: A European man in a bank paying with YEMYEM Pay: A European man in a bank paying with YEM
YEM Pay: A European man in a bank paying with YEM
Steve Hodgkiss
WSO2Con 2025 - Building Secure Customer Experience Apps
WSO2Con 2025 - Building Secure Customer Experience AppsWSO2Con 2025 - Building Secure Customer Experience Apps
WSO2Con 2025 - Building Secure Customer Experience Apps
WSO2
Digital Twins Transforming Logistics with AI & Cloud
Digital Twins  Transforming Logistics  with AI & CloudDigital Twins  Transforming Logistics  with AI & Cloud
Digital Twins Transforming Logistics with AI & Cloud
yashakhandelwal2
WSO2Con 2025 - Building AI Applications in the Enterprise (Part 1)
WSO2Con 2025 - Building AI Applications in the Enterprise (Part 1)WSO2Con 2025 - Building AI Applications in the Enterprise (Part 1)
WSO2Con 2025 - Building AI Applications in the Enterprise (Part 1)
WSO2
Spin Glass Models of Neural Networks: The Curie-Weiss Model from Statistical ...
Spin Glass Models of Neural Networks: The Curie-Weiss Model from Statistical ...Spin Glass Models of Neural Networks: The Curie-Weiss Model from Statistical ...
Spin Glass Models of Neural Networks: The Curie-Weiss Model from Statistical ...
Charles Martin
Tesla strategy for development in modern era.pptx
Tesla strategy for development in modern era.pptxTesla strategy for development in modern era.pptx
Tesla strategy for development in modern era.pptx
hibahassan160702
Salesforce Welly March 2025User Group Meeting
Salesforce Welly March 2025User Group MeetingSalesforce Welly March 2025User Group Meeting
Salesforce Welly March 2025User Group Meeting
Anna Loughnan Colquhoun
Think Like and Architect Series: Session 1 of 9 Declarative Design
Think Like and Architect Series: Session 1 of 9 Declarative DesignThink Like and Architect Series: Session 1 of 9 Declarative Design
Think Like and Architect Series: Session 1 of 9 Declarative Design
Walter Spinrad
[QUICK TALK] "Why Some Teams Grow Better Under Pressure", Oleksandr Marchenko...
[QUICK TALK] "Why Some Teams Grow Better Under Pressure", Oleksandr Marchenko...[QUICK TALK] "Why Some Teams Grow Better Under Pressure", Oleksandr Marchenko...
[QUICK TALK] "Why Some Teams Grow Better Under Pressure", Oleksandr Marchenko...
Fwdays
"Conflicts within a Team: Not an Enemy, But an Opportunity for Growth", Orest...
"Conflicts within a Team: Not an Enemy, But an Opportunity for Growth", Orest..."Conflicts within a Team: Not an Enemy, But an Opportunity for Growth", Orest...
"Conflicts within a Team: Not an Enemy, But an Opportunity for Growth", Orest...
Fwdays
vLLM: High-performance serving of LLMs using open-source technology
vLLM: High-performance serving of LLMs using open-source technologyvLLM: High-performance serving of LLMs using open-source technology
vLLM: High-performance serving of LLMs using open-source technology
AI Infra Forum
"Scaling Product Mindset: From Individual Ideas to Team Culture", Oksana Holu...
"Scaling Product Mindset: From Individual Ideas to Team Culture", Oksana Holu..."Scaling Product Mindset: From Individual Ideas to Team Culture", Oksana Holu...
"Scaling Product Mindset: From Individual Ideas to Team Culture", Oksana Holu...
Fwdays
[QUICK TALK] "Coaching 101: How to Identify and Develop Your Leadership Quali...
[QUICK TALK] "Coaching 101: How to Identify and Develop Your Leadership Quali...[QUICK TALK] "Coaching 101: How to Identify and Develop Your Leadership Quali...
[QUICK TALK] "Coaching 101: How to Identify and Develop Your Leadership Quali...
Fwdays
AI Agents, such as Autogen at Tide Sprint
AI Agents, such as Autogen at Tide SprintAI Agents, such as Autogen at Tide Sprint
AI Agents, such as Autogen at Tide Sprint
Nathan Bijnens
UiPath Automation Developer Associate Training Series 2025 - Session 6
UiPath Automation Developer Associate Training Series 2025 - Session 6UiPath Automation Developer Associate Training Series 2025 - Session 6
UiPath Automation Developer Associate Training Series 2025 - Session 6
DianaGray10
UiPath NY AI Series: Session 2: UiPath Generative AI Capabilities
UiPath NY AI Series: Session 2: UiPath Generative AI CapabilitiesUiPath NY AI Series: Session 2: UiPath Generative AI Capabilities
UiPath NY AI Series: Session 2: UiPath Generative AI Capabilities
DianaGray10
Global AI Bootcamp 2025 - Sydney - Model Agnostic AI Implementation
Global  AI Bootcamp 2025 - Sydney - Model Agnostic AI ImplementationGlobal  AI Bootcamp 2025 - Sydney - Model Agnostic AI Implementation
Global AI Bootcamp 2025 - Sydney - Model Agnostic AI Implementation
Anupam Ranku
WSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on Code
WSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on CodeWSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on Code
WSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on Code
WSO2
Benefits of Using Ultrasonic Level Transmitters for Control
Benefits of Using Ultrasonic Level Transmitters for ControlBenefits of Using Ultrasonic Level Transmitters for Control
Benefits of Using Ultrasonic Level Transmitters for Control
nikeson80
Large Language Models vs Small Language Models
Large Language Models vs Small Language ModelsLarge Language Models vs Small Language Models
Large Language Models vs Small Language Models
Nathan Bijnens
YEM Pay: A European man in a bank paying with YEM
YEM Pay: A European man in a bank paying with YEMYEM Pay: A European man in a bank paying with YEM
YEM Pay: A European man in a bank paying with YEM
Steve Hodgkiss
WSO2Con 2025 - Building Secure Customer Experience Apps
WSO2Con 2025 - Building Secure Customer Experience AppsWSO2Con 2025 - Building Secure Customer Experience Apps
WSO2Con 2025 - Building Secure Customer Experience Apps
WSO2
Digital Twins Transforming Logistics with AI & Cloud
Digital Twins  Transforming Logistics  with AI & CloudDigital Twins  Transforming Logistics  with AI & Cloud
Digital Twins Transforming Logistics with AI & Cloud
yashakhandelwal2
WSO2Con 2025 - Building AI Applications in the Enterprise (Part 1)
WSO2Con 2025 - Building AI Applications in the Enterprise (Part 1)WSO2Con 2025 - Building AI Applications in the Enterprise (Part 1)
WSO2Con 2025 - Building AI Applications in the Enterprise (Part 1)
WSO2

Active Cloud DB at CloudComp '10

  • 1. Active Cloud DB:A RESTful Software-as-a-Service for Language Agnostic Access to Distributed Datastores Chris Bunch Jonathan Kupferman Chandra Krintz Wednesday, October 27, 2010 CloudComp 2010 1
  • 2. Whos Using NoSQL? 2 and many others!
  • 3. Do ItYourself! Pick a datastore Learn how the interfaces SHOULD work Learn how the interfaces REALLY work Migrate to a non-relational data model each of these are non-trivial! 3
  • 4. Trouble in Paradise 4 (at least theyre honest about it)
  • 5. The Problem No way to compare databases with real applications No standard on what a real test is Too many variables in the equation Topology, query language, data model, APIs, consistency settings (to name a few) 5
  • 6. You Need A Better Way Need a platform to: Easily evaluate datastores Quickly evaluate datastores Evaluate datastores on similar metrics 6
  • 7. Our Contribution Active Cloud DB:A Google App Engine app that exposes the DB via REST Exposes string key/value DB Speed up repeated operations via caching Works on Google or AppScale Free access to BigTable 7
  • 8. 8
  • 9. Realistically Speaking One test takes ~ 2 hours In one day at work you could generate a graph comparing: HBase Cassandra Google BigTable Amazon SimpleDB 9
  • 10. RESTful Interface GET /resources/key get POST /resources/key (with value) put DELETE /resources/key delete GET /resources query (get all) 10
  • 11. Caching Support Leverages Memcache API / memcached Provides a Least-Recently-Used Cache Write-through caching strategy - all puts / deletes are written to the cache Generational caching strategy - queries use a generation number 11
  • 12. Bookstore App Four prototypes available that use Active Cloud DB: Ruby on Rails Ruby (through Sinatra) Python (via Django) Python (through web.py) 12
  • 13. 13
  • 14. The Actual Code With BigTable: val = `curl -X GET http://your- app.appspot.com/resources/#{key}` Or in AppScale: val = `curl -X GET http:// 128.111.55.223:8080/resources/#{key}` 14
  • 15. Originally presented at CloudComp 2009 An open-source implementation of the Google App Engine APIs Automatically con鍖gures and deploys cloud infrastructures to run your application includes database deployment 15
  • 16. Supported Datastores as of AppScale 1.4: HBase, Hypertable MySQL Cassandra,Voldemort, Scalaris MongoDB MemcacheDB Amazon SimpleDB 16
  • 17. 17
  • 18. Not Good Enough AppScale / GAE solve the problem for Python and Java But only with certain APIs And with certain restrictions Need something general purpose All languages, no restrictions 18
  • 19. But how do we test it? Cassandra 0.5.0 / MemcacheDB 1.2.1硫 Place 1000 items in the database and time: Get, put, query, delete operations Nine accessor threads Standard deployment model 19
  • 20. 20
  • 21. 21
  • 22. 22
  • 23. A different type of test Workload model 10000 random operations selected 50/30/20 get/put/query ratio Constrained to 16 nodes Performed on initially empty database 23
  • 24. 24
  • 25. 25
  • 26. 26
  • 27. Future Work Performance impact of: Cache size Millions of items in DB Overhead of Active Cloud DB Transaction support 27
  • 28. Related Work BigTable as a Web Service Not open source, HBase-like API Yahoo Cloud Serving Benchmark[SOCC10] Doesnt run applications No automation - you set up the DB, you set up the schemas, etc. 28
  • 29. Active Cloud DB is Open for Business Open source - free to use Customize your own batch test or workload test Access it via any programming language Bookstore applications included 29
  • 30. Thanks! Download Active Cloud DB and AppScale: http://appscale.cs.ucsb.edu To my advisor, Chandra Krintz To the AppScale team, especially co-lead Navraj Chohan 30