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
Auflage
Sprache
Verlagsort
Verlagsgruppe
Illustrationen
ISBN-13
979-8-8688-0168-6 (9798868801686)
Schweitzer Klassifikation
Djerdj George Srdanov is a technology enthusiast with 25+ years of experience in the IT field. He has built and operated critical enterprise systems using both SQL and NoSQL database systems. He has experience building and operating clusters scaling across hundreds of nodes and containing hundreds of terabytes of data. He is a multi-cloud certified infrastructure and database engineer with wide experience operating databases on UNIX, Linux, and similar operating systems. He has been a ScyllaDB enthusiast since first encountering the project in early 2017 and closely follows the growth of the product and the community around it.
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.