Developing node-mdb. SimpleDB emulation using Node.js and GT.M
|
|
- Mary McKenzie
- 5 years ago
- Views:
Transcription
1 Developing node-mdb SimpleDB emulation using Node.js and GT.M Rob Tweed M/Gateway Developments Ltd
2 Could you translate that title? SimpleDB: Amazon s NoSQL cloud database Node.js: evented server-side Javascript (using V8) GT.M: Open source global-storage based NoSQL database node-mdb Open source emulation of SimpleDB
3 SimpleDB Amazon s cloud database Pay as you go Secure interface Schema-free NoSQL database Spreadsheet-like database model Domains (= tables) Items (= rows) Attributes (=cells)» Values (1+ per attribute allowed) SQL-like query API
4 Why emulate SimpleDB? Because I could! Kind of cool project
5 Why emulate SimpleDB? To provide a free, locally-available database that behaved identically to SimpleDB Lots of off-the-shelf available clients Standalone Bolso Mindscape s SimpleDB Management Tools Language-specific clients boto (Python) Official AWS clients for Java,.Net Node.js etc
6 Why emulate SimpleDB? To perform local tests prior to committing to production on SimpleDB To provide a live, local backup database A SimpleDB database for private clouds To provide an immediately-consistent SimpleDB database SimpleDB is eventually consistent
7 Why the GT.M database? I m familiar with it Free Open Source NoSQL database Schema-free Globals : Sparse persistent multi-dimensional arrays Hierarchical database Completely dynamic storage No pre-declaration or specification needed Result: trivial to model SimpleDB in globals node-mdb: Good way to demonstrate the capabilities of the otherwise littleknown GT.M More info Google: GT.M database universalnosql
8 Why write it using Node.js? M/DB originally written in late 2008 Implemented using GT.M s native scripting language (M) Apache + m_apache gateway to GT.M for interface I ve been working with Node.js for about a year now Rewriting M/DB in Javascript would make it more widely interesting and comprehensible Some performance issues reported with M/DB when being pushed hard
9 Why Node.js? Conclusion: Re-implementing M/DB using Node.js should provide better performance and scalability Fewer moving parts: Apache + m_apache + GT.M / multi-threaded Node.js + GT.M as child processes / single-thread Cool Node.js project to attempt Great example of non-trivial use of Node.js + database
10 How does SimpleDB work? Incoming SDB Request Security Key Id Secret Key SimpleDB Database Copy 1 Outgoing SDB Response Server Authenticate Request (HMacSHA) Error Generate Response Execute API Action Success and/or data/results SimpleDB SimpleDB Database SimpleDB Database Copy Database 2 Copy 2 Copy 2 SimpleDB Database Copy n
11 Node.js can emulate all this Incoming SDB Request Security Key Id Secret Key SimpleDB Database Copy 1 Outgoing SDB Response Server Authenticate Request (HMacSHA) Error Generate Response Execute API Action Success and/or data/results SimpleDB SimpleDB Database SimpleDB Database Copy Database 2 Copy 2 Copy 2 SimpleDB Database Copy n
12 GT.M can emulate this Incoming SDB Request Server Security Key Id Secret Key Authenticate Request Execute API Action SimpleDB Database Copy 1 Outgoing SDB Response Error Generate Response Success and/or data/results
13 Node.js characteristics Single threaded process Event loop Non-blocking I/O Asynchronous calls to functions that handle I/O Event-driven call-back functions when function completes Data fetched Data saved
14 Result: deeply nested call-backs Security Key Id Secret Key Server Authenticate Request Execute API Action Error Generate Response Success and/or data/results
15 Flattening the call-back nesting http.createserver(function(req,res) {..} var executeapi = function() { }; http server processsdbrequest() executeapi() sendresponse() var processsdbrequest = function() { };
16 Node.js Server http.createserver(function(request, response) { request.content = ''; request.on("data", function(chunk) { request.content += chunk; }); request.on("end", function(){ var SDB = {starttime: new Date().getTime(), request: request, response: response }; var urlobj = url.parse(request.url, true); if (request.method === 'POST') { SDB.nvps = parsecontent(request.content); } else { SDB.nvps = urlobj.query; } var uri = urlobj.pathname; if ((uri.indexof(sdburlpattern)!== -1) (uri.indexof(mdburlpattern)!== -1)) { processsdbrequest(sdb); } else { var uristring = ' + request.headers.host + request.url; var error = {code:'invaliduri', message: 'The URI ' + uristring + ' is not valid',status:400}; returnerror(sdb,error); } }); }).listen(httpport);
17 processsdbrequest() var processsdbrequest = function(sdb) { var accesskeyid = SDB.nvps.AWSAccessKeyId; if (!accesskeyid) { var error = {code:'authmissingfailure', message: 'AWS was not able to authenticate the request: access credentials are missing',status:403}; returnerror(sdb, error); } else { MDB.getGlobal('MDBUAF', ['keys', accesskeyid], function (error, results) { if (!error) { if (results.value!== '') { accesskey[accesskeyid] = results.value; validatesdbrequest(sdb, results.value); } else { var error = {code:'authmissingfailure', message: 'AWS was not able to authenticate the request: access credentials are missing',status:403}; returnerror(sdb, error); } } }); } };
18 validatesdbrequest() var validatesdbrequest = function(sdb, secretkey) { var type = HmacSHA256 ; var stringtosign = createstringtosign(sdb, true); var hash = digest(stringtosign, secretkey, type); if (hash === SDB.nvps.Signature) { processsdbaction(sdb); } else { errorresponse('signaturedoesnotmatch', SDB) } };
19 stringtosign() POST{lf} :8081{lf} /{lf} AWSAccessKeyId=rob&Action=ListDomains& MaxNumberOfDomains=100&SignatureMethod=HmacSHA1& SignatureVersion=2& Timestamp= T22%3A39%3A30%2 B00%3A00& Version= ie: reconstruct the same string that the SDB client used to sign the request then use rob s secret key to sign it:
20 digest() var crypto = require("crypto"); var digest = function(string, secretkey, type) { var hmac = crypto.createhmac(type, secretkey); hmac.update(string); return hmac.digest('base64'); };
21 Ready to execute an API! Incoming SDB Request Security Key Id Secret Key SimpleDB Database Copy 1 Outgoing SDB Response Server Authenticate Request Error Generate Response Execute API Action Success and/or data/results SimpleDB SimpleDB Database SimpleDB Database Copy Database 2 Copy 2 Copy 2 SimpleDB Database Copy n
22 SimpleDB APIs (Actions) CreateDomain ListDomains DeleteDomain PutAttributes GetAttributes DeleteAttributes Select DomainMetaData (BatchPutAttributes) (BatchDeleteAttributes)
23 Accessing the GT.M Database Accessed via node-mwire TCP-based wire protocol Extension of Redis protocol Adapted redis-node module APIs allow you to set/get/delete/edit Globals
24 GT.M Globals Globals = unit of persistent storage Schema-free Hierarchically structured Sparse Dynamic persistent associative array
25 GT.M Globals A Global has: A name 0, 1 or more subscripts String value globalname[subscript1,subscript2,..subscriptn]=value
26 SDB Domain in Globals CreateDomain AWSAccessKeyId = rob DomainName = books
27 Multiple Domains in Globals name books 1 created domains modified name accounts 2 created MDB rob modified domainindex books 1 accounts 2
28 Creating a new domain (1) increment() 1 name books created domains modified MDB rob domainindex books 1
29 Creating a new domain (2) setglobal() 1 name books created domains modified name accounts 2 created MDB rob modified domainindex books 1 accounts 2
30 Key Node.js async patterns for db I/O Dependent pattern: Can t set the global nodes until the value of the increment() is returned Parallel pattern: Global nodes can be created in parallel No interdependence BUT: Need to know when they re all completed
31 Dependent pattern name books 1 created domains modified MDB rob IncrBy MDB.increment([accessKeyId, 'domains'], 1, function (error, results) { var id = results.value; //.now create the other global nodes inside callback });
32 Dependent pattern name books 1 created domains modified MDB rob MDB.increment([accessKeyId, 'domains'], 1, function (error, results) { var id = results.value; //.now create the other global nodes inside callback });
33 Parallel Pattern (semaphore) var count = 0; MDB.setGlobal([accessKeyId, 'domains', id, 'name'], domainname, function (error, results) { count++; if (count === 4) sendcreatedomainresponse(count, SDB); }); MDB.setGlobal([accessKeyId, 'domains', id, 'created'], now, function (error, results) { count++; if (count === 4) sendcreatedomainresponse(count, SDB); }); MDB.setGlobal([accessKeyId, 'domains', id, 'modified'], now, function (error, results) { count++; if (count === 4) sendcreatedomainresponse(count, SDB); }); MDB.setGlobal([accessKeyId, 'domainindex', nameindex, id], '', function (error, results) { count++; if (count === 4) sendcreatedomainresponse(count, SDB); });
34 New domain nodes created name books 1 created domains modified name accounts 2 created MDB rob modified domainindex books 1 accounts 2
35 Send CreateDomain Response Incoming SDB Request Security Key Id Secret Key SimpleDB Database Copy 1 Outgoing SDB Response Server Authenticate Request Error Generate Response Execute API Action Success and/or data/results SimpleDB SimpleDB Database SimpleDB Database Copy Database 2 Copy 2 Copy 2 SimpleDB Database Copy n
36 CreateDomain Response <?xml version="1.0"?> <CreateDomainResponse xmlns=" <ResponseMetadata> <RequestID>e4e9fa45-f9dc-4e5b-8f0a-777acce6505e</RequestID> <BoxUsage> </BoxUsage> </ResponseMetadata> </CreateDomainResponse> var okresponse = function(sdb) { var nvps = SDB.nvps; var xml = responsestart({action: nvps.action, version: nvps.version}); xml = xml + responseend(nvps.action, SDB.startTime, false); responseheader(200, SDB.response); SDB.response.write(xml); SDB.response.end(); };
37 Node.js Server Response http.createserver(function(request, response) { // numerous call-backs deep: }); response.writehead(status, { "Server": "Amazon SimpleDB", "Content-Type": "text/xml", "Date": datenow.toutcstring()}); response.write('<?xml version="1.0"?>\n'); response.write(xml); response.end(); Entire request/response SDB round-trip completed
38 Demo using Bolso List Domains Create Domain Add an item (row) and some attributes (columns + cells)
39 Node.js Gotchas Async programming is not immediately intuitive! Loops Calling functions that use call-backs inside a for..in loop will go horribly wrong! Understanding closures How externally-defined variables can be used inside call-back functions
40 Example BatchPutAttributes Intuitively a for.. in loop around PutAttributes Had to be serialised Completion of one PutAttributes calls the next Copy state of SDB object and use for..in? var SDBx = SDB; SDBx is a pointer to SDB, not a clone of it!
41 Conclusions node-mdb is now nearly complete Only BatchDeleteAttributes not implemented Other APIs emulate SimpleDB 100% Free Open Source Give it a try! Use mdb.js for examples to build your own Node.js database applications Check out GT.M! Follow me on Twitter Slides:
EWD.js on FHIR. Rob Tweed M/Gateway Developments Ltd. Wednesday, 12 March 14
on FHIR Rob Tweed M/Gateway Developments Ltd Twitter: @rtweed Email: rtweed@mgateway.com http://www.mgateway.com Architecture Caché Or GT.M Architecture Mumps: - Language - Database Caché Or GT.M Architecture
More informationEWD Lite. Rob Tweed M/Gateway Developments Ltd. Tuesday, 16 July 13
EWD Lite Rob Tweed M/Gateway Developments Ltd Twitter: @rtweed Email: rtweed@mgateway.com 1 EWD Lite Background, History and Aims Underlying Technology & Architecture Comparison with classic EWD Benefits
More informationAWS Lambda + nodejs Hands-On Training
AWS Lambda + nodejs Hands-On Training (4 Days) Course Description & High Level Contents AWS Lambda is changing the way that we build systems in the cloud. This new compute service in the cloud runs your
More informationA NoSQL Introduction for Relational Database Developers. Andrew Karcher Las Vegas SQL Saturday September 12th, 2015
A NoSQL Introduction for Relational Database Developers Andrew Karcher Las Vegas SQL Saturday September 12th, 2015 About Me http://www.andrewkarcher.com Twitter: @akarcher LinkedIn, Twitter Email: akarcher@gmail.com
More informationAmazon SimpleDB Developer Guide
P U B L I S H I N G professional expertise distilled Amazon SimpleDB Developer Guide Prabhakar Chaganti Rich Helms Chapter No.8 "Tuning and Usage Costs" In this package, you will find: A Biography of the
More informationthis presentation code is on https://github.com/gabrielelana/node-examples
this presentation code is on https://github.com/gabrielelana/node-examples gabriele lana gabriele.lana@cleancode.it twitter: @gabrielelana this presentation code is on https://github.com/gabrielelana/node-examples
More informationIntroduction to NoSQL Databases
Introduction to NoSQL Databases Roman Kern KTI, TU Graz 2017-10-16 Roman Kern (KTI, TU Graz) Dbase2 2017-10-16 1 / 31 Introduction Intro Why NoSQL? Roman Kern (KTI, TU Graz) Dbase2 2017-10-16 2 / 31 Introduction
More informationNoSQL systems. Lecture 21 (optional) Instructor: Sudeepa Roy. CompSci 516 Data Intensive Computing Systems
CompSci 516 Data Intensive Computing Systems Lecture 21 (optional) NoSQL systems Instructor: Sudeepa Roy Duke CS, Spring 2016 CompSci 516: Data Intensive Computing Systems 1 Key- Value Stores Duke CS,
More informationVistA: a first-class citizen in the JSON-centric future of Health IT
VistA: a first-class citizen in the JSON-centric future of Health IT Rob Tweed M/Gateway Developments Ltd @rtweed What is JSON? JavaScript Object Notation A simple and compact syntax for describing Objects
More informationWhat is Node.js? Tim Davis Director, The Turtle Partnership Ltd
What is Node.js? Tim Davis Director, The Turtle Partnership Ltd About me Co-founder of The Turtle Partnership Working with Notes and Domino for over 20 years Working with JavaScript technologies and frameworks
More informationScaling DreamFactory
Scaling DreamFactory This white paper is designed to provide information to enterprise customers about how to scale a DreamFactory Instance. The sections below talk about horizontal, vertical, and cloud
More informationAWS Lambda. 1.1 What is AWS Lambda?
Objectives Key objectives of this chapter Lambda Functions Use cases The programming model Lambda blueprints AWS Lambda 1.1 What is AWS Lambda? AWS Lambda lets you run your code written in a number of
More informationCS 498RK FALL RESTFUL APIs
CS 498RK FALL 2017 RESTFUL APIs Designing Restful Apis blog.mwaysolutions.com/2014/06/05/10-best-practices-for-better-restful-api/ www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api Resources
More informationflask-dynamo Documentation
flask-dynamo Documentation Release 0.1.2 Randall Degges January 22, 2018 Contents 1 User s Guide 3 1.1 Quickstart................................................ 3 1.2 Getting Help...............................................
More informationProgramming model and implementation for processing and. Programs can be automatically parallelized and executed on a large cluster of machines
A programming model in Cloud: MapReduce Programming model and implementation for processing and generating large data sets Users specify a map function to generate a set of intermediate key/value pairs
More informationMigrating from MySQL to Amazon SimpleDB
Contents Contents... 2 Introduction... 3 The Simple Customer Application... 3 Reasons for Migrating... 5 Migrating MySQL Schemas to Amazon SimpleDB... 6 Migration from a CRUD Perspective... 10 Creating
More informationEWD.js Architecture. Rob Tweed M/Gateway Developments Ltd. Saturday, 23 November 13
EWD.js Architecture Rob Tweed M/Gateway Developments Ltd Twitter: @rtweed Email: rtweed@mgateway.com EWD.js Architecture 2 EWD.js Architecture Child Process removed from available pool as soon as a request
More informationWindows Azure Mobile Services
Deliver Solutions, Deliver Careers, Deliver Results Windows Azure Mobile Services September 13, 2013 Today s Speaker @justintspradlin http://www.linkedin.com/in/justintspradlin Agenda Windows Azure Mobile
More informationMaking Sense of your Data
Making Sense of your Data Building A Custom DataSource for Grafana with Vert.x Gerald Mücke DevCon5 GmbH @gmuecke About me 3 IT Consultant & Java Specialist at DevCon5 (CH) Focal Areas Tool-assisted quality
More informationFuture Web App Technologies
Future Web App Technologies Mendel Rosenblum MEAN software stack Stack works but not the final say in web app technologies Angular.js Browser-side JavaScript framework HTML Templates with two-way binding
More informationExtra Notes - Data Stores & APIs - using MongoDB and native driver
Extra Notes - Data Stores & APIs - using MongoDB and native driver Dr Nick Hayward Contents intro install MongoDB running MongoDB using MongoDB Robo 3T basic intro to NoSQL connect to MongoDB from Node.js
More informationReactive Microservices Architecture on AWS
Reactive Microservices Architecture on AWS Sascha Möllering Solutions Architect, @sascha242, Amazon Web Services Germany GmbH Why are we here today? https://secure.flickr.com/photos/mgifford/4525333972
More informationHomework 8: Ajax, JSON and Responsive Design Travel and Entertainment Search (Bootstrap/Angular/AJAX/JSON/jQuery /Cloud Exercise)
Homework 8: Ajax, JSON and Responsive Design Travel and Entertainment Search (Bootstrap/Angular/AJAX/JSON/jQuery /Cloud Exercise) 1. Objectives Get familiar with the AJAX and JSON technologies Use a combination
More informationNODE.JS SERVER SIDE JAVASCRIPT. Introduc)on Node.js
NODE.JS SERVER SIDE JAVASCRIPT Introduc)on Node.js Node.js was created by Ryan Dahl starting in 2009. For more information visit: http://www.nodejs.org 1 What about Node.js? 1. JavaScript used in client-side
More informationA Review Of Non Relational Databases, Their Types, Advantages And Disadvantages
A Review Of Non Relational Databases, Their Types, Advantages And Disadvantages Harpreet kaur, Jaspreet kaur, Kamaljit kaur Student of M.Tech(CSE) Student of M.Tech(CSE) Assit.Prof.in CSE deptt. Sri Guru
More informationJargons, Concepts, Scope and Systems. Key Value Stores, Document Stores, Extensible Record Stores. Overview of different scalable relational systems
Jargons, Concepts, Scope and Systems Key Value Stores, Document Stores, Extensible Record Stores Overview of different scalable relational systems Examples of different Data stores Predictions, Comparisons
More informationStudy of NoSQL Database Along With Security Comparison
Study of NoSQL Database Along With Security Comparison Ankita A. Mall [1], Jwalant B. Baria [2] [1] Student, Computer Engineering Department, Government Engineering College, Modasa, Gujarat, India ank.fetr@gmail.com
More informationServerless Single Page Web Apps, Part Four. CSCI 5828: Foundations of Software Engineering Lecture 24 11/10/2016
Serverless Single Page Web Apps, Part Four CSCI 5828: Foundations of Software Engineering Lecture 24 11/10/2016 1 Goals Cover Chapter 4 of Serverless Single Page Web Apps by Ben Rady Present the issues
More informationAmazon AWS-Solution-Architect-Associate Exam
Volume: 858 Questions Question: 1 You are trying to launch an EC2 instance, however the instance seems to go into a terminated status immediately. What would probably not be a reason that this is happening?
More informationHomework 9: Stock Search Android App with Facebook Post A Mobile Phone Exercise
Homework 9: Stock Search Android App with Facebook Post A Mobile Phone Exercise 1. Objectives Ø Become familiar with Android Studio, Android App development and Facebook SDK for Android. Ø Build a good-looking
More informationNoSQL & Firebase. SWE 432, Fall Web Application Development
NoSQL & Firebase SWE 432, Fall 2018 Web Application Development Review: Nouns vs. Verbs URIs should hierarchically identify nouns describing resources that exist Verbs describing actions that can be taken
More informationSAMPLE CHAPTER. Event-driven serverless applications. Danilo Poccia. FOREWORD BY James Governor MANNING
SAMPLE CHAPTER Event-driven serverless applications Danilo Poccia FOREWORD BY James Governor MANNING in Action by Danilo Poccia Chapter 1 Copyright 2017 Manning Publications brief contents PART 1 FIRST
More informationIntroduction to Big Data. NoSQL Databases. Instituto Politécnico de Tomar. Ricardo Campos
Instituto Politécnico de Tomar Introduction to Big Data NoSQL Databases Ricardo Campos Mestrado EI-IC Análise e Processamento de Grandes Volumes de Dados Tomar, Portugal, 2016 Part of the slides used in
More informationCIT 668: System Architecture. Amazon Web Services
CIT 668: System Architecture Amazon Web Services Topics 1. AWS Global Infrastructure 2. Foundation Services 1. Compute 2. Storage 3. Database 4. Network 3. AWS Economics Amazon Services Architecture Regions
More informationAWS Lambda: Event-driven Code in the Cloud
AWS Lambda: Event-driven Code in the Cloud Dean Bryen, Solutions Architect AWS Andrew Wheat, Senior Software Engineer - BBC April 15, 2015 London, UK 2015, Amazon Web Services, Inc. or its affiliates.
More informationARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS Dr Adnene Guabtni, Senior Research Scientist, NICTA/Data61, CSIRO Adnene.Guabtni@csiro.au EC2 S3 ELB RDS AMI
More informationVarargs Training & Software Development Centre Private Limited, Module: HTML5, CSS3 & JavaScript
PHP Curriculum Module: HTML5, CSS3 & JavaScript Introduction to the Web o Explain the evolution of HTML o Explain the page structure used by HTML o List the drawbacks in HTML 4 and XHTML o List the new
More informationDatabase Evolution. DB NoSQL Linked Open Data. L. Vigliano
Database Evolution DB NoSQL Linked Open Data Requirements and features Large volumes of data..increasing No regular data structure to manage Relatively homogeneous elements among them (no correlation between
More informationTechnical Brief. A Checklist for Every API Call. Managing the Complete API Lifecycle
Technical Brief A Checklist for Table of Contents Introduction: The API Lifecycle 2 3 Security professionals API developers Operations engineers API product or business owners Apigee Edge 7 A Checklist
More informationFAQs. Business (CIP 2.2) AWS Market Place Troubleshooting and FAQ Guide
FAQs 1. What is the browser compatibility for logging into the TCS Connected Intelligence Data Lake for Business Portal? Please check whether you are using Mozilla Firefox 18 or above and Google Chrome
More informationSystems Integration in the Cloud Era. Kai Wähner, MaibornWolff et al GmbH
Systems Integration in the Cloud Era Kai Wähner, MaibornWolff et al GmbH Kai Wähner (MaibornWolff et al GmbH, Munich, Germany) Main Tasks Evaluation of Technologies and Products Requirements Engineering
More informationWe are ready to serve Latest Testing Trends, Are you ready to learn? New Batch Details
We are ready to serve Latest Testing Trends, Are you ready to learn? START DATE : New Batch Details TIMINGS : DURATION : TYPE OF BATCH : FEE : FACULTY NAME : LAB TIMINGS : SOAP UI, SOA Testing, API Testing,
More informationMaking Sense of your Data BUILDING A CUSTOM MONGODB DATASOURCE FOR GRAFANA WITH VERTX
1 Making Sense of your Data BUILDING A CUSTOM MONGODB DATASOURCE FOR GRAFANA WITH VERTX About me 2 IT Consultant & Java Specialist at DevCon5 (CH) Focal Areas Tool-assisted quality assurance Performance
More informationMiddle East Technical University. Jeren AKHOUNDI ( ) Ipek Deniz Demirtel ( ) Derya Nur Ulus ( ) CENG553 Database Management Systems
Middle East Technical University Jeren AKHOUNDI (1836345) Ipek Deniz Demirtel (1997691) Derya Nur Ulus (1899608) CENG553 Database Management Systems * Introduction to Cloud Computing * Cloud DataBase as
More informationWhat is database? Types and Examples
What is database? Types and Examples Visit our site for more information: www.examplanning.com Facebook Page: https://www.facebook.com/examplanning10/ Twitter: https://twitter.com/examplanning10 TABLE
More informationModule 6 Node.js and Socket.IO
Module 6 Node.js and Socket.IO Module 6 Contains 2 components Individual Assignment and Group Assignment Both are due on Wednesday November 15 th Read the WIKI before starting Portions of today s slides
More informationPart2: Let s pick one cloud IaaS middleware: OpenStack. Sergio Maffioletti
S3IT: Service and Support for Science IT Cloud middleware Part2: Let s pick one cloud IaaS middleware: OpenStack Sergio Maffioletti S3IT: Service and Support for Science IT, University of Zurich http://www.s3it.uzh.ch/
More informationDatabase Architectures
Database Architectures CPS352: Database Systems Simon Miner Gordon College Last Revised: 4/15/15 Agenda Check-in Parallelism and Distributed Databases Technology Research Project Introduction to NoSQL
More informationTopics. History. Architecture. MongoDB, Mongoose - RDBMS - SQL. - NoSQL
Databases Topics History - RDBMS - SQL Architecture - SQL - NoSQL MongoDB, Mongoose Persistent Data Storage What features do we want in a persistent data storage system? We have been using text files to
More informationAWS SDK for Node.js. Getting Started Guide Version pre.1 (developer preview)
AWS SDK for Node.js Getting Started Guide Amazon Web Services AWS SDK for Node.js: Getting Started Guide Amazon Web Services Copyright 2012 Amazon Web Services LLC or its affiliates. All rights reserved.
More informationUpload to your web space (e.g., UCSC) Due this Thursday 4/8 in class Deliverable: Send me an with the URL Grading:
CS 183 4/6/2010 Build a simple HTML page, topic of your choice Will use this as a basis and gradually and add more features as the class progresses Need to be done with your favorite text editor, no visual
More informationConfiguration Management. Norman Walsh, Lead Engineer 01 May 2012
Configuration Management Norman Walsh, Lead Engineer 01 May 2012 Introduction Motivation What is the current configuration of this cluster? Is this cluster the same as that one? How are they different?
More informationLab 2 Third Party API Integration, Cloud Deployment & Benchmarking
Lab 2 Third Party API Integration, Cloud Deployment & Benchmarking In lab 1, you have setup the web framework and the crawler. In this lab, you will complete the deployment flow for launching a web application
More informationSurvey of the Azure Data Landscape. Ike Ellis
Survey of the Azure Data Landscape Ike Ellis Wintellect Core Services Consulting Custom software application development and architecture Instructor Led Training Microsoft s #1 training vendor for over
More informationSAMPLE CHAPTER. Event-driven serverless applications. Danilo Poccia. FOREWORD BY James Governor MANNING
SAMPLE CHAPTER Event-driven serverless applications Danilo Poccia FOREWORD BY James Governor MANNING AWS Lambda in Action by Danilo Poccia Chapter 8 Copyright 2017 Manning Publications brief contents PART
More informationIERG 4080 Building Scalable Internet-based Services
Department of Information Engineering, CUHK MScIE 2 nd Semester, 2015/16 IERG 4080 Building Scalable Internet-based Services Lecture 9 Web Sockets for Real-time Communications Lecturer: Albert C. M. Au
More informationAzure Development Course
Azure Development Course About This Course This section provides a brief description of the course, audience, suggested prerequisites, and course objectives. COURSE DESCRIPTION This course is intended
More informationDATABASE SYSTEMS. Database programming in a web environment. Database System Course, 2016
DATABASE SYSTEMS Database programming in a web environment Database System Course, 2016 AGENDA FOR TODAY Advanced Mysql More than just SELECT Creating tables MySQL optimizations: Storage engines, indexing.
More informationPROFESSIONAL. NoSQL. Shashank Tiwari WILEY. John Wiley & Sons, Inc.
PROFESSIONAL NoSQL Shashank Tiwari WILEY John Wiley & Sons, Inc. Examining CONTENTS INTRODUCTION xvil CHAPTER 1: NOSQL: WHAT IT IS AND WHY YOU NEED IT 3 Definition and Introduction 4 Context and a Bit
More informationNOSQL EGCO321 DATABASE SYSTEMS KANAT POOLSAWASD DEPARTMENT OF COMPUTER ENGINEERING MAHIDOL UNIVERSITY
NOSQL EGCO321 DATABASE SYSTEMS KANAT POOLSAWASD DEPARTMENT OF COMPUTER ENGINEERING MAHIDOL UNIVERSITY WHAT IS NOSQL? Stands for No-SQL or Not Only SQL. Class of non-relational data storage systems E.g.
More informationACE Whiteboard Tutorial: Modeling an Application Using Logic Scripts (Advanced)
ACE Whiteboard Tutorial: Modeling an Application Using Logic Scripts (Advanced) Overview When database applications execute a query, each row that is fetched costs a round trip to the database. Therefore,
More informationWhich compute option is designed for the above scenario? A. OpenWhisk B. Containers C. Virtual Servers D. Cloud Foundry
1. A developer needs to create support for a workload that is stateless and short-living. The workload can be any one of the following: - API/microservice /web application implementation - Mobile backend
More informationLeveraging the Security of AWS's Own APIs for Your App. Brian Wagner Solutions Architect Serverless Web Day June 23, 2016
Leveraging the Security of AWS's Own APIs for Your App Brian Wagner Solutions Architect Serverless Web Day June 23, 2016 AWS API Requests Access Key and Secret Key (access key and secret key have been
More informationAmazon Search Services. Christoph Schmitter
Amazon Search Services Christoph Schmitter csc@amazon.de What we'll cover Overview of Amazon Search Services Understand the difference between Cloudsearch and Amazon ElasticSearch Service Q&A Amazon Search
More informationIERG 4080 Building Scalable Internet-based Services
Department of Information Engineering, CUHK Term 1, 2016/17 IERG 4080 Building Scalable Internet-based Services Lecture 7 Asynchronous Tasks and Message Queues Lecturer: Albert C. M. Au Yeung 20 th & 21
More informationHands-on immersion on Big Data tools
Hands-on immersion on Big Data tools NoSQL Databases Donato Summa THE CONTRACTOR IS ACTING UNDER A FRAMEWORK CONTRACT CONCLUDED WITH THE COMMISSION Summary : Definition Main features NoSQL DBs classification
More informationAmazon Elastic MapReduce. API Reference API Version
Amazon Elastic MapReduce API Reference Amazon Elastic MapReduce: API Reference Copyright 2011-2012 Amazon Web Services LLC or its affiliates. All rights reserved. Welcome... 1 Actions... 2 AddInstanceGroups...
More informationWestern Michigan University
CS-6030 Cloud compu;ng Google App engine Sepideh Mohammadi Summer II 2017 Western Michigan University content Categories of cloud compu;ng Google cloud plaborm Google App Engine Storage technologies Datastore
More informationPostgres-XC PG session #3. Michael PAQUIER Paris, 2012/02/02
Postgres-XC PG session #3 Michael PAQUIER Paris, 2012/02/02 Agenda Self-introduction Highlights of Postgres-XC Core architecture overview Performance High-availability Release status 2 Self-introduction
More informationJava in der Cloud Aktuelle Möglichkeiten und Entwicklungen
Java in der Cloud Aktuelle Möglichkeiten und Entwicklungen Eberhard Wolff Architecture and Technology Manager adesso AG Twitter: @ewolff Blog: http://ewolff.com About me! Eberhard Wolff! Architecture &
More informationAmazon Web Services Monitoring Integration User Guide
Amazon Web Services Monitoring Integration User Guide Functional Area: Amazon Web Services Monitoring Integration Geneos Release: v4.9 Document Version: v1.0.0 Date Published: 29 October 2018 Copyright
More informationNode.js: Asynchronous I/O for Fun and Profit. Stefan QCon London 2011
Node.js: Asynchronous I/O for Fun and Profit Stefan Tilkov @ QCon London 2011 Stefan Tilkov @stilkov stefan.tilkov@innoq.com http://www.innoq.com Concurrent Request Processing read request read request
More information1
1 2 3 6 7 8 9 10 Storage & IO Benchmarking Primer Running sysbench and preparing data Use the prepare option to generate the data. Experiments Run sysbench with different storage systems and instance
More informationCloud platforms T Mobile Systems Programming
Cloud platforms T-110.5130 Mobile Systems Programming Agenda 1. Motivation 2. Different types of cloud platforms 3. Popular cloud services 4. Open-source cloud 5. Cloud on this course 6. Some useful tools
More informationBack-end architecture
Back-end architecture Tiberiu Vilcu Prepared for EECS 411 Sugih Jamin 2 January 2018 https://education.github.com/pack 1 2 Outline HTTP 1. HTTP and useful web tools 2. Designing APIs 3. Back-end services
More informationThe Packer Book. James Turnbull. April 20, Version: v1.1.2 (067741e) Website: The Packer Book
The Packer Book James Turnbull April 20, 2018 Version: v1.1.2 (067741e) Website: The Packer Book Some rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted
More informationStartupEDU. Introduction. Get Connected. Our Objective 5/13/ A Platform for university officials to find startups
StartupEDU Get Connected. 1 5/5/2014 @StartupEDU Team Introduction A new university network to find startups and share with the campus! Our Objective 1 A Platform for university officials to find startups
More informationExtract API: Build sophisticated data models with the Extract API
Welcome # T C 1 8 Extract API: Build sophisticated data models with the Extract API Justin Craycraft Senior Sales Consultant Tableau / Customer Consulting My Office Photo Used with permission Agenda 1)
More informationThe Bits Are In The Clouds
The Bits Are In The Clouds Jeff Barr Senior Web Services Evangelist jbarr@amazon.com www.storage-developer.org Hello! I m Jeff Barr Amazon employee since 2002 Background: Microsoft, consulting, startups
More informationManaging IoT and Time Series Data with Amazon ElastiCache for Redis
Managing IoT and Time Series Data with ElastiCache for Redis Darin Briskman, ElastiCache Developer Outreach Michael Labib, Specialist Solutions Architect 2016, Web Services, Inc. or its Affiliates. All
More informationAWS Administration. Suggested Pre-requisites Basic IT Knowledge
Course Description Amazon Web Services Administration (AWS Administration) course starts your Cloud Journey. If you are planning to learn Cloud Computing and Amazon Web Services in particular, then this
More informationAuto Scaling API Manual
NTT Communications Cloudⁿ Auto Scaling API Manual Ver.1.0 Please refrain from redistribution (distribution, reproduction, provision etc.) of the contents published in this document. 1 Ver. No. Edited On
More informationEmulating Lambda to speed up development. Kevin Epstein CTO CorpInfo AWS Premier Partner
Emulating Lambda to speed up development Kevin Epstein CTO CorpInfo AWS Premier Partner What is Lambda? Scalable, Highly Available, Stateless, event driven computing Fully managed runtime environment Python
More informationInline Checkout Implementation Guide
Inline Checkout Implementation Guide TOC 2 Contents Overview of This Document... 3 Standard Checkout Amazon Overview of Checkout by Checkout Overview of Inline Amazon Checkout by Overview of Who Should
More informationExam Questions AWS-Certified- Developer-Associate
Exam Questions AWS-Certified- Developer-Associate Amazon AWS Certified Developer Associate https://www.2passeasy.com/dumps/aws-certified- Developer-Associate/ 1. When using Amazon SQS how much data can
More informationPaaS Cloud mit Java. Eberhard Wolff, Principal Technologist, SpringSource A division of VMware VMware Inc. All rights reserved
PaaS Cloud mit Java Eberhard Wolff, Principal Technologist, SpringSource A division of VMware 2009 VMware Inc. All rights reserved Agenda! A Few Words About Cloud! PaaS Platform as a Service! Google App
More informationTutorial 8 Build resilient, responsive and scalable web applications with SocketPro
Tutorial 8 Build resilient, responsive and scalable web applications with SocketPro Contents: Introduction SocketPro ways for resilient, responsive and scalable web applications Vertical scalability o
More informationWWW. HTTP, Ajax, APIs, REST
WWW HTTP, Ajax, APIs, REST HTTP Hypertext Transfer Protocol Request Web Client HTTP Server WSGI Response Connectionless Media Independent Stateless Python Web Application WSGI : Web Server Gateway Interface
More informationRule 14 Use Databases Appropriately
Rule 14 Use Databases Appropriately Rule 14: What, When, How, and Why What: Use relational databases when you need ACID properties to maintain relationships between your data. For other data storage needs
More informationAdvanced Database Project: Document Stores and MongoDB
Advanced Database Project: Document Stores and MongoDB Sivaporn Homvanish (0472422) Tzu-Man Wu (0475596) Table of contents Background 3 Introduction of Database Management System 3 SQL vs NoSQL 3 Document
More informationDeploying to the Edge CouchDB
Deploying to the Edge CouchDB Apache Relax Who s Talking? J Chris Anderson / jchris@apache.org / @jchris PHP -> Rails -> JSON -> CouchDB Director, couch.io And You? Web developers? JavaScript coders? CouchDB
More informationNosDB vs DocumentDB. Comparison. For.NET and Java Applications. This document compares NosDB and DocumentDB. Read this comparison to:
NosDB vs DocumentDB Comparison For.NET and Java Applications NosDB 1.3 vs. DocumentDB v8.6 This document compares NosDB and DocumentDB. Read this comparison to: Understand NosDB and DocumentDB major feature
More informationCOSC 416 NoSQL Databases. NoSQL Databases Overview. Dr. Ramon Lawrence University of British Columbia Okanagan
COSC 416 NoSQL Databases NoSQL Databases Overview Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Databases Brought Back to Life!!! Image copyright: www.dragoart.com Image
More informationVerteego VDS Documentation
Verteego VDS Documentation Release 1.0 Verteego May 31, 2017 Installation 1 Getting started 3 2 Ansible 5 2.1 1. Install Ansible............................................. 5 2.2 2. Clone installation
More informationThis tutorial is intended to make you comfortable in getting started with the Firebase backend platform and its various functions.
Firebase About the Tutorial Firebase is a backend platform for building Web, Android and IOS applications. It offers real time database, different APIs, multiple authentication types and hosting platform.
More informationDistributed Non-Relational Databases. Pelle Jakovits
Distributed Non-Relational Databases Pelle Jakovits Tartu, 7 December 2018 Outline Relational model NoSQL Movement Non-relational data models Key-value Document-oriented Column family Graph Non-relational
More informationAWS Security. Staying on Top of the Cloud
AWS Security Staying on Top of the Cloud Intro Kurtis Miller, a Principal Security Consultant for Previously: Global Security Engineering Manager for Senior Security Consultant for First Security Engineer
More informationDatabases/JQuery AUGUST 1, 2018
Databases/JQuery AUGUST 1, 2018 Databases What is a Database? A table Durable place for storing things Place to easily lookup and update information Databases: The M in MVC What is a Database? Your Model
More informationEasyLogin. Intro to the Alpha version
EasyLogin Intro to the Alpha version Yoann Gini System & Network Administrator As a system and network administrator, I work on a lot on topics related to OS X, OS X Server, security and scaling. You can
More informationAssignment: Seminole Movie Connection
Assignment: Seminole Movie Connection Assignment Objectives: Building an application using an Application Programming Interface (API) Parse JSON data from an HTTP response message Use Ajax methods and
More information