Slide Deck #14b- Chapter 10: NOSQL

Lakukan tugas rumah & ujian kamu dengan baik sekarang menggunakan Quizwiz!

Not only SQL (NOSQL) Databases

-Became open source in 1998 when the internet was exploding -Emergence of new software through time based on needs -Schema-less data models (flexible tables) -Hadoop -Scaling out rather than scaling up (adding additional systems- less expensive) -Highly available-using clusters (if one fails, software can be distributed across nodes) -Highly scalable, fault-tolerant -Aggregate focused -Lower operational costs -Eventual consistency

Column family stores

-Closer to relational databases, made to process large amounts of data -Still use keys- they point to multiple columns in groups of column families -Column family stores- can have one or more columns and can be added/ removed (or compressed) -Used when real time capability is needed, data represents a tabular structure, support for schema evolution is required, query patterns involve insert, select, update, and delete operations, query patterns involve sets of columns, & SQL compliant queries such as joins are not needed

Document oriented store

-Common -Similar to key value stores because store data as key-value pairs, but are basically version documents- used for XML, HTML, JSON, BSON -Stored value is a document that can be queried by the database -Query data very efficiently- create indexes automatically (supported) -Hierarchies -Can have nested structure and can be encoded as text -Values have self-describing schema -Partial operations in values are supported -Collections can have documents with different schema which can change over time -Documents can be joined and multiple documents can be updated in a single operation -Each document can have different values of keys and data

SQL Database Main Characteristics

-Designed to host and work with non-relational data (semi-structured or unstructured)-structure for specific requirements -They can store relational data if needed -Focus on scalability-They can be shared or partitioned, they can handle multi-terabyte data sizes -Focus on availability over transactional consistency- eventual consistency

NewSQL Databases

-New breed of relational database products -Combines ACID (atomicity, consistency, isolation, durability) of RDBMS with scalability and fault tolerance of NOSQL -Can be used for online transaction processing (OLTP) systems because of large volumes and real time analytics -Main characteristic: multimodal- single database can store data in columnar, document, & graph

What is a NoSQL database?

-Originally created by large internet companies such as Google and Yahoo because needed large and fast results -Open source- most SQL databases are open source, now some have an open source and commercial offering (can be used publicly) -Name-Comes from a Twitter hashtag designed to coordinate a meetup in SF -A term used to describe high-performance, non-relational databases. NoSQL databases use a variety of data models, including document, graph, key/value, and columnar.

Key-value databases

-Store data as key-value pairs and act like hash tables (a structure that maps keys to values) -Hash tables- when there is a unique key or pointer to a particular item of data (like a relational table with only 2 columns-the primary key and the data which could be anything) -A lot on the web-for example cookies that track online behavior -The value is unable to be seen to the database and is typically stored as a binary large object (used for storing information in databases) -Updates is a combination of delete and insert -Use for unstructured data with simple structure and simple query patterns- understood by application layer -Do not use for searching by values, relationships between entities, multiple keys operations, or schema consistency ex: Redis

Graph Databases

-Used for interconnected entities -Emphasis on linkage rather than entities -Entities= vertices= nodes -Instead of storing with tables and rows, store as nodes and vertices -Some scenarios where this is great-social network, cellular networks (distances/vertices) -Algorithms to help you traverse in an easy way -Methods- e.g. procedures to find fastest paths between two noes -Complex, but graphs make much easier -Nodes can have attribute data as key-value pairs such as the customer node with ID, name and age attributes -Nodes can have more than one type of link -Best for graphing data, queries that traverse interconnected entities, finding distances and patterns -Not good for binary, nested, or large # of attributes

NoSQL Database categories

1. Key-value volatile, Key-value persistent- uses a hash model with a unique pointer 2. Wide-column- (column-oriented store) most similar to relational database- still key-based, but point to multiple columns 3. Document-oriented store- most widely used- next generation key-value allowing nested values associated to each key (usually uses Json) 4. Graph- exotic type-instead of rows and columns, stores individual entities and relationships as graphs


Set pelajaran terkait

Variable Interest Entities (VIEs)

View Set

Social Psychology Chapter 6: Attitudes

View Set

Chapter 4: Entity Relationship (ER) Modeling

View Set

ACC 2 - Completion and Modified T/F

View Set

Series 63 Business Practices Questions

View Set

computer architecture ch 6 memory heirarchy

View Set