Getting Started with CockroachDB


Book Description

Get hands-on with deploying and managing your database services to provide scalable and high-speed data access on CockroachDB Key FeaturesGain insights into CockroachDB and build highly reliable cloud-native applicationsExplore the power of a scalable and highly available cloud-native SQL database to distribute data and workloads automaticallyBuild high-speed database services using CockroachDB and troubleshoot performance issuesBook Description Getting Started with CockroachDB will introduce you to the inner workings of CockroachDB and help you to understand how it provides faster access to distributed data through a SQL interface. The book will also uncover how you can use the database to provide solutions where the data is highly available. Starting with CockroachDB's installation, setup, and configuration, this SQL book will familiarize you with the database architecture and database design principles. You'll then discover several options that CockroachDB provides to store multiple copies of your data to ensure fast data access. The book covers the internals of CockroachDB, how to deploy and manage it on the cloud, performance tuning to get the best out of CockroachDB, and how to scale data across continents and serve it locally. In addition to this, you'll get to grips with fault tolerance and auto-rebalancing, how indexes work, and the CockroachDB Admin UI. The book will guide you in building scalable cloud services on top of CockroachDB, covering administrative and security aspects and tips for troubleshooting, performance enhancements, and a brief guideline on migrating from traditional databases. By the end of this book, you'll have gained sufficient knowledge to manage your data on CockroachDB and interact with it from your application layer. What you will learnBecome well-versed with the overall architecture and design concepts of CockroachDBUnderstand how auto-rebalancing of data can avoid performance bottlenecksGet to know how CockroachDB achieves atomicity, consistency, isolation, and durabilityPartition your data across multiple geolocations to ensure very low latency when serving dataFind out how indexes are stored and the optimizations used to serve query results fasterDiscover the key concepts of deploying and managing CockroachDB clustersWho this book is for Software engineers, database developers, database administrators, and anyone who wishes to learn about the features of CockroachDB and how to build database solutions that are fast, highly available, and cater to business-critical applications, will find this book useful. Although no prior exposure to CockroachDB is required, familiarity with database concepts will help you to get the most out of this book.




CockroachDB: The Definitive Guide


Book Description

Get the lowdown on CockroachDB, the elastic SQL database built to handle the demands of today's data-driven world. With this practical guide, software developers, architects, and DevOps teams will discover the advantages of building on a distributed SQL database. You'll learn how to create applications that scale elastically and provide seamless delivery for end users while remaining exceptionally resilient and indestructible. Written from scratch for the cloud and architected to scale elastically to handle the demands of cloud native and open source, CockroachDB makes it easier to build and scale modern applications. 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 ultralow latencies to globally distributed end users. With this thorough guide, you'll learn how to: Plan 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 Optimize queries for performance across geographically distributed replicas Plan a CockroachDB deployment for resiliency across single-region and multiregion clusters Secure, monitor, and optimize your CockroachDB deployment




CockroachDB


Book Description

Get the lowdown on CockroachDB, the elastic SQL database built to handle the demands of today's data-driven world. With this practical guide, software developers, architects, and DevOps teams will discover the advantages of building on a distributed SQL database. You'll learn how to create applications that scale elastically and provide seamless delivery for end users while remaining exceptionally resilient and indestructible. Written from scratch for the cloud and architected to scale elastically to handle the demands of cloud native and open source, CockroachDB makes it easier to build and scale modern applications. 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 ultralow latencies to globally distributed end users. With this thorough guide, you'll learn how to: Plan 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 Optimize queries for performance across geographically distributed replicas Plan a CockroachDB deployment for resiliency across single-region and multiregion clusters Secure, monitor, and optimize your CockroachDB deployment.




Hands-On Software Engineering with Golang


Book Description

Explore software engineering methodologies, techniques, and best practices in Go programming to build easy-to-maintain software that can effortlessly scale on demand Key FeaturesApply best practices to produce lean, testable, and maintainable Go code to avoid accumulating technical debtExplore Go’s built-in support for concurrency and message passing to build high-performance applicationsScale your Go programs across machines and manage their life cycle using KubernetesBook Description Over the last few years, Go has become one of the favorite languages for building scalable and distributed systems. Its opinionated design and built-in concurrency features make it easy for engineers to author code that efficiently utilizes all available CPU cores. This Golang book distills industry best practices for writing lean Go code that is easy to test and maintain, and helps you to explore its practical implementation by creating a multi-tier application called Links ‘R’ Us from scratch. You’ll be guided through all the steps involved in designing, implementing, testing, deploying, and scaling an application. Starting with a monolithic architecture, you’ll iteratively transform the project into a service-oriented architecture (SOA) that supports the efficient out-of-core processing of large link graphs. You’ll learn about various cutting-edge and advanced software engineering techniques such as building extensible data processing pipelines, designing APIs using gRPC, and running distributed graph processing algorithms at scale. Finally, you’ll learn how to compile and package your Go services using Docker and automate their deployment to a Kubernetes cluster. By the end of this book, you’ll know how to think like a professional software developer or engineer and write lean and efficient Go code. What you will learnUnderstand different stages of the software development life cycle and the role of a software engineerCreate APIs using gRPC and leverage the middleware offered by the gRPC ecosystemDiscover various approaches to managing package dependencies for your projectsBuild an end-to-end project from scratch and explore different strategies for scaling itDevelop a graph processing system and extend it to run in a distributed mannerDeploy Go services on Kubernetes and monitor their health using PrometheusWho this book is for This Golang programming book is for developers and software engineers looking to use Go to design and build scalable distributed systems effectively. Knowledge of Go programming and basic networking principles is required.




Kubernetes Cookbook


Book Description

If your organization is preparing to move toward a cloud-native computing architecture, this cookbook shows you how to successfully use Kubernetes, the de-facto standard for automating the deployment, scaling, and management of containerized applications. With more than 80 proven recipes, developers, system administrators, and architects will quickly learn how to get started with Kubernetes and understand its powerful API. Through the course of the book, authors Sébastien Goasguen and Michael Hausenblas provide several detailed solutions for installing, interacting with, and using Kubernetes in development and production. You'll learn how to adapt the system to your particular needs and become familiar with the wider Kubernetes ecosystem. Each standalone chapter features recipes written in O'Reilly's popular problem-solution-discussion format. Recipes in this cookbook focus on: Creating a Kubernetes cluster Using the Kubernetes command-line interface Managing fundamental workload types Working with services Exploring the Kubernetes API Managing stateful and non-cloud native apps Working with volumes and configuration data Cluster-level and application-level scaling Securing your applications Monitoring and logging Maintenance and troubleshooting.




Getting Started with V Programming


Book Description

Learn a new statically compiled programming language to build maintainable and fast software with the help of this comprehensive guide to V programming Key FeaturesExplore the features of the V programming language step by step with this beginner's guideGain strong foundational knowledge of core programming concepts such as modules, functions, and structsLearn how to write super-fast programs and applications that compile in a matter of secondsBook Description A new language on the block, V comes with a promising set of features such as fast compilation and interoperability with other programming languages. This is the first book on the V programming language, packed with concise information and a walkthrough of all the features you need to know to get started with the language. The book begins by covering the fundamentals to help you learn about the basic features of V and the suite of built-in libraries available within the V ecosystem. You'll become familiar with primitive data types, declaring variables, arrays, and maps. In addition to basic programming, you'll develop a solid understanding of the building blocks of programming, including functions, structs, and modules in the V programming language. As you advance through the chapters, you'll learn how to implement concurrency in V Programming, and finally learn how to write test cases for functions. This book takes you through an end-to-end project that will guide you to build fast and maintainable RESTful microservices by leveraging the power of V and its built-in libraries. By the end of this V programming book, you'll be well-versed with the V programming language and be able to start writing your own programs and applications. What you will learnBecome familiar with the basic building blocks of programming in the V languageInstall the V language on various operating systemsUnderstand how to work with arrays and maps in V programmingDiscover how to implement concurrency in V programmingUse channels in V programming to learn the best practices of sharing memory by communicating among coroutinesWrite modular code and build on your knowledge of structs and functions in VGet acquainted with writing tests in V programmingGet to grips with building and querying RESTful microservice in VWho this book is for Whether you're a beginner interested in learning a programming language or an experienced programmer looking to switch to a new and better statically compiled programming language, this V programming book is for you.




IBM Storage for Red Hat OpenShift Blueprint


Book Description

This IBM® Blueprint is intended to facilitate the deployment of IBM Storage for Red Hat OpenShift Container Platform by using detailed hardware specifications to build a system. It describes the associated parameters for configuring persistent storage within a Red Hat OpenShift Container Platform environment. To complete the tasks, you must understand Red Hat OpenShift, IBM Storage, the IBM block storage Container Storage Interface (CSI) driver, and the IBM Spectrum Scale CSI driver. The information in this document is distributed on an "as is" basis without any warranty that is either expressed or implied. Support assistance for the use of this material is limited to situations where IBM Storwize® or IBM FlashSystem® storage devices, Enterprise Storage Server®, and IBM Spectrum® Scale are supported and entitled, and where the issues are not specific to a blueprint implementation. IBM Storage Suite for IBM Cloud® Paks is an offering bundle that includes software-defined storage from IBM and Red Hat. Use this document for more information about how to deploy IBM Storage product licenses that are obtained through Storage Suite for Cloud Paks (IBM Spectrum Virtualize and IBM Spectrum Scale).




Redash v5 Quick Start Guide


Book Description

Learn how to quickly generate business intelligence, insights and create interactive dashboards for digital storytelling through various data sources with Redash Key FeaturesLearn the best use of visualizations to build powerful interactive dashboardsCreate and share visualizations and data in your organizationWork with different complexities of data from different data sourcesBook Description Data exploration and visualization is vital to Business Intelligence, the backbone of almost every enterprise or organization. Redash is a querying and visualization tool developed to simplify how marketing and business development departments are exposed to data. If you want to learn to create interactive dashboards with Redash, explore different visualizations, and share the insights with your peers, then this is the ideal book for you. The book starts with essential Business Intelligence concepts that are at the heart of data visualizations. You will learn how to find your way round Redash and its rich array of data visualization options for building interactive dashboards. You will learn how to create data storytelling and share these with peers. You will see how to connect to different data sources to process complex data, and then visualize this data to reveal valuable insights. By the end of this book, you will be confident with the Redash dashboarding tool to provide insight and communicate data storytelling. What you will learnInstall Redash and troubleshoot installation errorsManage user roles and permissionsFetch data from various data sourcesVisualize and present data with RedashCreate active alerts based on your dataUnderstand Redash administration and customizationExport, share and recount stories with Redash visualizationsInteract programmatically with Redash through the Redash APIWho this book is for This book is intended for Data Analysts, BI professionals and Data Developers, but can be useful to anyone who has a basic knowledge of SQL and a creative mind. Familiarity with basic BI concepts will be helpful, but no knowledge of Redash is required.




Real-World Cryptography


Book Description

"A staggeringly comprehensive review of the state of modern cryptography. Essential for anyone getting up to speed in information security." - Thomas Doylend, Green Rocket Security An all-practical guide to the cryptography behind common tools and protocols that will help you make excellent security choices for your systems and applications. In Real-World Cryptography, you will find: Best practices for using cryptography Diagrams and explanations of cryptographic algorithms Implementing digital signatures and zero-knowledge proofs Specialized hardware for attacks and highly adversarial environments Identifying and fixing bad practices Choosing the right cryptographic tool for any problem Real-World Cryptography reveals the cryptographic techniques that drive the security of web APIs, registering and logging in users, and even the blockchain. You’ll learn how these techniques power modern security, and how to apply them to your own projects. Alongside modern methods, the book also anticipates the future of cryptography, diving into emerging and cutting-edge advances such as cryptocurrencies, and post-quantum cryptography. All techniques are fully illustrated with diagrams and examples so you can easily see how to put them into practice. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Cryptography is the essential foundation of IT security. To stay ahead of the bad actors attacking your systems, you need to understand the tools, frameworks, and protocols that protect your networks and applications. This book introduces authentication, encryption, signatures, secret-keeping, and other cryptography concepts in plain language and beautiful illustrations. About the book Real-World Cryptography teaches practical techniques for day-to-day work as a developer, sysadmin, or security practitioner. There’s no complex math or jargon: Modern cryptography methods are explored through clever graphics and real-world use cases. You’ll learn building blocks like hash functions and signatures; cryptographic protocols like HTTPS and secure messaging; and cutting-edge advances like post-quantum cryptography and cryptocurrencies. This book is a joy to read—and it might just save your bacon the next time you’re targeted by an adversary after your data. What's inside Implementing digital signatures and zero-knowledge proofs Specialized hardware for attacks and highly adversarial environments Identifying and fixing bad practices Choosing the right cryptographic tool for any problem About the reader For cryptography beginners with no previous experience in the field. About the author David Wong is a cryptography engineer. He is an active contributor to internet standards including Transport Layer Security. Table of Contents PART 1 PRIMITIVES: THE INGREDIENTS OF CRYPTOGRAPHY 1 Introduction 2 Hash functions 3 Message authentication codes 4 Authenticated encryption 5 Key exchanges 6 Asymmetric encryption and hybrid encryption 7 Signatures and zero-knowledge proofs 8 Randomness and secrets PART 2 PROTOCOLS: THE RECIPES OF CRYPTOGRAPHY 9 Secure transport 10 End-to-end encryption 11 User authentication 12 Crypto as in cryptocurrency? 13 Hardware cryptography 14 Post-quantum cryptography 15 Is this it? Next-generation cryptography 16 When and where cryptography fails




Database Internals


Book Description

When it comes to choosing, using, and maintaining a database, understanding its internals is essential. But with so many distributed databases and tools available today, it’s often difficult to understand what each one offers and how they differ. With this practical guide, Alex Petrov guides developers through the concepts behind modern database and storage engine internals. Throughout the book, you’ll explore relevant material gleaned from numerous books, papers, blog posts, and the source code of several open source databases. These resources are listed at the end of parts one and two. You’ll discover that the most significant distinctions among many modern databases reside in subsystems that determine how storage is organized and how data is distributed. This book examines: Storage engines: Explore storage classification and taxonomy, and dive into B-Tree-based and immutable Log Structured storage engines, with differences and use-cases for each Storage building blocks: Learn how database files are organized to build efficient storage, using auxiliary data structures such as Page Cache, Buffer Pool and Write-Ahead Log Distributed systems: Learn step-by-step how nodes and processes connect and build complex communication patterns Database clusters: Which consistency models are commonly used by modern databases and how distributed storage systems achieve consistency