Getting started with CockroachDB a guide to using a modern, cloud-native, and distributed SQL database for your data-intensive apps
Getting Started with CockroachDB helps you get to grips with the fundamentals of using CockroachDB effectively. From installation and configuration steps to troubleshooting common and not-so-common issues, this book covers all the necessary techniques to deploy and manage a high-performance database...
Other Authors: | |
---|---|
Format: | eBook |
Language: | Inglés |
Published: |
Birmingham, UK :
Packt Publishing
[2022]
|
Edition: | [First edition] |
Subjects: | |
See on Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009652824906719 |
Table of Contents:
- Cover
- Title page
- Copyright and Credits
- Dedications
- Contributors
- Table of Contents
- Preface
- Section 1: Getting to Know CockroachDB
- Chapter 1: CockroachDB - A Brief Introduction
- The history and evolution of databases
- SQL
- Object-oriented databases
- NoSQL
- NewSQL
- Database concepts
- Cardinality
- Overview of database models
- Processing models
- Embedded and mobile databases
- Database storage engines
- CAP theorem
- Consistency and partition tolerance (CP)
- Availability and partition tolerance (AP)
- Consistency and availability (CA)
- CockroachDB
- Why yet another database?
- Inspiration
- Key terms and concepts
- High-level overview
- Summary
- Chapter 2: How Does CockroachDB Work Internally?
- Technical requirements
- Installing a single-node CockroachDB cluster using Docker
- Execution of a SQL query
- SQL query execution
- Parsing
- Logical planning
- Physical planning
- Query execution
- Managing a transactional key-value store
- Data distribution across multiple nodes
- The MSKVS
- Meta ranges
- Table data
- Data replication for resilience and availability
- What is consensus?
- The Raft distributed consensus protocol
- Interactions with the disk for data storage
- Storage engine
- Summary
- Section 2: Exploring the Important Features of CockroachDB
- Chapter 3: Atomicity, Consistency, Isolation, and Durability (ACID)
- An overview of ACID properties
- Atomicity
- Consistency
- Isolation
- Durability
- ACID from CockroachDB's perspective
- Atomicity
- Consistency
- Isolation
- Durability
- Summary
- Chapter 4: Geo-Partitioning
- Technical requirements
- Introduction to geo-partitioning
- Cloud, regions, and zones
- Region
- Zone
- Regions and zones on various cloud providers
- Geo-partitioning in CockroachDB
- Single region
- Multi-region.
- Summary
- Chapter 5: Fault Tolerance and Auto-Rebalancing
- Technical requirements
- Achieving fault tolerance
- Achieving fault tolerance at the storage layer
- Working example of fault tolerance at play
- Automatic rebalancing
- Recovering from multi-node failures
- Summary
- Chapter 6: How Indexes Work in CockroachDB
- Technical requirements
- Introduction to indexes
- Different types of indexes
- Primary indexes
- Secondary indexes
- Hash-sharded indexes
- Duplicate indexes
- Inverted indexes
- Partial indexes
- Spatial indexes
- Table joins and indexes
- Best practices while using indexes
- Summary
- Section 3: Working with CockroachDB
- Chapter 7: Schema Creation and Management
- Technical requirements
- DDL
- CREATE
- ALTER
- DROP
- DML
- DQL
- Supported data types
- Column-level constraints
- Table joins
- Using sequences
- Managing schema changes
- Summary
- Chapter 8: Exploring the Admin User Interface
- Technical requirements
- Introducing the admin UI
- Cluster overview
- Metrics deep dive
- Database and table definitions
- Understanding sessions
- Transactions
- Tracking jobs
- Summary
- Chapter 9: An Overview Of Security Aspects
- Technical requirements
- Introduction to security concepts
- Client and node authentication
- Generating certificates and keys
- Client authentication
- Node authentication
- Authorization mechanisms
- Roles
- Privileges
- Data encryption at rest and in flight
- Encryption at rest
- Encryption in flight
- Audit logging
- RTO and RPO
- Keeping the network secure
- Security best practices
- Summary
- Chapter 10: Troubleshooting Issues
- Technical requirements
- Collecting debug logs
- Log files
- Log levels
- Log channels
- Emitting logs to an external sink
- Gathering Cockroach debug logs
- Connection issues
- Tracking slow queries.
- Capacity planning
- Configuration issues
- Guidelines to avoid issues during an upgrade
- Network latency
- Advanced debugging options
- Summary
- Chapter 11: Performance Benchmarking and Migration
- Technical requirements
- Performance - Things to consider
- Infrastructure
- Popular benchmark suites
- Benchmarking your specific use cases
- Performance benchmarking for CockroachDB
- Migration - Things to consider
- Migrating from traditional databases
- Migrating from PostgreSQL to CockroachDB
- Summary
- Appendix: Bibliography and Additional Resources
- Index
- Other Books You May Enjoy.