This book shows how to build a database backend capable of serving over a million operations per second with millisecond latency, while operating with hundreds of terabytes of data. The book helps you to master the proper design to successfully deploy ScyllaDB’s shard-per-core architecture and self-tuning features, to scale your applications upward, outward, and even across multiple data centers or continents, all while maintaining operational simplicity and the peace of mind that goes with it.
The book begins by showing how to install ScyllaDB on your developer workstation. Using that install as a base, the book takes you through the concepts that underlie ScyllaDB and the application design patterns that lead to successful implementations and scalable applications. You’ll learn about typical application design pitfalls and problems, and potential ways to avoid them. You’ll come away with the knowledge to create production database clusters and high-performance, distributed applications that scale to reach their peak performance while maintaining high availability.
What You Will Learn
Concepts that the ScyllaDB is built around
Application design and data modeling best practices
Database structures and database internal operations
Capacity planning and performance testing techniques
ScyllaDB’s high availability and the data consistency model
How to install ScyllaDB, from a workstation through a petabyte clusters
How to operate, monitor, and troubleshoot a ScyllaDB system
Hands on operations with the cqlsh and nodetool CLIs
Who This Book Is For
Introduction.- Part I. Get Ready and Warm Up.- 1. Prepare the Work Environment.- 2. Meet the Monster.- 3. Installing ScyllaDB on Your Laptop.- 4. Connecting to the Database.- 5. Getting to Know the Cluster.- Part II. Under the Hood.- 6. CAP and BASE.- 7. Structures of the Database.- 8. Physical Data Storage.- 9. Reading the Data.- 10. Writing the Data.- 11. Background Operations.- 12. Data Entropy and Prevention .- 13. Replication Factor and Tunable Consistency.- Part III. Design for High Performance.- 14. Data Model Design.- 15. Primary, Partition, and Clustering Keys.- 16. Tombstones and Large Partitions.- 17. Capacity Planning.- 18. Data Model Validation.- Part IV. Running ScyllaDB for Real.- 19. Running Production Workloads.- 20. Monitoring ScyllaDB.- 21. Backup and Recovery.- 22. Troubleshooting.- 23. Upcoming Features.- Part V. Appendixes.- A. Interfacing with Apache Spark.- B. The Alternator API.- C. The ScyllaDB REST API.- D. ScyllaDB on Kubernetes.
Height:
Width:
Spine:
Weight:0.00