CloudAnt: Database as a Service (DBaaS)

Slides:



Advertisements
Similar presentations
What is a Database By: Cristian Dubon.
Advertisements

Software Structure CHAPTER 4 The overall structure of the online learning community system : 1.user database 2.content database 3.user/content map 4.user/user.
Paula Ta-Shma, IBM Haifa Research 1 “Advanced Topics on Storage Systems” - Spring 2013, Tel-Aviv University Big Data and.
Introducing new web content management tools for Priority...
Chapter 3 : Distributed Data Processing
Microsoft ® Official Course Interacting with the Search Service Microsoft SharePoint 2013 SharePoint Practice.
1 Introducing Scenario Network Data Editing and Enterprise GIS January 27, 2010 Minhua Wang, Ph.D. Citilabs, Inc.
A Guide to SQL, Seventh Edition. Objectives Retrieve data from a database using SQL commands Use compound conditions Use computed columns Use the SQL.
CS 405G: Introduction to Database Systems 24 NoSQL Reuse some slides of Jennifer Widom Chen Qian University of Kentucky.
CORDRA Philip V.W. Dodds March The “Problem Space” The SCORM framework specifies how to develop and deploy content objects that can be shared and.
Module 14: Scalability and High Availability. Overview Key high availability features available in Oracle and SQL Server Key scalability features available.
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
Xin  Syntax ◦ SELECT field1 AS title1, field2 AS title2,... ◦ FROM table1, table2 ◦ WHERE conditions  Make a query that returns all records.
Training Workshop Windows Azure Platform. Presentation Outline (hidden slide): Technical Level: 200 Intended Audience: Developers Objectives (what do.
Cube Enterprise Database Solution presented to MTF GIS Committee presented by Minhua Wang Citilabs, Inc. November 20, 2008.
 Introduction Introduction  Purpose of Database SystemsPurpose of Database Systems  Levels of Abstraction Levels of Abstraction  Instances and Schemas.
Chapter 3 Single-Table Queries
I Copyright © 2004, Oracle. All rights reserved. Introduction.
Basic Web Applications 2. Search Engine Why we need search ensigns? Why we need search ensigns? –because there are hundreds of millions of pages available.
Chapter 1 In-lab Quiz Next week
Distributed Indexing of Web Scale Datasets for the Cloud {ikons, eangelou, Computing Systems Laboratory School of Electrical.
HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design.
Analyzing Data For Effective Decision Making Chapter 3.
Moohanad Hassan Maedeh Pishvaei. Introduction Open Source Apache foundation project Relational DB: SQL Server CouchDB : JSON document-oriented DB (NoSQL)
FI-WARE Points of Interest (POI) Data Provider Short Introduction Nonprofit educational material. Fair use of copyrighted content, if any, is assumed.
Introduction. Readings r Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 m Note: All figures from this book.
Datasets on the GRID David Adams PPDG All Hands Meeting Catalogs and Datasets session June 11, 2003 BNL.
P2Pedia A Distributed Wiki Network Management and Artificial Intelligence Laboratory Carleton University Presented by: Alexander Craig May 9 th, 2011.
The Replica Location Service The Globus Project™ And The DataGrid Project Copyright (c) 2002 University of Chicago and The University of Southern California.
MongoDB is a database management system designed for web applications and internet infrastructure. The data model and persistence strategies are built.
A FIRST TOUCH ON NOSQL SERVERS: COUCHDB GENOVEVA VARGAS SOLAR, JAVIER ESPINOSA CNRS, LIG-LAFMIA, FRANCE
AL-MAAREFA COLLEGE FOR SCIENCE AND TECHNOLOGY INFO 232: DATABASE SYSTEMS CHAPTER 7 (Part II) INTRODUCTION TO STRUCTURED QUERY LANGUAGE (SQL) Instructor.
Database Systems Lecture 1. In this Lecture Course Information Databases and Database Systems Some History The Relational Model.
Clusterpoint Margarita Sudņika ms RDBMS & NoSQL Databases & tables → Document stores Columns, rows → Schemaless documents Scales UP → Scales UP.
HEMANTH GOKAVARAPU SANTHOSH KUMAR SAMINATHAN Frequent Word Combinations Mining and Indexing on HBase.
A Guide to SQL, Eighth Edition Chapter Four Single-Table Queries.
Concepts of Database Management, Fifth Edition Chapter 3: The Relational Model 2: SQL.
Post-relational databases What's wrong with web development? Dobrica Pavlinušić FOI, Razmjena Vještina, Varaždin,
CS 405G: Introduction to Database Systems
Cluster-Based Scalable
Apache Ignite Data Grid Research Corey Pentasuglia.
“Introduction To Database and SQL”
Chapter 1: Introduction
Improving searches through community clustering of information
SEARCH ENGINES & WEB CRAWLER Akshay Ghadge Roll No: 107.
MongoDB Er. Shiva K. Shrestha ME Computer, NCIT
NOSQL.
A Technical Overview of Microsoft® SQL Server™ 2005 High Availability Beta 2 Matthew Stephen IT Pro Evangelist (SQL Server)
PREGEL Data Management in the Cloud
Post-relational databases What's wrong with web development?
CHAPTER 3 Architectures for Distributed Systems
NOSQL databases and Big Data Storage Systems
Database Fundamentals
Ministry of Higher Education
WEB API.
“Introduction To Database and SQL”
CS6604 Digital Libraries IDEAL Webpages Presented by
SCALABLE OPEN ACCESS Hussein Suleman
Introduction to Apache
Fundamentals of Databases
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
CSE 482 Lecture 5: NoSQL.
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Introducing Scenario Network Data Editing and Enterprise GIS
Introducing Citilabs’ Scenario Based Master Network Data Model
Aggregate Functions.
Week 05 Node.js Week 05
Chengyu Sun California State University, Los Angeles
Copyright © JanBask Training. All rights reserved Get Started with Hadoop Hive HiveQL Languages.
Presentation transcript:

CloudAnt: Database as a Service (DBaaS) Some Basic Idea to start with cloudant development Mansura Habiba

Agenda Different Components of Cloudant Document Structure for Cloudant Single Big Document Concept Map/ Reduce in Cloudnat Implement 1:m relation without Big single document Some SQL Aggregate functions Replication Consistancy Management in CloudAnt Attachment(s) to document

Different Component of cloudant Architecture It Provides fundamental component for DBaaS

Document Structure for Cloudant Documents are stored as Json Documents and View can be accessed through API The One single document for all related information for the an Entity 1:m Relation in a single document

Single Big Document Concept The Concept is - all child document will be inside the parent document as array. Such as comments in this example Why not recommnded usually? Very long document Complex structure HTTP 409 conflict error if multiple client process start editing same document. E.g in this example multiple client start adding comment to the same blog post , the single document might return 409 Too much redandancy blog comments { "_id": “user01", “name": “…", "author": "john", "title": "My blog post", "content": "Bla bla bla …", "comments": [ {"author": "jack", "content": "…"}, {"author": "jane", "content": "…"} ] } Is this a good idea? It can be, if: Not to big document and performance is manageable by using views. The information in the inner document only appears there and does not need to be duplicated into other documents, or such duplication is acceptable for your application. For example, if you wanted to rename the "couchdb" skill to "couchdb / cloudant", you would have to update it in all employee documents. The document does not get updated concurrently. If it does, there will likely be unnecessary conflicts that will need to be resolved by the application. It is called “The everything-in-one-document approach”

Map/Reduce in Cloudant “MapReduce is a software framework introduced by Google to support distributed computing on large data sets on clusters of computers.” Used by cloudant to implement views Just a framework / pattern: You can implement “any” algorithm using map-reduce. Map and reduce functions are custom .Specially its just similar to the query in relational database in order to create a view Reduce is optional, plain view serves as a document index

Map /Reduce in Cloudant (Cont...)

Using Map/Reduce to implement 1:m relation without Big single document (1/3) Use case: A number of student have different courses from a number of courses Relation : 1 course: m students Query: list of students who has registered for course_1 For Example, Student 030206 and 030208 have been registered for course 1

List of students who have registered for course_1 Using Map/Reduce to implement 1:m relation without Big single document (3/3) List of students who have registered for course_1

How to Link Document in Cloudant There is no ensured inter document consistency in cloudant List IDs of related documents in document (1:m) one document contains the ids of other documents

Using Map/Reduce to implement 1:m relation without Big single document (2/3) Map/Reduce function to achieve the goal Query to achieve the goal

Some SQL Aggregate functions using cloudant Map/Reduce (1/5) Count: How many course a student has been registered against

Some SQL Aggregate functions using cloudant Map/Reduce (2/5) sum : The total marks that 030206 obtain in different courses

Some SQL Aggregate functions using cloudant Map/Reduce (3/5) avg: The average marks that 030206 obtain in different courses Reduce Function Map Function

Some SQL Aggregate functions using cloudant Map/Reduce (3/5 cont...)

Some SQL Aggregate functions using cloudant Map/Reduce (4/5) max: The maximum marks that 030206 obtain among all courses Reduce Function Map Function

Some SQL Aggregate functions using cloudant Map/Reduce (5/5) min: The minimum marks that 030206 obtain among all courses Map Function Reduce Function

Replication Consistancy Management in CloudAnt eventually consistent If the application performs a document write or update, followed immediately by a read of the same document, older document content is retrieved. Only the leader are allowed for data write operation, Replica nodes replicate data from the leader leader replica Replicas = # of nodes storing replica Writes = # of nodes that confirm a commit Reads= # of nodes that are contacted at a read operation Strongly consistent Writes + Reads > Replicas replica replica Cloudant is eventually consistent rather than strongly consistent.

Attachment(s) to document Single inline attachment Multiple inline attachment If ?attachments=true is added to the query , it will return resulted documents along with attachments Elastic search has an implementation for creating search index in attachment but I am afraid that’s not an option for CDP 

Reference https://docs.cloudant.com/api.html http://www.slideshare.net/cindyrussell129357/develop-mobile-and- internet-connected-apps-with-db2-and-informix-cover http://www.slideshare.net/AnimeshSingh/buils-scalable-internet-of- things-apps-bluemix-cloudant-for-designing-iot-apps

Some libraries to access cloudant API for development https://docs.cloudant.com/libraries.html#objective-c-and-swift https://docs.cloudant.com/libraries.html#python https://docs.cloudant.com/libraries.html#couchdb https://docs.cloudant.com/libraries.html#node.js https://docs.cloudant.com/libraries.html#java https://docs.cloudant.com/libraries.html#mobile Cloudant is also available as an IBM Bluemix service