This textbook offers a comprehensive introduction to relational (SQL) and non-relational (NoSQL) databases. The authors thoroughly review the current state of database tools and techniques and examine upcoming innovations. In the first five chapters, the authors analyze in detail the management,
SQL and NoSQL Databases: Modeling, Languages, Security and Architectures for Big Data Management
โ Scribed by Michael Kaufmann, Andreas Meier
- Publisher
- Springer
- Year
- 2023
- Tongue
- English
- Leaves
- 263
- Edition
- 2nd ed. 2023
- Category
- Library
No coin nor oath required. For personal study only.
โฆ Synopsis
This textbook offers a comprehensive introduction to relational (SQL) and non-relational (NoSQL) databases. The authors thoroughly review the current state of database tools and techniques and examine upcoming innovations.
In the first five chapters, the authors analyze in detail the management, modeling, languages, security, and architecture of relational databases, graph databases, and document databases. Moreover, an overview of other SQL- and NoSQL-based database approaches is provided. In addition to classic concepts such as the entity and relationship model and its mapping in SQL database schemas, query languages or transaction management, other aspects for NoSQL databases such as non-relational data models, document and graph query languages (MQL, Cypher), the Map/Reduce procedure, distribution options (sharding, replication) or the CAP theorem (Consistency, Availability, Partition Tolerance) are explained.
This 2nd English edition offers a new in-depth introduction to document databases with a method for modeling document structures, an overview of the document-oriented MongoDB query language MQL as well as security and architecture aspects. The topic of database security is newly introduced as a separate chapter and analyzed in detail with regard to data protection, integrity, and transactions. Texts on data management, database programming, and data warehousing and data lakes have been updated. In addition, the book now explains the concepts of JSON, JSON schema, BSON, index-free neighborhood, cloud databases, search engines and time series databases.
The book includes more than 100 tables, examples and illustrations, and each chapter offers a list of resources for further reading. It conveys an in-depth comparison of relational and non-relational approaches and shows how to undertake development for big data applications. This way, it benefits students and practitioners working across the broad field of data science and applied information technology.
โฆ Table of Contents
Foreword
Preface
Contents
1: Database Management
1.1 Information Systems and Databases
1.2 SQL Databases
1.2.1 Relational Model
1.2.2 Structured Query Language SQL
1.2.3 Relational Database Management System
1.3 Big Data and NoSQL Databases
1.3.1 Big Data
1.3.2 NoSQL Database Management System
1.4 Graph Databases
1.4.1 Graph-Based Model
1.4.2 Graph Query Language Cypher
1.5 Document Databases
1.5.1 Document Model
1.5.2 Document-Oriented Database Language MQL
1.6 Organization of Data Management
Bibliography
2: Database Modeling
2.1 From Requirements Analysis to Database
2.2 The Entity-Relationship Model
2.2.1 Entities and Relationships
2.2.2 Associations and Association Types
2.2.3 Generalization and Aggregation
2.3 Implementation in the Relational Model
2.3.1 Dependencies and Normal Forms
2.3.2 Mapping Rules for Relational Databases
2.4 Implementation in the Graph Model
2.4.1 Graph Properties
2.4.2 Mapping Rules for Graph Databases
2.5 Implementation in the Document Model
2.5.1 Document-Oriented Database Modeling
2.5.2 Mapping Rules for Document Databases
2.6 Formula for Database Design
Bibliography
3: Database Languages
3.1 Interacting with Databases
3.2 Relational Algebra
3.2.1 Overview of Operators
3.2.2 Set Operators
3.2.3 Relation Operators
3.2.4 Relationally Complete Languages
3.3 Relational Language SQL
3.3.1 Creating and Populating the Database Schema
3.3.2 Relational Operators
3.3.3 Built-In Functions
3.3.4 Null values
3.4 Graph-Based Language Cypher
3.4.1 Creating and Populating the Database Schema
3.4.2 Relation Operators
3.4.3 Built-In Functions
3.4.4 Graph Analysis
3.5 Document-Oriented Language MQL
3.5.1 Creating and Filling the Database Schema
3.5.2 Relation Operators
3.5.3 Built-In Functions
3.5.4 Null Values
3.6 Database Programming with Cursors
3.6.1 Embedding of SQL in Procedural Languages
3.6.2 Embedding Graph-Based Languages
3.6.3 Embedding Document Database Languages
Bibliography
4: Database Security
4.1 Security Goals and Measures
4.2 Access Control
4.2.1 Authentication and Authorization in SQL
4.2.2 Authentication in Cypher
4.2.3 Authentication and Authorization in MQL
4.3 Integrity Constraints
4.3.1 Relational Integrity Constraints
4.3.2 Integrity Constraints for Graphs in Cypher
4.3.3 Integrity Constraints in Document Databases with MQL
4.4 Transaction Consistency
4.4.1 Multi-user Operation
4.4.2 ACID
4.4.3 Serializability
4.4.4 Pessimistic Methods
4.4.5 Optimistic Methods
4.4.6 Recovery
4.5 Soft Consistency in Massive Distributed Data
4.5.1 BASE and the CAP Theorem
4.5.2 Nuanced Consistency Settings
4.5.3 Vector Clocks for the Serialization of Distributed Events
4.5.4 Comparing ACID and BASE
4.6 Transaction Control Language Elements
4.6.1 Transaction Control in SQL
4.6.2 Transaction Management in the Graph Database Neo4J and in the Cypher Language
4.6.3 Transaction Management in MongoDB and MQL
Bibliography
5: System Architecture
5.1 Processing of Homogeneous and Heterogeneous Data
5.2 Storage and Access Structures
5.2.1 Indexes
5.2.2 Tree Structures
5.2.3 Hashing Methods
5.2.4 Consistent Hashing
5.2.5 Multi-dimensional Data Structures
5.2.6 Binary JavaScript Object Notation BSON
5.2.7 Index-Free Adjacency
5.3 Translation and Optimization of Relational Queries
5.3.1 Creation of Query Trees
5.3.2 Optimization by Algebraic Transformation
5.3.3 Calculation of Join Operators
5.3.4 Cost-Based Optimization of Access Paths
5.4 Parallel Processing with MapReduce
5.5 Layered Architecture
5.6 Use of Different Storage Structures
5.7 Cloud Databases
Bibliography
6: Post-relational Databases
6.1 The Limits of SQL and What Lies Beyond
6.2 Federated Databases
6.3 Temporal Databases
6.4 Multi-dimensional Databases
6.5 Data Warehouse and Data Lake Systems
6.6 Object-Relational Databases
6.7 Knowledge Databases
6.8 Fuzzy Databases
Bibliography
7: NoSQL Databases
7.1 Development of Non-relational Technologies
7.2 Key-Value Stores
7.3 Column-Family Stores
7.4 Document Databases
7.5 XML Databases
7.6 Graph Databases
7.7 Search Engine Databases
7.8 Time Series Databases
Bibliography
Glossary
Index
๐ SIMILAR VOLUMES
<span>This textbook offers a comprehensive introduction to relational (SQL) and non-relational (NoSQL) databases. The authors thoroughly review the current state of database tools and techniques and examine upcoming innovations.<br>In the first five chapters, the authors analyze in detail the manage
This book offers a comprehensive introduction to relational (SQL) and non-relational (NoSQL) databases. The authors thoroughly review the current state of database tools and techniques, and examine coming innovations. The book opens with a broad look at data management, including an overview of i
This book offers a comprehensive introduction to relational (SQL) and non-relational (NoSQL) databases. The authors thoroughly review the current state of database tools and techniques, and examine coming innovations. The book opens with a broad look at data management, including an overview of info
<p>Advanced data management has always been at the core of efficient database and information systems. Recent trends like big data and cloud computing have aggravated the need for sophisticated and flexible data storage and processing solutions.<br>This book provides a comprehensive coverage of the