Principles of Distributed Database Systems


Book Description

This third edition of a classic textbook can be used to teach at the senior undergraduate and graduate levels. The material concentrates on fundamental theories as well as techniques and algorithms. The advent of the Internet and the World Wide Web, and, more recently, the emergence of cloud computing and streaming data applications, has forced a renewal of interest in distributed and parallel data management, while, at the same time, requiring a rethinking of some of the traditional techniques. This book covers the breadth and depth of this re-emerging field. The coverage consists of two parts. The first part discusses the fundamental principles of distributed data management and includes distribution design, data integration, distributed query processing and optimization, distributed transaction management, and replication. The second part focuses on more advanced topics and includes discussion of parallel database systems, distributed object management, peer-to-peer data management, web data management, data stream systems, and cloud computing. New in this Edition: • New chapters, covering database replication, database integration, multidatabase query processing, peer-to-peer data management, and web data management. • Coverage of emerging topics such as data streams and cloud computing • Extensive revisions and updates based on years of class testing and feedback Ancillary teaching materials are available.




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




Database Systems


Book Description

This book provides a concise but comprehensive guide to the disciplines of database design, construction, implementation, and management. Based on the authors’ professional experience in the software engineering and IT industries before making a career switch to academia, the text stresses sound database design as a necessary precursor to successful development and administration of database systems. The discipline of database systems design and management is discussed within the context of the bigger picture of software engineering. Students are led to understand from the outset of the text that a database is a critical component of a software infrastructure, and that proper database design and management is integral to the success of a software system. Additionally, students are led to appreciate the huge value of a properly designed database to the success of a business enterprise. The text was written for three target audiences. It is suited for undergraduate students of computer science and related disciplines who are pursuing a course in database systems, graduate students who are pursuing an introductory course to database, and practicing software engineers and information technology (IT) professionals who need a quick reference on database design. Database Systems: A Pragmatic Approach, 3rd Edition discusses concepts, principles, design, implementation, and management issues related to database systems. Each chapter is organized into brief, reader-friendly, conversational sections with itemization of salient points to be remembered. This pragmatic approach includes adequate treatment of database theory and practice based on strategies that have been tested, proven, and refined over several years. Features of the third edition include: Short paragraphs that express the salient aspects of each subject Bullet points itemizing important points for easy memorization Fully revised and updated diagrams and figures to illustrate concepts to enhance the student’s understanding Real-world examples Original methodologies applicable to database design Step-by-step, student-friendly guidelines for solving generic database systems problems Opening chapter overviews and concluding chapter summaries Discussion of DBMS alternatives such as the Entity–Attributes–Value model, NoSQL databases, database-supporting frameworks, and other burgeoning database technologies A chapter with sample assignment questions and case studies This textbook may be used as a one-semester or two-semester course in database systems, augmented by a DBMS (preferably Oracle). After its usage, students will come away with a firm grasp of the design, development, implementation, and management of a database system.




Cassandra: The Definitive Guide


Book Description

Imagine what you could do if scalability wasn't a problem. With this hands-on guide, you’ll learn how the Cassandra database management system handles hundreds of terabytes of data while remaining highly available across multiple data centers. This third edition—updated for Cassandra 4.0—provides the technical details and practical examples you need to put this database to work in a production environment. Authors Jeff Carpenter and Eben Hewitt demonstrate the advantages of Cassandra’s nonrelational design, with special attention to data modeling. If you’re a developer, DBA, or application architect looking to solve a database scaling issue or future-proof your application, this guide helps you harness Cassandra’s speed and flexibility. Understand Cassandra’s distributed and decentralized structure Use the Cassandra Query Language (CQL) and cqlsh—the CQL shell Create a working data model and compare it with an equivalent relational model Develop sample applications using client drivers for languages including Java, Python, and Node.js Explore cluster topology and learn how nodes exchange data




Concise Guide to Databases


Book Description

Modern businesses depend on data for their very survival, creating a need for sophisticated databases and database technologies to help store, organise and transport their valuable data. This updated and expanded, easy-to-read textbook/reference presents a comprehensive introduction to databases, opening with a concise history of databases and of data as an organisational asset. As relational database management systems are no longer the only database solution, the book takes a wider view of database technology, encompassing big data, NoSQL, object and object-relational, and in-memory databases. Presenting both theoretical and practical elements, the new edition also examines the issues of scalability, availability, performance and security encountered when building and running a database in the real world. Topics and features: Presents review and discussion questions at the end of each chapter, in addition to skill-building, hands-on exercises Provides new material on database adaptiveness, integration, and efficiency in relation to data growth Introduces a range of commercial databases and encourages the reader to experiment with these in an associated learning environment Reviews use of a variety of databases in business environments, including numerous examples Discusses areas for further research within this fast-moving domain With its learning-by-doing approach, supported by both theoretical and practical examples, this clearly-structured textbook will be of great value to advanced undergraduate and postgraduate students of computer science, software engineering, and information technology. Practising database professionals and application developers will also find the book an ideal reference that addresses today's business needs.




Designing Data-Intensive Applications


Book Description

Data is at the center of many challenges in system design today. Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. In addition, we have an overwhelming variety of tools, including relational databases, NoSQL datastores, stream or batch processors, and message brokers. What are the right choices for your application? How do you make sense of all these buzzwords? In this practical and comprehensive guide, author Martin Kleppmann helps you navigate this diverse landscape by examining the pros and cons of various technologies for processing and storing data. Software keeps changing, but the fundamental principles remain the same. With this book, software engineers and architects will learn how to apply those ideas in practice, and how to make full use of data in modern applications. Peer under the hood of the systems you already use, and learn how to use and operate them more effectively Make informed decisions by identifying the strengths and weaknesses of different tools Navigate the trade-offs around consistency, scalability, fault tolerance, and complexity Understand the distributed systems research upon which modern databases are built Peek behind the scenes of major online services, and learn from their architectures




Encyclopedia of Data Science and Machine Learning


Book Description

Big data and machine learning are driving the Fourth Industrial Revolution. With the age of big data upon us, we risk drowning in a flood of digital data. Big data has now become a critical part of both the business world and daily life, as the synthesis and synergy of machine learning and big data has enormous potential. Big data and machine learning are projected to not only maximize citizen wealth, but also promote societal health. As big data continues to evolve and the demand for professionals in the field increases, access to the most current information about the concepts, issues, trends, and technologies in this interdisciplinary area is needed. The Encyclopedia of Data Science and Machine Learning examines current, state-of-the-art research in the areas of data science, machine learning, data mining, and more. It provides an international forum for experts within these fields to advance the knowledge and practice in all facets of big data and machine learning, emphasizing emerging theories, principals, models, processes, and applications to inspire and circulate innovative findings into research, business, and communities. Covering topics such as benefit management, recommendation system analysis, and global software development, this expansive reference provides a dynamic resource for data scientists, data analysts, computer scientists, technical managers, corporate executives, students and educators of higher education, government officials, researchers, and academicians.







Database Systems: The Complete Book


Book Description




Principles of Database Management


Book Description

Introductory, theory-practice balanced text teaching the fundamentals of databases to advanced undergraduates or graduate students in information systems or computer science.