Cockroachdb: The Definitive Guide: Distributed Data at Scale (Paperback)

Harrison, Guy, Seldess, Jesse, Darnell, Ben

  • 出版商: O'Reilly
  • 出版日期: 2022-05-17
  • 定價: $2,760
  • 售價: 8.0$2,208 (限時優惠至 2024-04-21)
  • 語言: 英文
  • 頁數: 485
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1098100247
  • ISBN-13: 9781098100247
  • 相關分類: 資料庫
  • 立即出貨 (庫存 < 4)

買這商品的人也買了...

商品描述

Get the lowdown on CockroachDB, the distributed SQL database built to handle the demands of today's data-driven cloud applications. In this hands-on guide, software developers, architects, and DevOps/SRE teams will learn how to use CockroachDB to create applications that scale elastically and provide seamless delivery for end users while remaining indestructible. Teams will also learn how to migrate existing applications to CockroachDB's performant, cloud-native data architecture.

If you're familiar with distributed systems, you'll quickly discover the benefits of strong data correctness and consistency guarantees as well as optimizations for delivering ultra low latencies to globally distributed end users.

You'll learn how to:

- Design and build applications for distributed infrastructure, including data modeling and schema design
- Migrate data into CockroachDB
- Read and write data and run ACID transactions across distributed infrastructure
- Plan a CockroachDB deployment for resiliency across single region and multi-region clusters
- Secure, monitor, and optimize your CockroachDB deployment

Why We Wrote This Book

This book aims to help you, the reader, understand the architecture and capabilities of CockroachDB as well as suitable use cases for CockroachDB. By the end of this book, you will be able to get started with CockroachDB, build effective applications on it, and, ultimately, run a cluster in production.

The chapters teach developers, architects, and DevOps teams how to build, optimize, and manage applications that run on CockroachDB. We wrote this book to give any developer, no matter how they want to work with CockroachDB, the knowledge and tools they need to do it effectively.

Why Cockroach?

The question everyone asks: Why the name CockroachDB?

One immutable fact of engineering is that things break. At large enough scale, things are breaking all the time. The kinds of failures that might happen once a year on a single machine become daily occurrences when you’re running hundreds of shards. A system that aspires to handle large scale must treat fault tolerance as a core responsibility. This was one of the key insights of Google’s MapReduce framework. By requiring all computation to fit within a relatively restrictive framework, it became straightforward for the system to automatically rerun the necessary pieces of work after a failure.We believe that this is how it should be: highly available replication should be the default state of a database from day one, not the result of painstaking configuration work. And looking ahead to day two (or day two hundred), the database must be able to grow along with the application so that runaway success is a cause for celebration, not panic.When we set out to build a relational database from scratch, we wanted to bring consistency, native resilience, data locality, and massive scale to modern cloud applications. Our vision was of a system able to colonize any resource that you gave it onto the public cloud and then relentlessly optimize itself. A database that would use available space and reach equilibrium across a coordinated set of globally distributed nodes so that it would not only incorporate new resources, but—if a machine or data center or even an entire region went down—the database would simply equalize the remaining available resources.We aimed to build a database that would be globally ubiquitous and impossible to eradicate…just like periplaneta brunnea, the pesky common cockroach. And so CockroachDB was born.

Who This Book Is For

Innovative developers: CockroachDB: The Definitive Guide is for developers building modern applications, whether in a small startup or a large enterprise. This guide will teach developers how to build and ship apps with fewer obstacles using a powerful distributed SQL database that just works.

Architects: The Definitive Guide is for modern architects delivering scalable, resilient apps across their IT ecosystem. Architects will learn how to design distributed applications to provide low latency, high availability, and faster performance.

DevOps teams: The Definitive Guide is for strategic IT operators managing applications with data-intensive workloads. Operators will learn how to optimize CockroachDB’s inherent abilities of scale and resilience, efficiently distributing data to meet any workload demand—wherever it’s deployed.

Those already familiar with distributed systems will discover the benefits of strong data correctness and consistency as well as optimizations for delivering low-latency transactions to users anywhere in the world.

It includes specific guidance for anyone transitioning from a monolithic database (e.g., MySQL or PostgreSQL) to a distributed architecture, as well as practical examples for anyone more familiar with NoSQL systems.

商品描述(中文翻譯)

深入了解CockroachDB,這是一個分散式SQL資料庫,專為應對當今數據驅動的雲應用的需求而建立。在這本實踐指南中,軟體開發人員、架構師和DevOps/SRE團隊將學習如何使用CockroachDB創建能夠彈性擴展並為最終用戶提供無縫交付的應用,同時保持不可摧毀性。團隊還將學習如何將現有應用遷移到CockroachDB的高效、雲原生數據架構。

如果您熟悉分散式系統,您將迅速發現強大的數據正確性和一致性保證的好處,以及為全球分佈的最終用戶提供超低延遲的優化。

您將學習如何:
- 設計和構建分散基礎架構的應用,包括數據建模和架構設計
- 將數據遷移到CockroachDB
- 在分散基礎架構上讀寫數據並運行ACID事務
- 計劃CockroachDB的部署,實現單區域和多區域集群的強韌性
- 保護、監控和優化您的CockroachDB部署

為什麼寫這本書?

這本書旨在幫助讀者了解CockroachDB的架構和功能,以及CockroachDB的適用用例。通過閱讀本書,您將能夠開始使用CockroachDB,在其上構建有效的應用程序,並最終在生產環境中運行集群。

這些章節將教授開發人員、架構師和DevOps團隊如何構建、優化和管理運行在CockroachDB上的應用程序。我們撰寫這本書是為了給予任何開發人員,無論他們如何使用CockroachDB,他們所需的知識和工具,以便有效地進行工作。

為什麼選擇Cockroach?

每個人都會問的問題:為什麼選擇CockroachDB這個名字?

工程的一個不變的事實是事物會出錯。在足夠大的規模下,事物總是在不斷出錯。在運行數百個分片時,可能每年發生一次的故障變成了每天發生的事情。一個有能力處理大規模的系統必須將容錯能力視為核心責任。這是Google的MapReduce框架的一個關鍵洞察。通過要求所有計算都符合相對限制的框架,系統可以在故障後自動重新運行必要的工作。我們相信這就是應該的:高可用性的複製應該是一個數據庫從一開始就具備的默認狀態,而不是經過繁瑣的配置工作得到的結果。並且展望未來,數據庫必須能夠隨著應用程序的增長而增長,使得巨大的成功成為一個值得慶祝的原因,而不是恐慌的原因。當我們開始從頭開始構建一個關聯式數據庫時,我們希望為現代雲應用程序帶來一致性、本地容錯性、數據本地性和大規模能力。我們的願景是一個能夠將您提供的任何資源佔領到公共雲上,然後不斷優化自己的系統。一個數據庫,它將使用可用空間,在一組協調的全球分佈節點上達到均衡,以便不僅可以納入新資源,而且如果機器、數據中心甚至整個區域發生故障,數據庫將簡單地使剩餘的可用資源達到均衡。我們的目標是建立一個全球無所不在且不可能被根除的數據庫,就像令人討厭的常見蟑螂一樣。於是CockroachDB應運而生。

這本書適合對創建現代應用程序感興趣的開發人員,無論是在小型初創企業還是大型企業。本指南將教導開發人員如何使用CockroachDB構建和發佈應用程序,並克服障礙。

作者簡介

Guy Harrison has worked with databases for more than a decade, has conducted many MySQL and Oracle training seminars, and is author of several books on Oracle, including Oracle Desk Reference (Prentice Hall PTR). Currently a product architect at Quest Software, Harrison has conducted many training seminars and has authored several articles for the Oracle Technical Journal. He resides in Australia.

Jesse Seldess is the VP of Education at Cockroach Labs, where he leads the documentation and training teams. He has nearly 20 years of experience in technical documentation, and has built teams from the ground up at Cockroach Labs and AppNexus (now Xander).

Ben Darnell is the cofounder and chief architect at Cockroach Labs, where he built the distributed consensus protocols that underpin CockroachDB's transactional model. He started his career at Google and then went on to a series of startups where he saw firsthand the need for better scalable storage systems.

作者簡介(中文翻譯)

Guy Harrison在數據庫領域工作超過十年,曾舉辦許多MySQL和Oracle的培訓研討會,並撰寫了幾本關於Oracle的書籍,包括《Oracle Desk Reference》(Prentice Hall PTR)。目前在Quest Software擔任產品架構師,Harrison曾舉辦過許多培訓研討會,並為Oracle Technical Journal撰寫了幾篇文章。他居住在澳大利亞。

Jesse Seldess是Cockroach Labs的教育副總裁,負責文檔和培訓團隊。他在技術文檔方面擁有近20年的經驗,在Cockroach Labs和AppNexus(現在是Xander)從頭建立了團隊。

Ben Darnell是Cockroach Labs的聯合創始人和首席架構師,他建立了支撐CockroachDB事務模型的分散共識協議。他在Google開始了他的職業生涯,然後轉向一系列初創公司,在那裡他第一手體驗到了對更好的可擴展存儲系統的需求。