Download Dive_into_NoSQL_with_Azure

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Dive into NoSQL with Azure
Niels Naglé
Hylke Peek
Thanks to our platinum sponsors :
Thanks to our silver and gold sponsors :
Wie zijn wij
Hylke Peek
Niels Naglé
Data Solutions Consultant & Trainer
Data Solutions Consultant & Trainer
[email protected]
[email protected]
@HylkePeek
@NielsNagle
Topics






Why NoSQL?
Key/Value store
Document store
Column Family store
Graph database
RECAP
Relational Database
RDBMS
SQL
APP
PK
Title
Speaker
Track
Level
int
string
string
string
int
1
2
NULL
3
4
NULL
N
U
L
L
Horizontal partitioning
RDBMS
Sharded RDBMS
1
2
3
4
5
6
7
8
9
10
1
2
11
12
13
14
15
4
5
Shard 1
Shard 3
Shard 2
3
6
7
8
12
9
10
11
15
13
14
ACID vs BASE
UPDATE Sessions
SET Level = 200
WHERE ID = 1
U
ACID
U
U
U
UPDATE Sessions
SET Level = 200
WHERE ID = 1
U
BASE
U
U
U
Aggregates
NoSQL
Characteristics
Non-relation data model
Horizontal scalability
More data flexibility
Pros
Cons
Horizontal scalability
No ACID transactions
Easier coding
Communication with other tools
Schema less
Schema less
Azure options
Azure Service
Aggregate
Storage
Query
language
Transaction
support
Secundairy
indexes
Procs and
Triggers
Pricing
Azure options
Azure Service
Aggregate
Storage
Query
language
Transaction
support
Secundairy
indexes
Procs and
Triggers
Pricing
SQL Database
No
Table, column,
row
T-SQL
Yes
Yes
Yes, in TSQL
Throughput
Relational
Topics






Why NoSQL?
Key/Value store
Document store
Column Family store
Graph database
RECAP
Key/Value store
Key
1
2
3
4
Value
Azure Tables
Azure Tables
Key/Value store
Title
A
1
string
A 2
Title
A
APP
Speaker
string
Speaker
2
string
string
Track
string
Partition
A
A 2
Title
B
1
string
Table
Title
Partition
A – Partition key
Entity
1 – Row key
Property
Data
B
Level
string
EndDate
2
string
string
EndDate
date
Partition
B
Azure options
Azure Service
Aggregate
Storage
Query
language
Transaction
support
Secundairy
indexes
Procs and
Triggers
Pricing
SQL Database
No
Table, column,
row
T-SQL
Yes
Yes
Yes, in TSQL
Throughput
Yes
Table, partition,
entity
Subset of
OData queries
Within the partition
No
No
Data storage
Relational
Azure Tables
Key/Value
Topics






Why NoSQL?
Key/Value store
Document store
Column Family store
Graph database
RECAP
Document store
id
1
Document
{
"UserName":"johnclarkson",
"Email" :"[email protected]",
"MemberSince" :"03-05-2015",
"DateOfBirth" :"06-04-1980",
"BillingAddress" :"Mainstreet 14, New York……"
}
2
{
"ProductName":"Shirts",
"Size" :"L",
"Colour" :"White",
"RetailPrice" :"30",
}
Implicit schema!
DocumentDB
Document store
Request
APP
{...}
Collection
Data (Documents)
DocumentDB
Azure options
Azure Service
Aggregate
Storage
Query
language
Transaction
support
Secundairy
indexes
Procs and
Triggers
Pricing
SQL Database
No
Table, column,
row
T-SQL
Yes
Yes
Yes, in TSQL
Throughput
Yes
Table, partition,
entity
Subset of
OData queries
Within the partition
No
No
Data storage
Yes
Collection,
document
Extended
subset of SQL
Documents within a
collection
Yes
Yes, in
JavaScript
Throughput
Relational
Azure Tables
Key/Value
DocumentDB
Document
Topics






Why NoSQL?
Key/Value store
Document store
Column Family store
Graph database
RECAP
Column Family store
Row key
Column
Family
Profile
Column Qualifier
Column value
UserName
Johnclarkson
Email
[email protected]
MemberSince
03-05-2015
ProductName
Shirts
Size
L
Colour
White
RetailPrice
<timestamp> : 30000
<timestamp> : 30
UserName
Johnclarkson
Email
[email protected]
1
Product
Implicit schema!
Profile
MemberSince
2
Manager
ManagerName
Henk
Department
Finance
HDInsight
HBase
HDInsight HBase
Column Family store
Session
Speaker
Name
Session
Title
2
V2
1
APP
2
2
3
Table
4
Column Family
Column
1 – Row key
Row
Data
Country
Title
Level
Room
Azure options
Azure Service
Aggregate
Storage
Query
language
Transaction
support
Secundairy
indexes
Procs and
Triggers
Pricing
SQL Database
No
Table, column,
row
T-SQL
Yes
Yes
Yes, in TSQL
Throughput
Yes
Table, partition,
entity
Subset of
OData queries
Within the partition
No
No
Data storage
Yes
Collection,
document
Extended
subset of SQL
Documents within a
collection
Yes
Yes, in
JavaScript
Throughput
Yes
Table,
column family,
column, row,
version
None
(commands like
create, get, put
and scan)
Row
No
Yes, in
Java
Data storage en
VM’s
Relational
Azure Tables
Key/Value
DocumentDB
Document
HDInsight Hbase
Column Family
Topics






Why NoSQL?
Key/Value store
Document store
Column Family store
Graph database
RECAP
Graph database
Relationship
Node
Azure options
Azure Service
Aggregate
Storage
Query
language
Transaction
support
Secundairy
indexes
Procs and
Triggers
Pricing
SQL Database
No
Table, column,
row
T-SQL
Yes
Yes
Yes, in TSQL
Throughput
Yes
Table, partition,
entity
Subset of
OData queries
Within the partition
No
No
Data storage
Yes
Collection,
document
Extended
subset of SQL
Documents within a
collection
Yes
Yes, in
JavaScript
Throughput
Yes
Table,
column family,
column, row,
version
None
(commands like
create, get, put
and scan)
Row
No
Yes, in
Java
Data storage en
VM’s
Yes and No
-
-
-
-
-
Per VM
Relational
Azure Tables
Key/Value
DocumentDB
Document
HDInsight Hbase
Column Family
VM’s
All
Topics






Why NoSQL?
Key/Value store
Document store
Column Family store
Graph database
RECAP
ACID vs BASE
U
ACID
UPDATE Sessions
SET Level = 200
WHERE ID = 1
SQL Database
UPDATE Sessions
SET Level = 200
WHERE ID = 1
Azure Tables
GRAPH Neo4J
U
U
U
BASE
U
DocumentDB
HBASE
Azure Data technologiën
Operational data
NoSQL
Technologies
SQL
Technologies
Key/Value
- Tables
- Riak…
Column Family
- HDInsight HBase
- Cassandra…
Document
- DocumentDB
- MongoDB…
Graph
- Neo4j…
Relational Database
- SQL Database
- SQL Server
- Oracle
- MySQL…
Analytical data
Big Data Analytics
- HDInsight
- Hadoop…
Relational Analytics
- SQL Data Warehouse
- SQL Server
- Oracle
- MySQL…
Managed service
in Azure
Software that can
run in Azure VM
Use Cases
 Key/Value: Amazon Shopping Cart
 Document store: MetLife 360 Customer information
 Column Family store: Facebook Message store
 Graph database: Wallmart Realtime Recommendation
Social graphs
Polyglot Persistence
Questions
?
?
?
Announcement
28-11-2015
Raffle!
+
=
Please review the event and sessions
 http://www.sqlsaturday.com/434/eventeval.aspx
 http://www.sqlsaturday.com/434/sessions/sessionevaluation.aspx
Is there Demo time left?
Demo Document DB
Demo Graph database in Azure VM
Neo4j
IS_A
Neo4j
Graph database
Used Sources & Extra information
 Azure Documentation
(http://azure.microsoft.com/nl-nl/documentation/services/)
 Youtube teched 2014 – Introduction to NoSQL on Azure
(https://www.youtube.com/watch?v=sDUHsUQC8NM)
 Martin fowler 2013 – Introduction to No SQL
(https://www.youtube.com/watch?v=qI_g07C_Q5I)
 Graph databases (2nd edition) O’Reilly
(http://graphdatabases.com/)
 HBASE 101
(https://www.youtube.com/watch?v=KZps2dzr_u4)
Related documents