Data Modeling with Neo4j. Stefan Armbruster, Neo Technology (slides from Michael Hunger)

Size: px
Start display at page:

Download "Data Modeling with Neo4j. Stefan Armbruster, Neo Technology (slides from Michael Hunger)"

Transcription

1 Data Modeling with Neo4j Stefan Armbruster, Neo Technology (slides from Michael Hunger) 1 1

2 33

3 is a 44

4 NOSQL 55

5 Graph Database 66

6 A graph database... NO: not for charts & diagrams, or vector artwork YES: for storing data that is structured as a graph remember linked lists, trees? graphs are the general-purpose data structure A relational database may tell you the average age of everyone in this place, but a graph database will tell you who is most likely to buy you a beer. 77

7 You know relational foo foo_bar bar 88

8 now consider relationships... 99

9 We're talking about a Property Graph Properties (each a key+value) + Indexes (for easy look-ups) 11 00

10 Aggregate vs. Connected Data-Model

11 NOSQL Databases 11 22

12 Aggregate Oriented Model There is a significant downside - the whole approach works really well when data access is aligned with the aggregates, but what if you want to look at the data in a different way? Order entry naturally stores orders as aggregates, but analyzing product sales cuts across the aggregate structure. The advantage of not using an aggregate structure in the database is that it allows you to slice and dice your data different ways for different audiences. This is why aggregate-oriented stores talk so much about map-reduce. Martin Fowler

13 Connected Data Model The connected data model is based on fine grained elements that are richly connected, the emphasis is on extracting many dimensions and attributes as elements. Connections are cheap and can be used not only for the domain-level relationships but also for additional structures that allow efficient access for different use-cases. The fine grained model requires a external scope for mutating operations that ensures Atomicity, Consistency, Isolation and Durability - ACID also known as Transactions. Michael Hunger

14 Data Modeling

15 Why Data Modeling What is modeling? Aren t we schema free? How does it work in a graph? Where should modeling happen? DB or Application 11 66

16 Data Models

17 Model mis-match Real World Model

18 Model mis-match Application Model Database Model

19 Trinity of models

20 Whiteboard --> Data Andre as knows knows Peter knows Emil knows Alliso n // Cypher query - friend of a friend start n=node(0) match (n)--()--(foaf) return foaf 22 11

21 You traverse the graph // then lookup traverse starting topoint find results in an index n=node:people(name == Andreas ) START me=node:people(name Andreas MATCH (me)-[:friend]-(friend)-[:friend]-(friend2) RETURN friend

22 START user = node(1) MATCH user -[user_skill]-> skill RETURN skill, user_skill SELECT skills.*, user_skill.* FROM users JOIN user_skill ON users.id = user_skill.user_id JOIN skills ON user_skill.skill_id = skill.id WHERE users.id =

23 An Example

24 What language do they speak here? Language Country

25 What language do they speak here? Language Country

26 What language do they speak here? Language Country

27 Tables Language Country language_code country_code language_nam e country_name word_count flag_uri

28 Need to model the relationship Language Country language_code country_code language_nam e country_name word_count language_cod e flag_uri

29 What if the cardinality changes? Language Country language_code country_code language_nam e country_name word_count country_code flag_uri

30 Or we go many-to-many? Language language_code language_nam e word_count LanguageCountr y Country language_cod e country_code country_code flag_uri country_name

31 Or we want to qualify the relationship? Language LanguageCountry Country language_code language_code country_code language_nam e country_code country_name primary flag_uri word_count

32 Start talking about Graphs

33 Explicit Relationship Language Country name name word_count IS_SPOKEN_IN flag_uri

34 Relationship Properties Language Country name name word_count IS_SPOKEN_IN as_primary flag_uri

35 What s different? Language IS_SPOKEN_IN LanguageCountr y Country language_code language_code country_code language_nam e country_code country_name primary flag_uri word_count

36 What s different? Implementation of maintaining relationships is left up to the database Artificial keys disappear or are unnecessary Relationships get an explicit name can be navigated in both directions

37 Relationship specialisation Language Country name name word_count IS_SPOKEN_IN as_primary flag_uri

38 Bidirectional relationships Language name word_count Country IS_SPOKEN_IN PRIMARY_LANGUAGE name flag_uri

39 Weighted relationships Language Country name name word_count POPULATION_SPEAKS population_fraction flag_uri

40 Keep on adding relationships Language Country name name word_count POPULATION_SPEAKS flag_uri population_fraction SIMILAR_TO ADJACENT_TO

41 EMBRACE the paradigm

42 Use the building blocks Nodes Relationships Properties RELATIONSHIP_NAME name: value

43 Anti-pattern: rich properties name: Canada languages_spoken: [ English, French ]

44 Normalize Nodes

45 Anti-Pattern: Node represents multiple concepts Country name flag_uri language_name number_of_words yes_in_language no_in_language currency_code currency_name

46 Split up in separate concepts Country Country name flag_uri name SPEAKS number_of_words currency_code yes currency_name no Currency currency_code currency_name USES_CURRENCY

47 Challenge: Property or Relationship? Can every property be replaced by a relationship? Should every entities with the same property values be connected?

48 Object Mapping Similar to how you would map objects to a relational database, using an ORM such as Hibernate Generally simpler and easier to reason about Examples Java: Spring Data Graph Ruby: Active Model Why Map? Do you use mapping because you are scared of SQL? Following DDD, could you write your repositories directly against the graph API?

49 CONNECT for fast access In-Graph Indices

50 Relationships for querying like in other databases same structure for different use-cases (OLTP and OLAP) doesn t work graph allows: add more structures Relationships should the primary means to access nodes in the database Traversing relationships is cheap that s the whole design goal of a graph database Use lookups only to find starting nodes for a query Data Modeling examples in Manual

51 Anti-pattern: unconnected graph name: Jones name: Jones name: Jones name: Jones name: Jones name: Jones name: Jones name: Jones name: Jones name: Jones name: Jones

52 Pattern: Linked List 55 33

53 Pattern: Multiple Relationships 55 44

54 Pattern-Trees:Tags and Categories 55 55

55 Pattern-Tree: Multi-Level-Tree 55 66

56 Pattern-Trees: R-Tree (spatial) 55 77

57 Example: Activity Stream 55 88

58 Graph Evolution

59 Evolution: Relationship to Node SENT_ ... G A T _FROM EM D E G _TO C C _ L I A see Hyperedges 66 00

60 Combine multiple Domains in a Graph you start with a single domain add more connected domains as your system evolves more domains allow to ask different queries one domain indexes the other Example Facebook Graph Search social graph location graph activity graph favorite graph...

61 Notes on the Graph Data Model Schema free, but constraints Model your graph with a whiteboard and a wise man Nodes as main entities but useless without connections Relationships are first level citizens in the model and database Normalize more than in a relational database use meaningful relationship-types, not generic ones like IS_ use in-graph structures to allow different access paths evolve your graph to your needs, incremental growth 66 22

62 How to get started? Documentation neo4j.org docs.neo4j.org - tutorials+reference Data Modeling Examples Neo4j in Action Good Relationships Worldwide one-day Neo4j Trainings Get Neo4j Participate

63 Really, once you start thinking in graphs it's hard to stop What will you build? Recommendations MDM Business intelligence Geospatial catalogs Systems access control Social computing Management your brain Biotechnology routing genealogy linguistics Making Sense of all that compensation data market vectors 66 99

64 Thank You! Questions?

Introduction in Graph Databases and Neo4j

Introduction in Graph Databases and Neo4j Introduction in Graph Databases and Neo4j most slides from: Stefan Armbruster Michael Hunger @darthvader42 stefan.armbruster@neotechnology.com 11 The Path Forward 1.No.. NO.. NOSQL 2.Why graphs? 3.What's

More information

NOSQL Databases and Neo4j

NOSQL Databases and Neo4j NOSQL Databases and Neo4j Database and DBMS Database - Organized collection of data The term database is correctly applied to the data and their supporting data structures. DBMS - Database Management System:

More information

Neo4j.rb. Graph Database. The Natural Way to Persist Data? Andreas Kollegge. Andreas Ronge

Neo4j.rb. Graph Database. The Natural Way to Persist Data? Andreas Kollegge. Andreas Ronge Neo4j.rb Graph Database The Natural Way to Persist Data? Andreas Kollegge Andreas Ronge NOSQL The problem with SQL: not designed for Accelerating growth of data Huge clustered environments Complex and

More information

A Little Graph Theory for the Busy Developer. Dr. Jim Webber Chief Scientist, Neo

A Little Graph Theory for the Busy Developer. Dr. Jim Webber Chief Scientist, Neo A Little Graph Theory for the Busy Developer Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber Roadmap Imprisoned data Graph models Graph theory Local properties, global behaviours Predictive techniques

More information

Neo4j. Neo4j's Cypher. Samstag, 27. April 13

Neo4j. Neo4j's Cypher.  Samstag, 27. April 13 Neo4j Neo4j's Cypher Michael Hunger @mesirii @neo4j 1 (Michael)-[:WORKS_ON]-> (Neo4j) console Cypher Community Michael Server Neo4j.org Spring Cloud 2 3 is a 4 NOSQL 5 Graph Database 6 Some Ways to Learn

More information

Introduction to Big Data. NoSQL Databases. Instituto Politécnico de Tomar. Ricardo Campos

Introduction 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 information

NOSQL DATABASE SYSTEMS: DATA MODELING. Big Data Technologies: NoSQL DBMS (Data Modeling) - SoSe

NOSQL DATABASE SYSTEMS: DATA MODELING. Big Data Technologies: NoSQL DBMS (Data Modeling) - SoSe NOSQL DATABASE SYSTEMS: DATA MODELING Big Data Technologies: NoSQL DBMS (Data Modeling) - SoSe 2017 24 Data Modeling Object-relational impedance mismatch Example: orders, order lines, customers (with different

More information

A Li%le Graph Theory for the Busy Developer. Jim Webber Chief Scien?st, Neo

A Li%le Graph Theory for the Busy Developer. Jim Webber Chief Scien?st, Neo A Li%le Graph Theory for the Busy Developer Jim Webber Chief Scien?st, Neo Technology @jimwebber Roadmap Imprisoned data Graph models Graph theory Local proper?es, global behaviours Predic?ve techniques

More information

Introduction to Graph Databases

Introduction to Graph Databases Introduction to Graph Databases David Montag @dmontag #neo4j 1 Agenda NOSQL overview Graph Database 101 A look at Neo4j The red pill 2 Why you should listen Forrester says: The market for graph databases

More information

Hands-on immersion on Big Data tools

Hands-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 information

Neo4j. Spatial. Peter Neubauer Neo Technology. GIS for the rest of us.

Neo4j. Spatial. Peter Neubauer Neo Technology. GIS for the rest of us. Neo4j Spatial GIS for the rest of us Peter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Data size NOSQL data models Key-value stores Bigtable clones Document databases Graph databases

More information

Aggregating Knowledge in a Data Warehouse and Multidimensional Analysis

Aggregating Knowledge in a Data Warehouse and Multidimensional Analysis Aggregating Knowledge in a Data Warehouse and Multidimensional Analysis Rafal Lukawiecki Strategic Consultant, Project Botticelli Ltd rafal@projectbotticelli.com Objectives Explain the basics of: 1. Data

More information

AN introduction to nosql databases

AN introduction to nosql databases AN introduction to nosql databases Terry McCann @SQLshark Purpose of this presentation? It is important for a data scientist / data engineer to have the right tool for the right job. We will look at an

More information

COMP9321 Web Application Engineering

COMP9321 Web Application Engineering COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 6 http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2411 1 We

More information

Big Data, Complex Data

Big Data, Complex Data Big Data, Complex Data Managing Data and Complexity in Graph Databases Peter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Data size NOSQL data models Key-value stores Bigtable

More information

DATA MINING AND WAREHOUSING

DATA MINING AND WAREHOUSING DATA MINING AND WAREHOUSING Qno Question Answer 1 Define data warehouse? Data warehouse is a subject oriented, integrated, time-variant, and nonvolatile collection of data that supports management's decision-making

More information

Welcome to the topic of SAP HANA modeling views.

Welcome to the topic of SAP HANA modeling views. Welcome to the topic of SAP HANA modeling views. 1 At the end of this topic, you will be able to describe the three types of SAP HANA modeling views and use the SAP HANA Studio to work with views in the

More information

NoSQL systems: introduction and data models. Riccardo Torlone Università Roma Tre

NoSQL systems: introduction and data models. Riccardo Torlone Università Roma Tre NoSQL systems: introduction and data models Riccardo Torlone Università Roma Tre Leveraging the NoSQL boom 2 Why NoSQL? In the last fourty years relational databases have been the default choice for serious

More information

A Simple Data Management Problem

A Simple Data Management Problem A Simple Data Management Problem Adapted from Dr. Gary Lindstrom Department of Computer Science University of Utah Jan 09, 2012 Problem: Managing a list of addresses Solution 1 A blank, spiral-bound notebook

More information

Graph Databases. Graph Databases. May 2015 Alberto Abelló & Oscar Romero

Graph Databases. Graph Databases. May 2015 Alberto Abelló & Oscar Romero Graph Databases 1 Knowledge Objectives 1. Describe what a graph database is 2. Explain the basics of the graph data model 3. Enumerate the best use cases for graph databases 4. Name two pros and cons of

More information

Introduction to NoSQL Databases

Introduction 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 information

Graph and Timeseries Databases

Graph and Timeseries Databases Graph and Timeseries Databases Roman Kern ISDS, TU Graz 2017-10-23 Roman Kern (ISDS, TU Graz) Dbase2 2017-10-23 1 / 31 Graph Databases Graph Databases Motivation and Basics of Graph Databases? Roman Kern

More information

CMPE 131 Software Engineering. Database Introduction

CMPE 131 Software Engineering. Database Introduction Presented By Melvin Ch ng CMPE 131 Software Engineering September 14, 2017 Database Introduction Ruby on Rails ORM Agenda Database Management System (DBMS) SQL vs NoSQL Relational Database Introduction

More information

Chapter 24 NOSQL Databases and Big Data Storage Systems

Chapter 24 NOSQL Databases and Big Data Storage Systems Chapter 24 NOSQL Databases and Big Data Storage Systems - Large amounts of data such as social media, Web links, user profiles, marketing and sales, posts and tweets, road maps, spatial data, email - NOSQL

More information

CISC 7610 Lecture 4 Approaches to multimedia databases. Topics: Document databases Graph databases Metadata Column databases

CISC 7610 Lecture 4 Approaches to multimedia databases. Topics: Document databases Graph databases Metadata Column databases CISC 7610 Lecture 4 Approaches to multimedia databases Topics: Document databases Graph databases Metadata Column databases NoSQL architectures: different tradeoffs for different workloads Already seen:

More information

Graph database Introduc1on

Graph database Introduc1on Graph database Introduc1on Agenda What is NoSQL? What is a Graph, Anyway? What is a Graph Database? Neo4J Graph Database What is NoSQL? Stands for Not Only SQL Class of non- relaaonal data storage systems

More information

COMP9321 Web Application Engineering

COMP9321 Web Application Engineering COMP9321 Web Application Engineering Data Access in Web Applications Dr. Basem Suleiman Service Oriented Computing Group, CSE, UNSW Australia Semester 1, 2016, Week 5 http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2442

More information

CISC 7610 Lecture 4 Approaches to multimedia databases. Topics: Graph databases Neo4j syntax and examples Document databases

CISC 7610 Lecture 4 Approaches to multimedia databases. Topics: Graph databases Neo4j syntax and examples Document databases CISC 7610 Lecture 4 Approaches to multimedia databases Topics: Graph databases Neo4j syntax and examples Document databases NoSQL architectures: different tradeoffs for different workloads Already seen:

More information

CSE 344 Final Review. August 16 th

CSE 344 Final Review. August 16 th CSE 344 Final Review August 16 th Final In class on Friday One sheet of notes, front and back cost formulas also provided Practice exam on web site Good luck! Primary Topics Parallel DBs parallel join

More information

NoSQL Databases. CPS352: Database Systems. Simon Miner Gordon College Last Revised: 4/22/15

NoSQL Databases. CPS352: Database Systems. Simon Miner Gordon College Last Revised: 4/22/15 NoSQL Databases CPS352: Database Systems Simon Miner Gordon College Last Revised: 4/22/15 Agenda Check-in NoSQL Databases Aggregate databases Key-value, document, and column family Graph databases Related

More information

YeSQL: Battling the NoSQL Hype Cycle with Postgres

YeSQL: Battling the NoSQL Hype Cycle with Postgres YeSQL: Battling the NoSQL Hype Cycle with Postgres BRUCE MOMJIAN This talk explores how new NoSQL technologies are unique, and how existing relational database systems like Postgres are adapting to handle

More information

Getting to know. by Michelle Darling August 2013

Getting to know. by Michelle Darling August 2013 Getting to know by Michelle Darling mdarlingcmt@gmail.com August 2013 Agenda: What is Cassandra? Installation, CQL3 Data Modelling Summary Only 15 min to cover these, so please hold questions til the end,

More information

NoSQL database and its business applications

NoSQL database and its business applications COSC 657 Db. Management Systems Professor: RAMESH K. Student: BUER JIANG Research paper NoSQL database and its business applications The original purpose has been contemporary web-expand dbs. The movement

More information

Handout 12 Data Warehousing and Analytics.

Handout 12 Data Warehousing and Analytics. Handout 12 CS-605 Spring 17 Page 1 of 6 Handout 12 Data Warehousing and Analytics. Operational (aka transactional) system a system that is used to run a business in real time, based on current data; also

More information

The Challenge of Connected Data. Dr. Jim Webber Chief Scientist, Neo

The Challenge of Connected Data. Dr. Jim Webber Chief Scientist, Neo The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber http://slantmagazine.com/film/review/saturday-night-fever/4210 http://freenewfoundlandlabrador.blogspot.com/2011/07/nl-fisheries-500-years-of-turmoil.html

More information

HBase vs Neo4j. Technical overview. Name: Vladan Jovičić CR09 Advanced Scalable Data (Fall, 2017) Ecolé Normale Superiuere de Lyon

HBase vs Neo4j. Technical overview. Name: Vladan Jovičić CR09 Advanced Scalable Data (Fall, 2017) Ecolé Normale Superiuere de Lyon HBase vs Neo4j Technical overview Name: Vladan Jovičić CR09 Advanced Scalable Data (Fall, 2017) Ecolé Normale Superiuere de Lyon 12th October 2017 1 Contents 1 Introduction 3 2 Overview of HBase and Neo4j

More information

Introduction to Data Management. Lecture #2 (Big Picture, Cont.)

Introduction to Data Management. Lecture #2 (Big Picture, Cont.) Introduction to Data Management Lecture #2 (Big Picture, Cont.) Instructor: Mike Carey mjcarey@ics.uci.edu Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Announcements v Still hanging

More information

The NoSQL movement. CouchDB as an example

The NoSQL movement. CouchDB as an example The NoSQL movement CouchDB as an example About me sleepnova - I'm a freelancer Interests: emerging technology, digital art web, embedded system, javascript, programming language Some of my works: Chrome

More information

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Copyright 2013, Oracle and/or its affiliates. All rights reserved. 1 Oracle NoSQL Database: Release 3.0 What s new and why you care Dave Segleau NoSQL Product Manager The following is intended to outline our general product direction. It is intended for information purposes

More information

Building a Data Strategy for a Digital World

Building a Data Strategy for a Digital World Building a Data Strategy for a Digital World Jason Hunter, CTO, APAC Data Challenge: Pushing the Limits of What's Possible The Art of the Possible Multiple Government Agencies Data Hub 100 s of Service

More information

Data Informatics. Seon Ho Kim, Ph.D.

Data Informatics. Seon Ho Kim, Ph.D. Data Informatics Seon Ho Kim, Ph.D. seonkim@usc.edu NoSQL and Big Data Processing Database Relational Databases mainstay of business Web-based applications caused spikes Especially true for public-facing

More information

MarkLogic 8 Overview of Key Features COPYRIGHT 2014 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

MarkLogic 8 Overview of Key Features COPYRIGHT 2014 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED. MarkLogic 8 Overview of Key Features Enterprise NoSQL Database Platform Flexible Data Model Store and manage JSON, XML, RDF, and Geospatial data with a documentcentric, schemaagnostic database Search and

More information

VIDEO 1: WHY IS SEGMENTATION IMPORTANT WITH SMART CONTENT?

VIDEO 1: WHY IS SEGMENTATION IMPORTANT WITH SMART CONTENT? VIDEO 1: WHY IS SEGMENTATION IMPORTANT WITH SMART CONTENT? Hi there! I m Angela with HubSpot Academy. This class is going to teach you all about planning content for different segmentations of users. Segmentation

More information

A Journey to DynamoDB

A Journey to DynamoDB A Journey to DynamoDB and maybe away from DynamoDB Adam Dockter VP of Engineering ServiceTarget Who are we? Small Company 4 Developers AWS Infrastructure NO QA!! About our product Self service web application

More information

MIS Database Systems.

MIS Database Systems. MIS 335 - Database Systems http://www.mis.boun.edu.tr/durahim/ Ahmet Onur Durahim Learning Objectives Database systems concepts Designing and implementing a database application Life of a Query in a Database

More information

Modern Database Concepts

Modern Database Concepts Modern Database Concepts Introduction to the world of Big Data Doc. RNDr. Irena Holubova, Ph.D. holubova@ksi.mff.cuni.cz What is Big Data? buzzword? bubble? gold rush? revolution? Big data is like teenage

More information

Welcome to CO 572: Advanced Databases

Welcome to CO 572: Advanced Databases Welcome to CO 572: Advanced Databases Holger Pirk Holger Pirk Welcome to CO 572: Advanced Databases 1 / 41 Purpose of this Lecture Figuring stu out What you know This should mostly be revision (tell me

More information

A 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 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 information

Neo. some code snippets. Emil Eifrem , API v1.0-rc1-snapshot

Neo. some code snippets. Emil Eifrem , API v1.0-rc1-snapshot Neo some code snippets Emil Eifrem 2008-05-08, API v1.0-rc1-snapshot A few brief Neo4j code slides The following is a few slides from a live presentation hopefully the code is selfexplanatory But if it

More information

Outline. Database Management Systems (DBMS) Database Management and Organization. IT420: Database Management and Organization

Outline. Database Management Systems (DBMS) Database Management and Organization. IT420: Database Management and Organization Outline IT420: Database Management and Organization Dr. Crăiniceanu Capt. Balazs www.cs.usna.edu/~adina/teaching/it420/spring2007 Class Survey Why Databases (DB)? A Problem DB Benefits In This Class? Admin

More information

What is a graph database?

What is a graph database? What is a graph database? A graph database is a data store that has been optimized for highly connected data. Storing connected data in a flat tabular format is time and resource intensive, usually requiring

More information

CS639: Data Management for Data Science. Lecture 1: Intro to Data Science and Course Overview. Theodoros Rekatsinas

CS639: Data Management for Data Science. Lecture 1: Intro to Data Science and Course Overview. Theodoros Rekatsinas CS639: Data Management for Data Science Lecture 1: Intro to Data Science and Course Overview Theodoros Rekatsinas 1 2 Big science is data driven. 3 Increasingly many companies see themselves as data driven.

More information

1 Dulcian, Inc., 2001 All rights reserved. Oracle9i Data Warehouse Review. Agenda

1 Dulcian, Inc., 2001 All rights reserved. Oracle9i Data Warehouse Review. Agenda Agenda Oracle9i Warehouse Review Dulcian, Inc. Oracle9i Server OLAP Server Analytical SQL Mining ETL Infrastructure 9i Warehouse Builder Oracle 9i Server Overview E-Business Intelligence Platform 9i Server:

More information

Intro to Neo4j and Graph Databases

Intro to Neo4j and Graph Databases Intro to Neo4j and Graph Databases David Montag Neo Technology! david@neotechnology.com Early Adopters of Graph Technology Survival of the Fittest Evolution of Web Search Pre-1999 WWW Indexing 1999-2012

More information

BEYOND THE RDBMS: WORKING WITH RELATIONAL DATA IN MARKLOGIC

BEYOND THE RDBMS: WORKING WITH RELATIONAL DATA IN MARKLOGIC BEYOND THE RDBMS: WORKING WITH RELATIONAL DATA IN MARKLOGIC Rob Rudin, Solutions Specialist, MarkLogic Agenda Introduction The problem getting relational data into MarkLogic Demo how to do this SLIDE:

More information

Overview. * Some History. * What is NoSQL? * Why NoSQL? * RDBMS vs NoSQL. * NoSQL Taxonomy. *TowardsNewSQL

Overview. * Some History. * What is NoSQL? * Why NoSQL? * RDBMS vs NoSQL. * NoSQL Taxonomy. *TowardsNewSQL * Some History * What is NoSQL? * Why NoSQL? * RDBMS vs NoSQL * NoSQL Taxonomy * Towards NewSQL Overview * Some History * What is NoSQL? * Why NoSQL? * RDBMS vs NoSQL * NoSQL Taxonomy *TowardsNewSQL NoSQL

More information

Database Availability and Integrity in NoSQL. Fahri Firdausillah [M ]

Database Availability and Integrity in NoSQL. Fahri Firdausillah [M ] Database Availability and Integrity in NoSQL Fahri Firdausillah [M031010012] What is NoSQL Stands for Not Only SQL Mostly addressing some of the points: nonrelational, distributed, horizontal scalable,

More information

SCALABLE DATABASES. Sergio Bossa. From Relational Databases To Polyglot Persistence.

SCALABLE DATABASES. Sergio Bossa. From Relational Databases To Polyglot Persistence. SCALABLE DATABASES From Relational Databases To Polyglot Persistence Sergio Bossa sergio.bossa@gmail.com http://twitter.com/sbtourist About Me Software architect and engineer Gioco Digitale (online gambling

More information

EF6 - Version: 1. Entity Framework 6

EF6 - Version: 1. Entity Framework 6 EF6 - Version: 1 Entity Framework 6 Entity Framework 6 EF6 - Version: 1 4 days Course Description: Entity Framework is the new ORM and data access technology introduced by Microsoft. Entity framework provides

More information

Importing and Exporting Data Between Hadoop and MySQL

Importing and Exporting Data Between Hadoop and MySQL Importing and Exporting Data Between Hadoop and MySQL + 1 About me Sarah Sproehnle Former MySQL instructor Joined Cloudera in March 2010 sarah@cloudera.com 2 What is Hadoop? An open-source framework for

More information

MongoDB - a No SQL Database What you need to know as an Oracle DBA

MongoDB - a No SQL Database What you need to know as an Oracle DBA MongoDB - a No SQL Database What you need to know as an Oracle DBA David Burnham Aims of this Presentation To introduce NoSQL database technology specifically using MongoDB as an example To enable the

More information

Microservice Splitting the Monolith. Software Engineering II Sharif University of Technology MohammadAmin Fazli

Microservice Splitting the Monolith. Software Engineering II Sharif University of Technology MohammadAmin Fazli Microservice Software Engineering II Sharif University of Technology MohammadAmin Fazli Topics Seams Why to split the monolith Tangled Dependencies Splitting and Refactoring Databases Transactional Boundaries

More information

745: Advanced Database Systems

745: Advanced Database Systems 745: Advanced Database Systems Yanlei Diao University of Massachusetts Amherst Outline Overview of course topics Course requirements Database Management Systems 1. Online Analytical Processing (OLAP) vs.

More information

Teiid - Scalable Information Integration. Teiid Caching Guide 7.6

Teiid - Scalable Information Integration. Teiid Caching Guide 7.6 Teiid - Scalable Information Integration 1 Teiid Caching Guide 7.6 1. Overview... 1 2. Results Caching... 3 2.1. Support Summary... 3 2.2. User Interaction... 3 2.2.1. User Query Cache... 3 2.2.2. Procedure

More information

ebay s Architectural Principles

ebay s Architectural Principles ebay s Architectural Principles Architectural Strategies, Patterns, and Forces for Scaling a Large ecommerce Site Randy Shoup ebay Distinguished Architect QCon London 2008 March 14, 2008 What we re up

More information

foreword to the first edition preface xxi acknowledgments xxiii about this book xxv about the cover illustration

foreword to the first edition preface xxi acknowledgments xxiii about this book xxv about the cover illustration contents foreword to the first edition preface xxi acknowledgments xxiii about this book xxv about the cover illustration xix xxxii PART 1 GETTING STARTED WITH ORM...1 1 2 Understanding object/relational

More information

OLAP Introduction and Overview

OLAP Introduction and Overview 1 CHAPTER 1 OLAP Introduction and Overview What Is OLAP? 1 Data Storage and Access 1 Benefits of OLAP 2 What Is a Cube? 2 Understanding the Cube Structure 3 What Is SAS OLAP Server? 3 About Cube Metadata

More information

Informatica Power Center 10.1 Developer Training

Informatica Power Center 10.1 Developer Training Informatica Power Center 10.1 Developer Training Course Overview An introduction to Informatica Power Center 10.x which is comprised of a server and client workbench tools that Developers use to create,

More information

Introduction to Data Management. Lecture #1 (Course Trailer )

Introduction to Data Management. Lecture #1 (Course Trailer ) Introduction to Data Management Lecture #1 (Course Trailer ) Instructor: Mike Carey mjcarey@ics.uci.edu Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Today s Topics v Welcome to one

More information

IBM Cognos Framework Manager: Design Metadata Models (V10.2)

IBM Cognos Framework Manager: Design Metadata Models (V10.2) Kod szkolenia: Tytuł szkolenia: B5252PL IBM Cognos Framework Manager: Design Metadata Models (V10.2) Dni: 5 Opis: Course materials for this course are available in: English French German Spanish (Spain)

More information

Introduction to Data Management. Lecture #1 (Course Trailer )

Introduction to Data Management. Lecture #1 (Course Trailer ) Introduction to Data Management Lecture #1 (Course Trailer ) Instructor: Mike Carey mjcarey@ics.uci.edu Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Today s Topics! Welcome to my biggest

More information

Data Informatics. Seon Ho Kim, Ph.D.

Data Informatics. Seon Ho Kim, Ph.D. Data Informatics Seon Ho Kim, Ph.D. seonkim@usc.edu HBase HBase is.. A distributed data store that can scale horizontally to 1,000s of commodity servers and petabytes of indexed storage. Designed to operate

More information

INTRODUCTION. In this guide, I m going to walk you through the most effective strategies for growing an list in 2016.

INTRODUCTION. In this guide, I m going to walk you through the most effective strategies for growing an  list in 2016. - Bryan Harris - INTRODUCTION In this guide, I m going to walk you through the most effective strategies for growing an email list in 2016. A lot of things are taught online that, quite honestly, just

More information

Introduction to Data Management. Lecture #2 (Big Picture, Cont.) Instructor: Chen Li

Introduction to Data Management. Lecture #2 (Big Picture, Cont.) Instructor: Chen Li Introduction to Data Management Lecture #2 (Big Picture, Cont.) Instructor: Chen Li 1 Announcements v We added 10 more seats to the class for students on the waiting list v Deadline to drop the class:

More information

Topics. History. Architecture. MongoDB, Mongoose - RDBMS - SQL. - NoSQL

Topics. 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 information

BIS Database Management Systems.

BIS Database Management Systems. BIS 512 - Database Management Systems http://www.mis.boun.edu.tr/durahim/ Ahmet Onur Durahim Learning Objectives Database systems concepts Designing and implementing a database application Life of a Query

More information

ebay Marketplace Architecture

ebay Marketplace Architecture ebay Marketplace Architecture Architectural Strategies, Patterns, and Forces Randy Shoup, ebay Distinguished Architect QCon SF 2007 November 9, 2007 What we re up against ebay manages Over 248,000,000

More information

NoSQL & NewSQL - The Empire Strikes Back?!

NoSQL & NewSQL - The Empire Strikes Back?! NoSQL & NewSQL - The Empire Strikes Back? Dave Thomas www.davethomas.net Bedarra Research Labs, YOW GOTO, Lodestone Foundation, DepthFirst, Queensland University of Technology, Carleton University Love

More information

CS430/630 Database Management Systems Spring, Betty O Neil University of Massachusetts at Boston

CS430/630 Database Management Systems Spring, Betty O Neil University of Massachusetts at Boston CS430/630 Database Management Systems Spring, 2019 Betty O Neil University of Massachusetts at Boston People & Contact Information Instructor: Prof. Betty O Neil Email: eoneil AT cs DOT umb DOT edu (preferred

More information

CISC 7610 Lecture 2b The beginnings of NoSQL

CISC 7610 Lecture 2b The beginnings of NoSQL CISC 7610 Lecture 2b The beginnings of NoSQL Topics: Big Data Google s infrastructure Hadoop: open google infrastructure Scaling through sharding CAP theorem Amazon s Dynamo 5 V s of big data Everyone

More information

Distributed Databases: SQL vs NoSQL

Distributed Databases: SQL vs NoSQL Distributed Databases: SQL vs NoSQL Seda Unal, Yuchen Zheng April 23, 2017 1 Introduction Distributed databases have become increasingly popular in the era of big data because of their advantages over

More information

Highly Scalable, Ultra-Fast and Lots of Choices

Highly Scalable, Ultra-Fast and Lots of Choices Highly Scalable, Ultra-Fast and Lots of Choices A Pattern Approach to NoSQL Tim Wellhausen kontakt@tim-wellhausen.de http://www.tim-wellhausen.de November 07, 2012 Introduction The main motivation to evaluate

More information

Syllabus. Syllabus. Motivation Decision Support. Syllabus

Syllabus. Syllabus. Motivation Decision Support. Syllabus Presentation: Sophia Discussion: Tianyu Metadata Requirements and Conclusion 3 4 Decision Support Decision Making: Everyday, Everywhere Decision Support System: a class of computerized information systems

More information

Introduction to Data Management. Lecture #1 (Course Trailer ) Instructor: Chen Li

Introduction to Data Management. Lecture #1 (Course Trailer ) Instructor: Chen Li Introduction to Data Management Lecture #1 (Course Trailer ) Instructor: Chen Li 1 Today s Topics v Welcome to one of my biggest classes ever! v Read (and live by) the course wiki page: http://www.ics.uci.edu/~cs122a/

More information

CSE 544 Principles of Database Management Systems. Magdalena Balazinska Winter 2015 Lecture 14 NoSQL

CSE 544 Principles of Database Management Systems. Magdalena Balazinska Winter 2015 Lecture 14 NoSQL CSE 544 Principles of Database Management Systems Magdalena Balazinska Winter 2015 Lecture 14 NoSQL References Scalable SQL and NoSQL Data Stores, Rick Cattell, SIGMOD Record, December 2010 (Vol. 39, No.

More information

CIP Multiple Graphs. Presentation at ocig 8 on April 11, Stefan Plantikow, Andrés Taylor, Petra Selmer (Neo4j)

CIP Multiple Graphs. Presentation at ocig 8 on April 11, Stefan Plantikow, Andrés Taylor, Petra Selmer (Neo4j) CIP2017-06-18 Multiple Graphs Presentation at ocig 8 on April 11, 2018 Stefan Plantikow, Andrés Taylor, Petra Selmer (Neo4j) History Started working on multiple graphs early 2017 Parallel work in LDBC

More information

Neo4j. Graph database for highly interconnected data

Neo4j. Graph database for highly interconnected data Neo4j Graph database for highly interconnected data What is a graph database? 100 75 50 25 0 April May June July When I first heard about graph databases, this is what I expected to see. I had no idea

More information

Object-Relational Mapping

Object-Relational Mapping Object-Relational Mapping Object-Relational Mapping Software Architecture ORM Problems ORM Solutions Demo Software Architecture Part 1 Architecture Separation of Concerns A design principle that comprises

More information

Data-Intensive Distributed Computing

Data-Intensive Distributed Computing Data-Intensive Distributed Computing CS 451/651 431/631 (Winter 2018) Part 5: Analyzing Relational Data (1/3) February 8, 2018 Jimmy Lin David R. Cheriton School of Computer Science University of Waterloo

More information

Administration Naive DBMS CMPT 454 Topics. John Edgar 2

Administration Naive DBMS CMPT 454 Topics. John Edgar 2 Administration Naive DBMS CMPT 454 Topics John Edgar 2 http://www.cs.sfu.ca/coursecentral/454/johnwill/ John Edgar 4 Assignments 25% Midterm exam in class 20% Final exam 55% John Edgar 5 A database stores

More information

Understanding NoSQL Database Implementations

Understanding NoSQL Database Implementations Understanding NoSQL Database Implementations Sadalage and Fowler, Chapters 7 11 Class 07: Understanding NoSQL Database Implementations 1 Foreword NoSQL is a broad and diverse collection of technologies.

More information

Beyond Relational Databases: MongoDB, Redis & ClickHouse. Marcos Albe - Principal Support Percona

Beyond Relational Databases: MongoDB, Redis & ClickHouse. Marcos Albe - Principal Support Percona Beyond Relational Databases: MongoDB, Redis & ClickHouse Marcos Albe - Principal Support Engineer @ Percona Introduction MySQL everyone? Introduction Redis? OLAP -vs- OLTP Image credits: 451 Research (https://451research.com/state-of-the-database-landscape)

More information

The strategic advantage of OLAP and multidimensional analysis

The strategic advantage of OLAP and multidimensional analysis IBM Software Business Analytics Cognos Enterprise The strategic advantage of OLAP and multidimensional analysis 2 The strategic advantage of OLAP and multidimensional analysis Overview Online analytical

More information

Safe Harbor Statement

Safe Harbor Statement Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment

More information

CS614 - Data Warehousing - Midterm Papers Solved MCQ(S) (1 TO 22 Lectures)

CS614 - Data Warehousing - Midterm Papers Solved MCQ(S) (1 TO 22 Lectures) CS614- Data Warehousing Solved MCQ(S) From Midterm Papers (1 TO 22 Lectures) BY Arslan Arshad Nov 21,2016 BS110401050 BS110401050@vu.edu.pk Arslan.arshad01@gmail.com AKMP01 CS614 - Data Warehousing - Midterm

More information

CIB Session 12th NoSQL Databases Structures

CIB Session 12th NoSQL Databases Structures CIB Session 12th NoSQL Databases Structures By: Shahab Safaee & Morteza Zahedi Software Engineering PhD Email: safaee.shx@gmail.com, morteza.zahedi.a@gmail.com cibtrc.ir cibtrc cibtrc 2 Agenda What is

More information

Big Data Management and NoSQL Databases

Big Data Management and NoSQL Databases NDBI040 Big Data Management and NoSQL Databases Lecture 1. Introduction Doc. RNDr. Irena Holubova, Ph.D. holubova@ksi.mff.cuni.cz http://www.ksi.mff.cuni.cz/~holubova/ndbi040/ What is Big Data? buzzword?

More information

Five Common Myths About Scaling MySQL

Five Common Myths About Scaling MySQL WHITE PAPER Five Common Myths About Scaling MySQL Five Common Myths About Scaling MySQL In this age of data driven applications, the ability to rapidly store, retrieve and process data is incredibly important.

More information

What is Grails4Notes(TM)?

What is Grails4Notes(TM)? What is Grails4Notes(TM)? Justin Hill, CTO, Prominic.NET, Inc. Copyright (c) 2014. All rights reserved. Trademarks mentioned herein are the rights of their respective owners. About me and Prominic: Co-founder

More information

NOSQL EGCO321 DATABASE SYSTEMS KANAT POOLSAWASD DEPARTMENT OF COMPUTER ENGINEERING MAHIDOL UNIVERSITY

NOSQL 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 information