Modern Database systems -...

35
Distributed NoSQL DBMS IPPB, I.Savnik Ch.1/ Modern Database systems Iztok Savnik, FAMNIT, 2019

Transcript of Modern Database systems -...

Page 1: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed NoSQL DBMS IPPB, I.Savnik Ch.1/

Modern Database systems

Iztok Savnik, FAMNIT, 2019

Page 2: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed NoSQL DBMS IPPB, I.Savnik Ch.1/

Contents

•NoSQL movement•Key-Value stores•Column-oriented database systems•Map-Reduce systems•Graph database systems•Dataflow systems

Page 3: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed NoSQL DBMS IPPB, I.Savnik Ch.1/

Motives of NoSQL practioners

• Avoidance of Unneeded Complexity•High Throughput•Horizontal Scalability and Running on Commodity Hardware• Avoidance of Expensive Object-Relational Mapping• Complexity and Cost of Setting up Database Clusters• The Current “One size fit’s it all” Databases Thinking Was and Is Wrong• The Myth of Effortless Distribution and Partitioning of Centralized Data

Models•Movements in Programming Languages and Development Frameworks• Requirements of Cloud Computing• The RDBMS plus Caching-Layer Pattern/Workaround vs. Systems Built

from Scratch with Scalability in Mind• Yesterday’s vs. Today’s Needs

Page 4: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed NoSQL DBMS IPPB, I.Savnik Ch.1/

Background work

•Michael Stonebraker: “The End of an Architectural Era” “that the current RDBMS code lines, while attempting to be a “one size fits

all” solution, in fact, excel at nothing” prototype named H-Store developed at the M.I.T. beats up RDBMSs by

nearly two orders of magnitude in the TPC-C benchmark RDBMSs“ are 25 year old legacy code lines that should be retired in favor of

a collection of “from scratch” specialized engines. The DBMS vendors (and the research community) should start with a clean sheet of paper and design systems for tomorrow’s requirements, not continue to push code lines and architectures designed for yesterday’s needs”

“popular relational DBMSs all trace their roots to System R from the 1970s”: IBM’s DB2 is a direct descendant of System R, Microsoft’s SQL Server has evolved from Sybase System 5 (another direct System R descendant) and Oracle implemented System R’s user interface in its first release.

Page 5: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed NoSQL DBMS IPPB, I.Savnik Ch.1/

Design Considerations

•Main Memory•Multi-Threading and Resource Control•Grid Computing and Fork-Lift Upgrades•High Availability

“start with shared-nothing support at the bottom of the system”

•No Knobs current RDBMSs were designed in an “era, [when] computers were

expensive and people were cheap. Today we have the reverse.

Page 6: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed NoSQL DBMS IPPB, I.Savnik Ch.1/

Considerations Concerning Transactions, Processing and Environment

• Persistent redo-logs have to be avoided since they are “almost guaranteed to be a significant performance bottleneck”.

• Communication between client and DBMS-server via JDBC/ODBC-like interfaces is the next performance-degrading issue

• Eliminate an undo-log “wherever practical, since it will also be a significant bottleneck”

• The next performance bottleneck addressed is dynamic locking to allow concurrent access

• Multi-threaded datastructures lead to latching of transactions• Two-phase-commit (2PC) transactions should be avoided whenever possible

as the network round trips caused by this protocol degrade performance

Page 7: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed NoSQL DBMS IPPB, I.Savnik Ch.1/

Transaction and Schema Characteristics

•Tree Schemes “every table except a single one called root, has exactly one join term which

is a 1-n relationship with its ancestor. Hence, the schema is a tree of 1-n relationships”

•Constrained Tree Application “every command in every transaction class has equality predicates on the

primary key(s) of the root node” “every SQL command in every transaction class is local to one site”

•Single-Sited Transactions•One-Shot Applications•Two-Phase Transactions•Strongly Two-Phase Transactions•Transaction Commutativity•Sterile Transactions Classes

Page 8: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed NoSQL DBMS IPPB, I.Savnik Ch.1/

H-Store Overview

• H-Store runs on grid• On each rows of tables are placed contiguously in main memory• B-tree indexing is used • Sites are partitioned into logical sites which are dedicated to one CPU core• Logical sites are completely independent having their own indexes, tuple storage

and partition of main memory of the machine they run on• H-Store works single-threaded and runs transactions uninterrupted• H-Store allows to run only predefined transactions implemented as stored

procedures• H-Store omits the redo-log and tries to avoid writing an undo-log whenever

possible; if an undo-log cannot be avoided it is discarded on transaction commit• If possible, query execution plans exploit the single-sited and one-shot properties

discussed above• H-Store tries to achieve the no-knobs and high availability requirements as well as

transformation of transactions to be single-sited by “an automatical physical database designer: specify horizontal partitioning, replication

locations, indexed fields”• Since H-Store keeps replicas of each table these have to be updated transactionally.

Read commands can go to any copy of a table while updates are directed to all replicas.• H-Store leverages the above mentioned schema and transaction characteristics for

optimizations, e. g. omitting the undo-log in two-phase transactions.

Page 9: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed NoSQL DBMS IPPB, I.Savnik Ch.1/

Consequences

•Stonebraker, Et.Al. “we are heading toward a world with at least 5 (and probably more)

specialized engines and the death of the “one size fits all” legacy systems” … in contrast to the 1970s when “the DBMS world contained only business

data processing applications”

•The following markets which need specialized DBMSs Data warehouses Stream processing Text processing Scientific-oriented databases Semi-structured data

Page 10: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed NoSQL DBMS IPPB, I.Savnik Ch.1/

Main Drivers

•A great number of companies and projects over the last couple of years

Google’s Bigtable Amazon’s Dynamo Cassandra originally developed at Facebook (also Twiter) Voldemort developed and used at LinkedIn NoSQL store Amazon SimpleDB

•Most of the popular NoSQL datastores have adopted ideas of Google’s Bigtable

Bigtable-inspired NoSQL stores are commonly referred to as column-stores (e. g. HyperTable, HBase)

Amazon’s Dynamo Dynamo influenced most of the key-/values-stores (e.g. Cassandra, Redis, Project

Voldemort)

Page 11: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed NoSQL DBMS IPPB, I.Savnik Ch.1/

Criticism

•Scepticism on the Business Side•NoSQL as a Hype

James Bezdek in an IEEE editorial as follows: Every new technology begins with naïve euphoria – its inventor(s) are usually submersed

in the ideas themselves; it is their immediate colleagues that experience most of the wild enthusiasm

Most technologies are overpromised, more often than not simply to generate funds to continue the work, for funding is an integral part of scientific development; without it, only the most imaginative and revolutionary ideas make it beyond the embryonic stage.

Hype is a natural handmaiden to overpromise, and most technologies build rapidly to a peak of hype.

Following this, there is almost always an overreaction to ideas that are not fully developed, and this inevitably leads to a crash of sorts, followed by a period of wallowing in the depths of cynicism.

Many new technologies evolve to this point, and then fade away. The ones that survive do so because someone finds a good use (= true user benefit) for the basic ideas.”

Page 12: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed NoSQL DBMS IPPB, I.Savnik Ch.1/

Criticism

•NoSQL as Being Nothing New Lotus Notes and CouchDB Alternatives to relational databases have existed for a long time

•NoSQL Meant as a Total “No to SQL” NoSQL advocates propose a total denial of RDBMSs and proclaimed the

death of these systems Recently the bloggers:

“I think that what we are seeing is more of a realization that existing SQL database alternatives are probably not going away any time soon, but at the same time they can’t solve all the problems of the world. Interestingly enough the term NOSQL has now been changed to Not Only SQL, to represent that line of thought”

“there is a[sic!] yet to be a solid technical definition of what it means for a product to be a "NoSQL" database aside from the fact that it isn’t a relational database”

“The problem with that name is that it only defines what it is not. That makes it confrontational and not amazingly particular to what it includes or excludes. [. . . ] What we’re seeing its [sic!] the end of the assumption that valuable data should go in some kind of relational database. The end of the assumption that SQL and ACID are the only tools for solving our problems. The end of the viability of master/slave scaling. The end of weaving the relational model through our application code”

Page 13: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed NoSQL DBMS IPPB, I.Savnik Ch.1/

Stonebraker’s Critical Reception of NoSQL Databases

“The “NoSQL” Discussion has Nothing to Do With SQL” “a low-level record-at-a-time DBMS interface, instead of SQL” Two reasons for moving towards non-relational datastores:

flexibility and Performance

Five sources of performance overhead: Communication Logging Locking Latching Buffer Management

NoSQL databases also have to address the components of performance overhead mentioned above “I fully expect very high speed, open-source SQL engines in the near future

that provide automatic sharding. [. . . ] Moreover, they will continue to provide ACID transactions along with the increased programmer productivity, lower maintenance, and better data independence afforded by SQL.”

Page 14: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed NoSQL DBMS IPPB, I.Savnik Ch.1/

Requirements of Administrators and Operators

“The dark side of NoSQL” Ad Hoc Data Fixing Ad Hoc Data Querying Data Export

Page 15: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed NoSQL DBMS IPPB, I.Savnik Ch.1/

Classifications

Page 16: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed NoSQL DBMS IPPB, I.Savnik Ch.1/

Classifications

Page 17: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed noSQL DBMS OPB, I.Savnik Ch.1/

Key-/Value-Stores

Key-/value-stores have a simple data model in common: a map/dictionary, allowing clients to put and request values per key.

Modern key-value stores favor high scalability over consistency Most of them also omit rich ad-hoc querying and analytics features Especially joins and aggregate operations are set aside

Key-/value-stores have existed for a long time e.g. Berkeley DB

Examples of Key/Value stores Amazon’s Dynamo Riak Redis

Page 18: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed noSQL DBMS OPB, I.Savnik Ch.1/

Amazon Dynamo

Tens of thousands of servers and network components located in many datacenters around the world Commodity hardware is used Amazon uses a highly decentralized, loosely coupled, service oriented

architecture consisting of hundreds of services Concepts Applied in Dynamo

Dynamo uses consistent hashing along with replication as a partitioning scheme

Objects stored in partitions among nodes are versioned Replication

A quorum-like technique and a (not further specified) protocol for decentralized replica synchronization

Page 19: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed noSQL DBMS OPB, I.Savnik Ch.1/

Amazon Dynamo

A simple key/value interface storing values as BLOBs Operations are limited to one key/value-pair at a time

no cross-references to other key-/value-pairs or operations spanning more than one key-/value-pair

hierarchichal namespaces (like in directory services or filesystems) are not supported by Dynamo

Dynamo “targets applications that operate with weaker consistency [. . . ] if this results in high availability”

Page 20: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed noSQL DBMS OPB, I.Savnik Ch.1/

Amazon Dynamo

Page 21: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed noSQL DBMS OPB, I.Savnik Ch.1/

Riak

Basic features at a glance Open source, incremental scalability, high availability, operational

simplicity, decentralized design, automatic data distribution, advanced replicas, fault tolerance, …

Implemented in Erlang Data model

Object = key-value pair Bucket = collection of objects (logical, not physical collection) How buckets, keys and values should be designed?

Querying Basic CRUD operations

Create, Read, Update, and Delete Based on key look-up

Extended functionality Links – relationships between objects and their traversal Search 2.0 – full-text queries accessing values of objects MapReduce

Page 22: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed noSQL DBMS OPB, I.Savnik Ch.1/

Redis

Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker Exploiting huge amounts of RAM

Redis is often described as an in-memory persistent key-value store Redis exposes five different data structures

Strings, hashes, lists, sets, ordered sets Persistence by dumping the data structures to the disk

Querying keys are everything and values are nothing Get and Set operations based on keys (CRUD) range queries, bitmaps, hyperloglogs and geospatial indexes with radius

queries Features

Redis has built-in replication, Lua scripting, LRU eviction, transactions, different levels of on-disk persistence, and automatic partitioning with Redis Cluster

Page 23: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed noSQL DBMS OPB, I.Savnik Ch.1/

Map-Reduce Systems

•Brought up by Google employees in 2004•Task split into two stages:

Map: a coordinater designates pieces of data to process a number of nodes which execute a

given map function and produce intermediate output. Reduce:

the intermediate output is processed by a number of machines executing a given reduce function whose purpose it is to create the final output from the intermediate results, e. g. by some aggregation

•Map and Reduce functions Have to be understood in a real functional manner

•Map-Reduce is a programming technique It is used for programming streams Restricted to the Map-Reduce model of computation

Page 24: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed noSQL DBMS OPB, I.Savnik Ch.1/

Map-Reduce Systems

Page 25: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed DBMS © M. T. Özsu & P. Valduriez Ch.1/

Map-Reduce Systems

MapReduce paradigm has been adopted by Programming languages (e. g. Python) Frameworks (e.g. Apache Hadoop) Even JavaScript toolkits (e. g. Dojo) and NoSQL databases (e. g. CouchDB)

Page 26: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed noSQL DBMS OPB, I.Savnik Ch.1/

Column-Oriented Databases

•The approach to store and process data by column instead of row Origin in analytics and business intelligence

Column-stores operating in a shared-nothing massively parallel processing architecture can be used to build high-performance applications

•Column-orientation has a number of advantages One column is always accessed (not whole table of records) An index on a column is a representation of column Scalability of the column-oriented database

•Puristic column-oriented stores Sybase IQ and Vertica

•Less puristic column stores subsume datastores that integrate column- and row-orientation Bigtable (Google) based on GFS

Hypertable and Hstore both based on HDFS (Hadoop file system) Cassandra

Derived from on Bigtable and Dynamo

Page 27: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed noSQL DBMS OPB, I.Savnik Ch.1/

Column-Oriented Databases

• • • • • •Column store features

Index-only plans, heavy compression, late materialization, block iteration,

•C-store outperforms •commercial Row- Oriented DB

Daniel Abadi

Page 28: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed noSQL DBMS OPB, I.Savnik Ch.1/

Google’s Bigtable

•A distributed storage system for managing structured data that is designed to scale to a very large size

Petabytes of data across thousands of commodity servers It is used by over sixty projects at Google as of 2006: Google Earth, Google

Analytics, Orkut, and Google Docs From throughput-oriented batch-processing jobs to latency-sensitive serving

of data to end users

•Bigtable has achieved several goals wide applicability, scalability, high performance, and high availability

•Data Model The key-value pair model provided by distributed B-trees or distributed hash

tables is too limiting Bigtable should be “richer than simple key-value pairs, and [support] sparse

semi-structured data It should remain “simple enough that it lends itself to a very efficient flat-file

representation, and [. . . ] transparent enough [. . . ] to allow our users to tune important behaviors of the system”

Page 29: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed noSQL DBMS OPB, I.Savnik Ch.1/

Cassandra

•Cassandra adopts ideas and concepts of Amazon’s Dynamo as well as Google’s Bigtable

•Distributed storage system for managing structured data that is designed to scale to a very large size

• It “shares many design and implementation strategies with databases” but “does not support a full relational data model; Instead, it provides clients with a simple data model that supports dynamic

control over data layout and format”

•Besides Facebook, other companies have also adopted Cassandra such as Twitter, Digg and Rackspace

Page 30: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed noSQL DBMS OPB, I.Savnik Ch.1/

Graph database systems

•Graph data model Data is represented in the form of the graph Any representation can be converted to a graph representation

•Graph representations Adjacency lists, Adjecency matrix, Triples and triple tables, Special data

structures Indexes, bitmaps, signature trees, …

RDF data model Many levels of representation: data, schema, logic

• Querying Initially in-memory systems SPARQL query language

Data and knowledge query language (RDF inference) Heavy use of indexing

Special new index structures Query optimization

Dynamic programming, pipelines, bushy trees Distributed databases and query processing

Page 31: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed noSQL DBMS OPB, I.Savnik Ch.1/

RDF-3X

•RDF-3X is a centralized triple-store system Triples are converted to numeric id-s and then stored directly in B+ trees Uses six indexes for each ordering of triple-store columns S,P and O B+ indexes are customized

indexes are highly compressed triples are stored directly in the leafs of B+ trees each index uses lexicographic ordering of triples which provides the opportunity to

compress triples in leafs by storing only the differences between the triples additional aggregated indexes where the number of triples are stored for each

particular instance (value) of the prefix for each of the six indexes

•Querying Exploiting merge joins Focused on join ordering to optimize the query process

The optimization uses selectivity statistics calculated for given queries using selectivity histograms and statistics of frequently accessed paths

An implementation of SPARQL that achieves excellent performance by pursuing a RISC-style architecture

Efficient queries that include pattern matching, manyway star-joins, and long path-joins

Page 32: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed noSQL DBMS OPB, I.Savnik Ch.1/

Virtuoso

•Virtuoso is a multi-model database management system based on relational database technology Provides RDF data management, XML data management, content

management, and a Web application server

•Data model Triple-store as a table composed of four columns Exploit existing relational techniques and add functionality to the RDBMS

to deal with features specific to RDF data The most important aspects

extending SQL types with the RDF data type, dealing with unpredictable sizes of objects, providing efficient indexing and extending relational statistics to cope with the RDF

store based on a single table as well as efficient storage of RDF data

•Querying SQL extension and SPARQL implementation

SPARQL queries are translated into SQL during parsing Virtuoso uses sampling to estimate the cost of alternative plans Basic RDF inference on TBox and ABox

Page 33: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed noSQL DBMS OPB, I.Savnik Ch.1/

neo4j

• •Graph data model

Adjacency lists representations (no cost for joins) Flexible data model

•Features Nodes and relationships store data in key-value pairs known as properties A kind of database programming language ACID properties Scalability and reliability Neo4j provides a powerful declarative query language known as Cypher Built-in web application Neo4j supports Indexes by using Apache Lucence

•Advantages of Neo4j Real-time insights, High availability, Connected and semi structures data,

Easy retrieval, Cypher query language, No joins

Page 34: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed noSQL DBMS OPB, I.Savnik Ch.1/

Dataflow systems

Application domain Data-intensive analytics is moving towards complex data-processing tasks

such as statistical modeling, graph analysis, machine learning, and scientific computing

Computation model MapReduce model is restricted

Dataflow systems are extending the MapReduce framework with a more generalized dataflow-based execution model

new primitive operations in addition to Map and Reduce Systems: Spark, Hyracks, and Nephele

Dataflow model can express a wide range of data access and communication patterns

Various dataflow-based execution models have been proposed directed acyclic graphs in Dryad, serving trees in Dremel,and bulk synchronous parallel processing in Pregel

Page 35: Modern Database systems - osebje.famnit.upr.siosebje.famnit.upr.si/~savnik/predmeti/IPPB/Introduction-noSQL.pdf · relationships” •Constrained Tree Application “every command

Distributed noSQL DBMS OPB, I.Savnik Ch.1/

Dataflow systems