NoSQL distilled: a brief guide to the emerging world of polyglot persistence
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Upper Saddle River, NJ ; Munich [u.a.]
Addison-Wesley
2013
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis Klappentext |
Beschreibung: | XIX, 164 S. Ill., graph. Darst. |
ISBN: | 9780321826626 0321826620 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV040389573 | ||
003 | DE-604 | ||
005 | 20130524 | ||
007 | t | ||
008 | 120828s2013 xxuad|| |||| 00||| eng d | ||
010 | |a 2012022103 | ||
020 | |a 9780321826626 |9 978-0-321-82662-6 | ||
020 | |a 0321826620 |9 0-321-82662-0 | ||
035 | |a (OCoLC)810412037 | ||
035 | |a (DE-599)BVBBV040389573 | ||
040 | |a DE-604 |b ger |e rakwb | ||
041 | 0 | |a eng | |
044 | |a xxu |c US | ||
049 | |a DE-703 |a DE-83 |a DE-523 |a DE-384 |a DE-859 |a DE-898 |a DE-739 |a DE-29T |a DE-573 |a DE-526 | ||
050 | 0 | |a QA76.9.D32 | |
082 | 0 | |a 005.74 | |
084 | |a ST 270 |0 (DE-625)143638: |2 rvk | ||
100 | 1 | |a Sadalage, Pramod J. |e Verfasser |0 (DE-588)131765590 |4 aut | |
245 | 1 | 0 | |a NoSQL distilled |b a brief guide to the emerging world of polyglot persistence |c Pramod J. Sadalage, Martin Fowler |
264 | 1 | |a Upper Saddle River, NJ ; Munich [u.a.] |b Addison-Wesley |c 2013 | |
300 | |a XIX, 164 S. |b Ill., graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 4 | |a Databases |x Technological innovations | |
650 | 4 | |a Information storage and retrieval systems | |
650 | 0 | 7 | |a NoSQL-Datenbanksystem |0 (DE-588)7722784-0 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a NoSQL-Datenbanksystem |0 (DE-588)7722784-0 |D s |
689 | 0 | |5 DE-604 | |
700 | 1 | |a Fowler, Martin |d 1963- |e Verfasser |0 (DE-588)115868321 |4 aut | |
856 | 4 | 2 | |m Digitalisierung UB Bayreuth |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=025242940&sequence=000003&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
856 | 4 | 2 | |m Digitalisierung UB Bayreuth |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=025242940&sequence=000004&line_number=0002&func_code=DB_RECORDS&service_type=MEDIA |3 Klappentext |
999 | |a oai:aleph.bib-bvb.de:BVB01-025242940 |
Datensatz im Suchindex
_version_ | 1804149435161116672 |
---|---|
adam_text | Contents
Preface
........................................................................................................xiii
Part I: Understand
..........................................................................................1
Chapter
1:
Why NoSQL?
.......................................................................3
1.1
The Value of Relational Databases
............................................3
1.1.1
Getting at Persistent Data
.................................................... 3
1.1.2
Concurrency
...................................................................... 4
1.1.3
Integration
......................................................................... 4
1.1.4
A (Mostly) Standard Model
.................................................. 4
1.2
Impedance Mismatch
................................................................5
1.3
Application and Integration Databases
......................................6
1.4
Attack of the Clusters
................................................................8
1.5
The Emergence of NoSQL
.........................................................9
1.6
Key Points
................................................................................12
Chapter
2:
Aggregate Data Models
......................................................13
2.1
Aggregates
...............................................................................14
2.1.1
Example of Relations and Aggregates
.................................... 14
2.1.2
Consequences of Aggregate Orientation
................................ 19
2.2
Key-Value and Document Data Models
...................................20
2.3
Column-Family Stores
.............................................................21
2.4
Summarizing Aggregate-Oriented Databases
...........................23
2.5
Further Reading
.......................................................................24
2.6
Key Points
................................................................................24
Chapter
3:
More Details on Data Models
.............................................25
3.1
Relationships
...........................................................................25
3.2
Graph Databases
.....................................................................26
vu
Contents
3.3
Schemaless Databases
..............................................................28
3.4
Materialized Views
..................................................................30
3.5
Modeling for Data Access
........................................................31
3.6
Key Points
................................................................................36
Chapter
4:
Distribution Models
...........................................................37
4.1
Single Server
............................................................................37
4.2
Sharding
..................................................................................38
4.3
Master-Slave Replication
.........................................................40
4.4
Peer-to-Peer Replication
...........................................................42
4.5
Combining Sharding and Replication
......................................43
4.6
Key Points
................................................................................44
Chapter
5:
Consistency
........................................................................47
5.1
Update Consistency
.................................................................47
5.2
Read Consistency
.....................................................................49
5.3
Relaxing Consistency
...............................................................52
5.3.1
The CAP Theorem
.............................................................. 53
5.4
Relaxing Durability
.................................................................56
5.5
Quorums
.................................................................................57
5.6
Further Reading
.......................................................................59
5.7
Key Points
................................................................................59
Chapter
6:
Version Stamps
...................................................................61
6.1
Business and System Transactions
............................................61
6.2
Version Stamps on Multiple Nodes
..........................................63
6.3
Key Points
................................................................................65
Chapter
7:
Map-Reduce
.......................................................................67
7.1
Basic Map-Reduce
...................................................................68
7.2
Partitioning and Combining
.....................................................69
7.3
Composing Map-Reduce Calculations
.....................................72
7.3.1
A Two Stage Map-Reduce Example
......................................
73
7.3.2
Incremental Map-Reduce
..................................................... 76
7.4
Further Reading
.......................................................................77
7.5
Key Points
................................................................................77
Part
П:
Implement
........................................................................................79
Chapter
8:
Key-Value Databases
..........................................................81
8.1
What Is a Key-Value Store
.......................................................81
8.2
Key-Value Store Features
.........................................................83
Contents
8.2.1
Consistency
....................................................................... 83
8.2.2
Transactions
...................................................................... 84
8.2.3
Query Features
................................................................... 84
8.2.4
Structure of Data
................................................................ 86
8.2.5 Scaling
.............................................................................. 86
8.3
Suitable Use Cases
...................................................................87
8.3.1
Storing Session Information
................................................. 87
8.3.2
User Profiles, Preferences
..................................................... 87
8.3.3
Shopping Cart Data
............................................................ 87
8.4
When Not to Use
.....................................................................87
8.4.1
Relationships among Data
................................................... 87
8.4.2
Multioperation Transactions
................................................ 88
8.4.3
Query by Data
................................................................... 88
8.4.4
Operations by Sets
.............................................................. 88
Chapter
9:
Document Databases
..........................................................89
9.1
What Is a Document Database?
...............................................90
9.2
Features
...................................................................................91
9.2.1
Consistency
....................................................................... 91
9.2.2
Transactions
...................................................................... 92
9.2.3
Availability
........................................................................ 93
9.2.4
Query Features
................................................................... 94
9.2.5
Scaling
.............................................................................. 95
9.3
Suitable Use Cases
...................................................................97
9.3.1
Event Logging
.................................................................... 97
9.3.2
Content Management Systems, Blogging Platforms
................. 98
9.3.3
Web Analytics or Real-Time Analytics
................................... 98
9.3.4
E-Commerce Applications
................................................... 98
9.4
When Not to Use
.....................................................................98
9.4.1
Complex Transactions Spanning Different Operations
............ 98
9.4.2
Queries against Varying Aggregate Structure
.......................... 98
Chapter
10:
Column-Family Stores
......................................................99
10.1
What Is a Column-Family Data Store?
...................................99
10.2
Features
...............................................................................100
10.2.1
Consistency
...................................................................... 103
10.2.2
Transactions
.................................................................... 104
10.2.3
Availability
...................................................................... 104
У
▼
Contents
10.2.4
Query Features
................................................................. 105
10.2.5
Scaling
............................................................................ 107
10.3
Suitable Use Cases
................................................................107
10.3.1
Event Logging
.................................................................. 107
10.3.2
Content Management Systems, Blogging Platforms
............... 108
10.3.3
Counters
.......................................................................... 108
10.3.4
Expiring Usage
................................................................. 108
10.4
When Not to Use
.................................................................109
Chapter
11:
Graph Databases
.............................................................
Ill
11.1
What Is a Graph Database?
.................................................
Ill
11.2
Features
...............................................................................113
11.2.1
Consistency
...................................................................... 114
11.2.2
Transactions
.................................................................... 114
11.2.3
Availability
...................................................................... 115
11.2.4
Query Features
................................................................. 115
11.2.5
Scaling
............................................................................ 119
11.3
Suitable Use Cases
................................................................120
11.3.1
Connected Data
................................................................ 120
11.3.2
Routing, Dispatch, and Location-Based Services
................... 120
11.3.3
Recommendation Engines
.................................................. 121
11.4
When Not to Use
.................................................................121
Chapter
12:
Schema Migrations
.........................................................123
12.1
Schema Changes
..................................................................123
12.2
Schema Changes in
RDBMS
................................................123
12.2.1
Migrations for Green Field Projects
..................................... 124
12.2.2
Migrations in Legacy Projects
............................................. 126
12.3
Schema Changes in a NoSQL Data Store
.............................128
12.3.1
Incremental Migration
....................................................... 130
Î2J.2
Migrations in Graph Databases
.......................................... 131
12.3.3
Changing Aggregate Structure
............................................ 132
12.4
Further Reading
...................................................................132
12.5
Key Points
............................................................................132
Chapter
13:
Polyglot Persistence
.........................................................133
13.1
Disparate Data Storage Needs
..............................................133
13.2
Polyglot Data Store Usage
....................................................134
13.3
Service Usage over Direct Data Store Usage
.........................136
Contents
13.4
Expanding for Better Functionality
......................................136
13.5
Choosing the Right Technology
...........................................138
13.6
Enterprise Concerns with Polyglot Persistence
.....................138
13.7
Deployment Complexity
......................................................139
13.8
Key Points
............................................................................140
Chapter
14:
Beyond NoSQL
..............................................................141
14.1
File Systems
..........................................................................141
14.2
Event Sourcing
.....................................................................142
14.3
Memory Image
.....................................................................144
14.4
Version Control
...................................................................145
14.5
XML. Databases
...................................................................145
14.6
Object Databases
.................................................................146
14.7
Key Points
............................................................................146
Chapter
15:
Choosing Your Database
................................................147
15.1
Programmer Productivity
.....................................................147
15.2
Data-Access Performance
.....................................................149
15.3
Sticking with the Default
......................................................150
15.4
Hedging Your Bets
...............................................................150
15.5
Key Points
............................................................................151
15.6
Final Thoughts
.....................................................................152
Bibliography
...............................................................................................153
Index
..........................................................................................................157
I he need to handle increasingly larger data volumes is one factor driving
the adoption of a new class of nonrelational NoSQL databases. Advocates
of NoSOL databases claim they can be used to build systems that are
more
performant,
scale better, and are easier to program.
NoSOL Distilled is a concise but thorough introduction to this rapidly
emerging technology. PramodJ. Sadalageand Martin Fowler explain
how NoSQL databases work and the ways that they may
bea
superior
alternative to a traditional
RDBMS.
The authors provide a fast-paced guide
to the concepts you need to know in order to evaluate whether NoSOL
databases are right for your needs and, if so, which technologies you
should explore further.
The first part of the book concentrates on core concepts, including
schemaless data models, aggregates, new distribution models, the
CAP theorem, and map-reduce. In the second part, the authors explore
architectural and design issues associated with implementing NoSQL.
They also present realistic use cases that demonstrate NoSQL databases
at work and feature representative examples using Riak, MongoDB,
Cassandra, and Neo4j.
In addition, by drawingon Pramod Sadalage s pioneering work, NoSQL
Distilled shows how to implement evolutionary design with schema
migration: an essential technique for applying NoSQL databases. The book
concludes by describing how NoSQL is ushering in a new age of Polyglot
Persistence, where multiple data-storage worlds coexist, and architects
can choose the technology best optimized for each type of data access.
PRAMOD J. SADALAGE, Principal Consultant at ThoughtWorks, enjoys the
rare role of bridging the divide between database professionals and
application developers. He regularly consults with clients who have
particularly challenging data needs requiring new technologies and
techniques. He developed pioneering techniques that allowed relational
databases to be designed in an evolutionary manner based on
version-controlled schema migrations. With Scott Ambler, he coauthored
Refactoring Oataboses
(Addison-Wesley,
2006).
MARTIN
FOWLER, Chief
Scientist at ThoughtWorks, focuses on better ways to design software
systems and improve developer productivity. His books include Patterns
of Enterprise Application Architecture; UML Distilled, Third Edition;
Domain-Specific Languages (with Rebecca Parsons); and
Refactoríng:
Improving the Design of Existing Code [with Kent Beck, John Brant,
and William Opdyke)
.
All are published by Addison-Wesley.
inform it.com/sw
irns
|
any_adam_object | 1 |
author | Sadalage, Pramod J. Fowler, Martin 1963- |
author_GND | (DE-588)131765590 (DE-588)115868321 |
author_facet | Sadalage, Pramod J. Fowler, Martin 1963- |
author_role | aut aut |
author_sort | Sadalage, Pramod J. |
author_variant | p j s pj pjs m f mf |
building | Verbundindex |
bvnumber | BV040389573 |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.9.D32 |
callnumber-search | QA76.9.D32 |
callnumber-sort | QA 276.9 D32 |
callnumber-subject | QA - Mathematics |
classification_rvk | ST 270 |
ctrlnum | (OCoLC)810412037 (DE-599)BVBBV040389573 |
dewey-full | 005.74 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.74 |
dewey-search | 005.74 |
dewey-sort | 15.74 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01932nam a2200421 c 4500</leader><controlfield tag="001">BV040389573</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20130524 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">120828s2013 xxuad|| |||| 00||| eng d</controlfield><datafield tag="010" ind1=" " ind2=" "><subfield code="a">2012022103</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780321826626</subfield><subfield code="9">978-0-321-82662-6</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0321826620</subfield><subfield code="9">0-321-82662-0</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)810412037</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV040389573</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakwb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">xxu</subfield><subfield code="c">US</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-703</subfield><subfield code="a">DE-83</subfield><subfield code="a">DE-523</subfield><subfield code="a">DE-384</subfield><subfield code="a">DE-859</subfield><subfield code="a">DE-898</subfield><subfield code="a">DE-739</subfield><subfield code="a">DE-29T</subfield><subfield code="a">DE-573</subfield><subfield code="a">DE-526</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.9.D32</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.74</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 270</subfield><subfield code="0">(DE-625)143638:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Sadalage, Pramod J.</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)131765590</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">NoSQL distilled</subfield><subfield code="b">a brief guide to the emerging world of polyglot persistence</subfield><subfield code="c">Pramod J. Sadalage, Martin Fowler</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Upper Saddle River, NJ ; Munich [u.a.]</subfield><subfield code="b">Addison-Wesley</subfield><subfield code="c">2013</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XIX, 164 S.</subfield><subfield code="b">Ill., graph. Darst.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Databases</subfield><subfield code="x">Technological innovations</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Information storage and retrieval systems</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">NoSQL-Datenbanksystem</subfield><subfield code="0">(DE-588)7722784-0</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">NoSQL-Datenbanksystem</subfield><subfield code="0">(DE-588)7722784-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Fowler, Martin</subfield><subfield code="d">1963-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)115868321</subfield><subfield code="4">aut</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Bayreuth</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=025242940&sequence=000003&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Bayreuth</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=025242940&sequence=000004&line_number=0002&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Klappentext</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-025242940</subfield></datafield></record></collection> |
id | DE-604.BV040389573 |
illustrated | Illustrated |
indexdate | 2024-07-10T00:22:59Z |
institution | BVB |
isbn | 9780321826626 0321826620 |
language | English |
lccn | 2012022103 |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-025242940 |
oclc_num | 810412037 |
open_access_boolean | |
owner | DE-703 DE-83 DE-523 DE-384 DE-859 DE-898 DE-BY-UBR DE-739 DE-29T DE-573 DE-526 |
owner_facet | DE-703 DE-83 DE-523 DE-384 DE-859 DE-898 DE-BY-UBR DE-739 DE-29T DE-573 DE-526 |
physical | XIX, 164 S. Ill., graph. Darst. |
publishDate | 2013 |
publishDateSearch | 2013 |
publishDateSort | 2013 |
publisher | Addison-Wesley |
record_format | marc |
spelling | Sadalage, Pramod J. Verfasser (DE-588)131765590 aut NoSQL distilled a brief guide to the emerging world of polyglot persistence Pramod J. Sadalage, Martin Fowler Upper Saddle River, NJ ; Munich [u.a.] Addison-Wesley 2013 XIX, 164 S. Ill., graph. Darst. txt rdacontent n rdamedia nc rdacarrier Databases Technological innovations Information storage and retrieval systems NoSQL-Datenbanksystem (DE-588)7722784-0 gnd rswk-swf NoSQL-Datenbanksystem (DE-588)7722784-0 s DE-604 Fowler, Martin 1963- Verfasser (DE-588)115868321 aut Digitalisierung UB Bayreuth application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=025242940&sequence=000003&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis Digitalisierung UB Bayreuth application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=025242940&sequence=000004&line_number=0002&func_code=DB_RECORDS&service_type=MEDIA Klappentext |
spellingShingle | Sadalage, Pramod J. Fowler, Martin 1963- NoSQL distilled a brief guide to the emerging world of polyglot persistence Databases Technological innovations Information storage and retrieval systems NoSQL-Datenbanksystem (DE-588)7722784-0 gnd |
subject_GND | (DE-588)7722784-0 |
title | NoSQL distilled a brief guide to the emerging world of polyglot persistence |
title_auth | NoSQL distilled a brief guide to the emerging world of polyglot persistence |
title_exact_search | NoSQL distilled a brief guide to the emerging world of polyglot persistence |
title_full | NoSQL distilled a brief guide to the emerging world of polyglot persistence Pramod J. Sadalage, Martin Fowler |
title_fullStr | NoSQL distilled a brief guide to the emerging world of polyglot persistence Pramod J. Sadalage, Martin Fowler |
title_full_unstemmed | NoSQL distilled a brief guide to the emerging world of polyglot persistence Pramod J. Sadalage, Martin Fowler |
title_short | NoSQL distilled |
title_sort | nosql distilled a brief guide to the emerging world of polyglot persistence |
title_sub | a brief guide to the emerging world of polyglot persistence |
topic | Databases Technological innovations Information storage and retrieval systems NoSQL-Datenbanksystem (DE-588)7722784-0 gnd |
topic_facet | Databases Technological innovations Information storage and retrieval systems NoSQL-Datenbanksystem |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=025242940&sequence=000003&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=025242940&sequence=000004&line_number=0002&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT sadalagepramodj nosqldistilledabriefguidetotheemergingworldofpolyglotpersistence AT fowlermartin nosqldistilledabriefguidetotheemergingworldofpolyglotpersistence |