38. Er det noe problem da?
Størrelse på dataset - Tradisjonelle baser har trøbbel med
(veldig) store dataset.
39. Er det noe problem da?
Størrelse på dataset - Tradisjonelle baser har trøbbel med
(veldig) store dataset.
Struktur - relasjonsdatabaser er dårlige på semi-struktur
40. Er det noe problem da?
Størrelse på dataset - Tradisjonelle baser har trøbbel med
(veldig) store dataset.
Struktur - relasjonsdatabaser er dårlige på semi-struktur
Grad av kobling - se punkt 1 og 2.
41. Er det noe problem da?
Størrelse på dataset - Tradisjonelle baser har trøbbel med
(veldig) store dataset.
Struktur - relasjonsdatabaser er dårlige på semi-struktur
Grad av kobling - se punkt 1 og 2.
Arkitektur - Integrasjonsdatabaser er (ofte) ikke bra. Hvorfor
fasilitere dem?
42. Er det noe problem da?
Størrelse på dataset - Tradisjonelle baser har trøbbel med
(veldig) store dataset.
Struktur - relasjonsdatabaser er dårlige på semi-struktur
Grad av kobling - se punkt 1 og 2.
Arkitektur - Integrasjonsdatabaser er (ofte) ikke bra. Hvorfor
fasilitere dem?
Antall brukere - fra en til mange millioner krever distribusjon
43. Er det noe problem da?
Størrelse på dataset - Tradisjonelle baser har trøbbel med
(veldig) store dataset.
Struktur - relasjonsdatabaser er dårlige på semi-struktur
Grad av kobling - se punkt 1 og 2.
Arkitektur - Integrasjonsdatabaser er (ofte) ikke bra. Hvorfor
fasilitere dem?
Antall brukere - fra en til mange millioner krever distribusjon
Driftsmiljø - RDBMS er designet for og trives best på få maskiner
Tidligere sverget man til ACID.
Atomic: Everything in a transaction succeeds or the entire transaction is rolled back. Basicly available: Fokus på oppetid
Consistent: A transaction cannot leave the database in an inconsistent state. Soft state: Greit om du ikke er helt i sync
Isolated: Transactions cannot interfere with each other. Eventual consistency: Det blir bra til slutt
Durable: Completed transactions persist, even when servers restart etc
Flytende grense ... Vanskeligere å lage BASE systemer
Dr. Eric A. Brewer sitt teorem
Cosistency describes how and whether a system is left in a consistent state after an operation. In a distributed data system, this usually means that once a writer has written, all readers will see that write.
High Availability refers to the design and implementation of a system such that it is ensured to remain operational over some period of time.
Partition tolerance refers to the ability for a system to continue to operate in the presence of a network partitions.
Velg TO! Du kan ikke få begge.
Faller en node bort
Tidligere sverget man til ACID.
Atomic: Everything in a transaction succeeds or the entire transaction is rolled back. Basicly available: Fokus på oppetid
Consistent: A transaction cannot leave the database in an inconsistent state. Soft state: Greit om du ikke er helt i sync
Isolated: Transactions cannot interfere with each other. Eventual consistency: Det blir bra til slutt
Durable: Completed transactions persist, even when servers restart etc
Flytende grense ... Vanskeligere å lage BASE systemer
Tidligere sverget man til ACID.
Atomic: Everything in a transaction succeeds or the entire transaction is rolled back. Basicly available: Fokus på oppetid
Consistent: A transaction cannot leave the database in an inconsistent state. Soft state: Greit om du ikke er helt i sync
Isolated: Transactions cannot interfere with each other. Eventual consistency: Det blir bra til slutt
Durable: Completed transactions persist, even when servers restart etc
Flytende grense ... Vanskeligere å lage BASE systemer
Tidligere sverget man til ACID.
Atomic: Everything in a transaction succeeds or the entire transaction is rolled back. Basicly available: Fokus på oppetid
Consistent: A transaction cannot leave the database in an inconsistent state. Soft state: Greit om du ikke er helt i sync
Isolated: Transactions cannot interfere with each other. Eventual consistency: Det blir bra til slutt
Durable: Completed transactions persist, even when servers restart etc
Flytende grense ... Vanskeligere å lage BASE systemer
Tidligere sverget man til ACID.
Atomic: Everything in a transaction succeeds or the entire transaction is rolled back. Basicly available: Fokus på oppetid
Consistent: A transaction cannot leave the database in an inconsistent state. Soft state: Greit om du ikke er helt i sync
Isolated: Transactions cannot interfere with each other. Eventual consistency: Det blir bra til slutt
Durable: Completed transactions persist, even when servers restart etc
Flytende grense ... Vanskeligere å lage BASE systemer
Tidligere sverget man til ACID.
Atomic: Everything in a transaction succeeds or the entire transaction is rolled back. Basicly available: Fokus på oppetid
Consistent: A transaction cannot leave the database in an inconsistent state. Soft state: Greit om du ikke er helt i sync
Isolated: Transactions cannot interfere with each other. Eventual consistency: Det blir bra til slutt
Durable: Completed transactions persist, even when servers restart etc
Flytende grense ... Vanskeligere å lage BASE systemer
Grov inndeling
Amazon handlevogn. Ekstremt enkle API-er
put/get
Uansett hvordan du involverer deg i NoSQL spacet, så IKKE skriv en ny key value store
Bigtable: OSDI'06: Seventh Symposium on Operating System Design and Implementation,Seattle, WA, November, 2006
Ofte brukt som datastor for map reduce
Basicly putter har du en nøkkel og et tilhørende dokument.
CA - Konsistent, available - men dersom en node forsvinner fungerer det ikke.
Yahoo er største sponsor med ti-tusenvis av noder.