Muutke küpsiste eelistusi

E-raamat: Cassandra: The Definitive Guide, (Revised) Third Edition

  • Formaat: 432 pages
  • Ilmumisaeg: 23-Jan-2022
  • Kirjastus: O'Reilly Media
  • Keel: eng
  • ISBN-13: 9781492097112
Teised raamatud teemal:
  • Formaat - PDF+DRM
  • Hind: 56,15 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: 432 pages
  • Ilmumisaeg: 23-Jan-2022
  • Kirjastus: O'Reilly Media
  • Keel: eng
  • ISBN-13: 9781492097112
Teised raamatud teemal:

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Imagine what you could do if scalability wasn't a problem. With this hands-on guide, you'll learn how the Cassandra database management system handles hundreds of terabytes of data while remaining highly available across multiple data centers. This revised third edition--updated for Cassandra 4.0 and new developments in the Cassandra ecosystem, including deployments in Kubernetes with K8ssandra--provides technical details and practical examples to help you put this database to work in a production environment.

Authors Jeff Carpenter and Eben Hewitt demonstrate the advantages of Cassandra's nonrelational design, with special attention to data modeling. Developers, DBAs, and application architects looking to solve a database scaling issue or future-proof an application will learn how to harness Cassandra's speed and flexibility.

Understand Cassandra's distributed and decentralized structure Use the Cassandra Query Language (CQL) and cqlsh (the CQL shell) Create a working data model and compare it with an equivalent relational model Design and develop applications using client drivers Explore cluster topology and learn how nodes exchange data Maintain a high level of performance in your cluster Deploy Cassandra onsite, in the cloud, or with Docker and Kubernetes Integrate Cassandra with Spark, Kafka, Elasticsearch, Solr, and Lucene
Foreword xiii
Preface xv
1 Beyond Relational Databases
1(16)
What's Wrong with Relational Databases?
1(4)
A Quick Review of Relational Databases
5(7)
Transactions, ACID-ity, and Two-Phase Commit
6(3)
Schema
9(1)
Sharding and Shared-Nothing Architecture
10(2)
Web Scale
12(1)
The Rise of No SQL
13(3)
Summary
16(1)
2 Introducing Cassandra
17(18)
The Cassandra Elevator Pitch
17(11)
Cassandra in 50 Words or Less
17(1)
Distributed and Decentralized
18(1)
Elastic Scalability
19(1)
High Availability and Fault Tolerance
19(1)
Tuneable Consistency
20(3)
Brewer's CAP Theorem
23(4)
Row-Oriented
27(1)
High Performance
28(1)
Where Did Cassandra Come From?
28(2)
Is Cassandra a Good Fit for My Project?
30(2)
Large Deployments
30(1)
Lots of Writes, Statistics, and Analysis
31(1)
Geographical Distribution
31(1)
Hybrid Cloud and Multicloud Deployment
31(1)
Getting Involved
32(2)
Summary
34(1)
3 Installing Cassandra
35(20)
Installing the Apache Distribution
35(3)
Extracting the Download
36(1)
What's in There?
36(2)
Building from Source
38(1)
Additional Build Targets
39(1)
Running Cassandra
39(5)
Setting the Environment
40(1)
Starting the Server
41(2)
Stopping Cassandra
43(1)
Other Cassandra Distributions
44(1)
Running the CQL Shell
45(1)
Basic cqlsh Commands
46(7)
Cqlsh Help
46(1)
Describing the Environment in cqlsh
47(1)
Creating a Keyspace and Table in cqlsh
48(3)
Writing and Reading Data in cqlsh
51(2)
Running Cassandra in Docker
53(1)
Summary
54(1)
4 The Cassandra Query Language
55(26)
The Relational Data Model
55(1)
Cassandra's Data Model
56(10)
Clusters
59(1)
Keyspaces
59(1)
Tables
59(4)
Columns
63(3)
CQL Types
66(13)
Numeric Data Types
67(1)
Textual Data Types
67(1)
Time and Identity Data Types
68(2)
Other Simple Data Types
70(2)
Collections
72(3)
Tuples
75(1)
User-Defined Types
76(3)
Summary
79(2)
5 Data Modeling
81(26)
Conceptual Data Modeling
81(1)
RDBMS Design
82(4)
Design Differences Between RDBMS and Cassandra
83(3)
Defining Application Queries
86(1)
Logical Data Modeling
87(6)
Hotel Logical Data Model
89(2)
Reservation Logical Data Model
91(2)
Physical Data Modeling
93(4)
Hotel Physical Data Model
94(2)
Reservation Physical Data Model
96(1)
Evaluating and Refining
97(4)
Calculating Partition Size
97(1)
Calculating Size on Disk
98(2)
Breaking Up Large Partitions
100(1)
Defining Database Schema
101(5)
Cassandra Data Modeling Tools
103(3)
Summary
106(1)
6 The Cassandra Architecture
107(28)
Data Centers and Racks
107(1)
Gossip and Failure Detection
108(2)
Snitches
110(1)
Rings and Tokens
111(2)
Virtual Nodes
113(1)
Partitioners
113(1)
Replication Strategies
114(1)
Consistency Levels
115(2)
Queries and Coordinator Nodes
117(1)
Hinted Handoff
118(1)
Anti-Entropy, Repair, and Merkle Trees
119(1)
Lightweight Transactions and Paxos
120(2)
Memtables, SSTables, and Commit Logs
122(2)
Bloom Filters
124(1)
Caching
125(1)
Compaction
125(2)
Deletion and Tombstones
127(1)
Managers and Services
128(3)
Cassandra Daemon
128(1)
Storage Engine
129(1)
Storage Service
129(1)
Storage Proxy
130(1)
Messaging Service
130(1)
Stream Manager
130(1)
CQL Native Transport Server
131(1)
System Keyspaces
131(3)
Summary
134(1)
7 Designing Applications with Cassandra
135(22)
Hotel Application Design
135(8)
Cassandra and Microservice Architecture
135(2)
Microservice Architecture for a Hotel Application
137(1)
Identifying Bounded Contexts
138(1)
Identifying Services
138(2)
Designing Microservice Persistence
140(3)
Extending Designs
143(9)
Secondary Indexes
144(4)
Materialized Views
148(4)
Reservation Service: A Sample Microservice
152(1)
Design Choices for a Java Microservice
152(1)
Deployment and Integration Considerations
153(3)
Services, Keyspaces, and Clusters
153(1)
Data Centers and Load Balancing
154(1)
Interactions Between Microservices
154(2)
Summary
156(1)
8 Application Development with Drivers
157(30)
DataStax Java Driver
158(23)
Development Environment Configuration
158(1)
Connecting to a Cluster
159(2)
Statements
161(1)
Simple Statements
162(1)
Prepared Statements
163(2)
Query Builder
165(2)
Object Mapper
167(4)
Asynchronous Execution
171(1)
Driver Configuration
172(6)
Metadata
178(2)
Debugging and Monitoring
180(1)
DataStax Python Driver
181(1)
DataStax Node.js Driver
182(1)
DataStax C# Driver
183(1)
Other Cassandra Drivers
183(2)
Summary
185(2)
9 Writing and Reading Data
187(26)
Writing
187(12)
Write Consistency Levels
187(2)
The Cassandra Write Path
189(2)
Writing Files to Disk
191(2)
Lightweight Transactions
193(3)
Batches
196(3)
Reading
199(11)
Read Consistency Levels
199(2)
The Cassandra Read Path
201(2)
Read Repair
203(2)
Range Queries, Ordering and Filtering
205(3)
Paging
208(2)
Deleting
210(2)
Summary
212(1)
10 Configuring and Deploying Cassandra
213(30)
Cassandra Cluster Manager
213(6)
Creating a Cluster
214(3)
Adding Nodes to a Cluster
217(1)
Dynamic Ring Participation
218(1)
Node Configuration
219(10)
Seed Nodes
219(1)
Snitches
220(2)
Partitioners
222(2)
Tokens and Virtual Nodes
224(1)
Network Interfaces
225(1)
Data Storage
226(2)
Startup and JVM Settings
228(1)
Planning a Cluster Deployment
229(7)
Cluster Topology and Replication Strategies
229(3)
Sizing Your Cluster
232(2)
Selecting Instances
234(1)
Storage
234(1)
Network
235(1)
Cloud Deployment
236(5)
Amazon Web Services
236(3)
Google Cloud Platform
239(1)
Microsoft Azure
240(1)
Summary
241(2)
11 Monitoring
243(30)
Monitoring Cassandra with JMX
243(3)
Cassandra's MBeans
246(7)
Database MBeans
247(3)
Cluster-Related MBeans
250(2)
Internal MBeans
252(1)
Monitoring with nodetool
253(6)
Getting Cluster Information
254(3)
Getting Statistics
257(2)
Virtual Tables
259(4)
System Virtual Schema
260(1)
System Views
261(2)
Metrics
263(3)
Logging
266(5)
Examining Log Files
268(2)
Full Query Logging
270(1)
Summary
271(2)
12 Maintenance
273
Health Check
273(1)
Common Maintenance Tasks
274(8)
Flush
274(1)
Cleanup
275(1)
Repair
276(5)
Rebuilding Indexes
281(1)
Moving Tokens
281(1)
Adding Nodes
282(2)
Adding Nodes to an Existing Data Center
282(1)
Adding a Data Center to a Cluster
283(1)
Handling Node Failure
284(6)
Repairing Failed Nodes
285(1)
Replacing Nodes
286(1)
Removing Nodes
287(3)
Upgrading Cassandra
290(2)
Backup and Recovery
292(4)
Taking a Snapshot
293(1)
Clearing a Snapshot
294(1)
Enabling Incremental Backup
294(1)
Restoring from Snapshot
295(1)
SSTable Utilities
296(1)
Maintenance Tools
297
Netflix Priam
297
Jeff Carpenter works in Developer Relations at DataStax, where he uses his background in system architecture, microservices and Apache Cassandra to help empower developers and operations engineers to build distributed systems that are scalable, reliable, and secure. Jeff has worked on large-scale systems in the defense and hospitality industries and is co-author of Cassandra: The Definitive Guide. Eben Hewitt is the CTO and Chief Architect at Sabre Hospitality where he is responsible for the technology strategy and for designing large-scale, mission-critical systems and leading teams to build them. He has served as CTO at one of the world's largest hotel companies and CIO of O'Reilly Media. He has been a consultant to Warburg Pincus and others on distributed data and a frequent speaker at international conferences. He is the author of several books, including Technology Strategy Patterns (2018), Cassandra: The Definitive Guide, Java SOA Cookbook, and several other books on architecture, web and software development, including Semantic Software Design (2019). He's won several innovation awards for his software design work.