Weitere ähnliche Inhalte Mehr von Johannes Hoppe (20) 2017 - NoSQL Vorlesung Mosbach26. › SET note1:title "Mittag"
› SET note1:message "nicht vergessen"
› KEYS note1:*
› GET note1:title
› DEL note1:title note1:message
40. using (var documentStore = new EmbeddableDocumentStore{
RunInMemory = true}.Initialize())
{
using (var session = documentStore.OpenSession())
{
// Run complex test scenarious
}
}
42. Ayende Rahien on the HTTP API - http://ravendb.net/documentation/docs-http-api-restful
43. ›
›
›
C:>curl -X GET http://localhost:8080/docs/Categories/1 -i
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
ETag: 00000000-0000-0200-0000-000000000004
{
"Name" : "Normal Importance",
"Color" : "green"
}
49. IBM’s
IMS
Codd publishes
relational model paper
in 1970
1966 1969 1970 1985 2000 2004 2007
Agile becoming more
popular
1990’s 2009
CODASYL model
published
Term “object-oriented
database” appears
Brewer’s
CAP born
Google
BigTable
Amazon
Dynamo
Apache Cassandra
initial release
2008
MongoDB initial
release
1973 1974
INGRES
SQL
invented
1977
Oracle
founded
10gen
founded
NoSQL
Movement
54. –
› use WebNote
› db.Notes.save(
{
Title: 'Mittag',
Message: 'nicht vergessen‘
}
);
› db.Notes.save
55. –
for(i=0; i<1000; i++) {
['quiz', 'essay', 'exam'].forEach(function(name) {
var score = Math.floor(Math.random() * 50) + 50;
db.scores.save({student: i, name: name, score:
score});
});
}
db.scores.count();
75. › use digg;
› db.people.update({name: 'Smith'},
{'$set': {interests: []}});
› db.people.update({name: 'Smith'},
{'$push': {interests: ['chess']}});
79. var map = function() {
emit(this.user.name, {diggs: this.diggs,
posts: 0});
};
80. var reduce = function(key, values) {
var diggs = 0;
var posts = 0;
values.forEach(function(doc) {
diggs += doc.diggs;
posts += 1;
});
return {diggs: diggs, posts: posts};
};
97. > db.shapes.find()
› { _id: "1", type: "c", area: 3.14, radius: 1}
› { _id: "2", type: "s", area: 4, length: 2}
› { _id: "3", type: "r", area: 10, length: 5, width: 2}
// Shapes mit radius > 0 finden
> db.shapes.find( { radius: { $gt: 0 } } )
99. blogs: {
author : “Johannes",
date : ISODate("2011-09-18T09:56:06.298Z"),
comments : [
{
author : “Klaus",
date : ISODate("2011-09-19T09:56:06.298Z"),
text : “toller Artikel"
}
]
}
101. blogs: { _id: 1000,
author: “Johannes",
date: ISODate("2011-09-18"),
comments: [ {comment : 1)} ]}
comments : { _id : 1,
blog: 1000,
author : “Klaus",
date : ISODate("2011-09-19")}
> blog = db.blogs.find({ text: "Destination Moon" });
> db.comments.find( { blog: blog._id } );
103. // Jedes Produkt verlinkt die IDs der Kategorien
products:
{ _id: 10, name: "Destination Moon",
category_ids: [ 20, 30 ] }
104. // Jedes Produkt verlinkt die IDs der Kategorien
products:
{ _id: 10, name: "Destination Moon",
category_ids: [ 20, 30 ] }
// Jede Kategorie verlinkt die IDs der Produkte
categories:
{ _id: 20, name: "adventure",
product_ids: [ 10, 11, 12 ] }
categories:
{ _id: 21, name: "movie",
product_ids: [ 10 ] }
105. // Jedes Produkt verlinkt die IDs der Kategorien
products:
{ _id: 10, name: "Destination Moon",
category_ids: [ 20, 30 ] }
// Jede Kategorie verlinkt die IDs der Produkte
categories:
{ _id: 20, name: "adventure",
product_ids: [ 10, 11, 12 ] }
categories:
{ _id: 21, name: "movie",
product_ids: [ 10 ] }
// Alle Kategorien für ein Produkt
> db.categories.find( { product_ids: 10 } )
107. // Jedes Produkt verlinkt die IDs der Kategorien
products:
{ _id: 10, name: "Destination Moon",
category_ids: [ 20, 30 ] }
// Kategorien beinhalten keine Assoziationen
categories:
{ _id: 20,
name: "adventure"}
108. // Jedes Produkt verlinkt die IDs der Kategorien
products:
{ _id: 10, name: "Destination Moon",
category_ids: [ 20, 30 ] }
// Kategorien beinhalten keine Assoziationen
categories:
{ _id: 20,
name: "adventure"}
// Alle Produkte für eine Kategorie
> db.products.find( { category_ids: 20 } )
109. // Jedes Produkt verlinkt die IDs der Kategorien
products:
{ _id: 10, name: "Destination Moon",
category_ids: [ 20, 30 ] }
// Kategorien beinhalten keine Assoziationen
categories:
{ _id: 20,
name: "adventure"}
// Alle Produkte für eine Kategorie
> db.products.find( { category_ids: 20 } )
// Alle Kategorien für ein Produkt product
> product = db.products.find( { _id: some_id } )
> db.categories.find({_id: {$in : product.category_ids}})
124. using (var documentStore = new EmbeddableDocumentStore{
RunInMemory = true}.Initialize())
{
using (var session = documentStore.OpenSession())
{
// Run complex test scenarious
}
}