Distributed Database

曾修俊 / 钟安元 / 敖剑Chongqing University Electronic Audio-Visual Publishing House · ChinaSep 2024

Rating 3.4
Word count
94K words
Chapters
144
ISBN
9787894464873

Tags

General Computing Graph DatabaseAdvanced TechData ManagementSystem DesignCluster ArchitectureDeveloper Handbook

Summary

This book covers the theoretical foundations of NoSQL, an introduction to MongoDB, MongoDB applications and administration, an introduction to HBase, advanced HBase, Redis, graph databases, and NewSQL databases. Through this book, students can master both the knowledge and practical application of distributed databases.

Editor's review

Distributed Databases is a technical monograph focused on the core architecture of today's data storage and processing. Written by Zeng Xiujun and published by Chongqing University Electronic Audio-Visual Press, it arrives at a time when data volumes are exploding and application scenarios are growing ever more complex—when distributed databases have moved from optional to foundational for many systems. The book's value lies in its systematic treatment of the core concepts, design principles, and practical considerations of distributed databases, rather than merely showing how to use specific tools.

In terms of structure, the book likely follows a path from theory to practice. It should explore in depth such core topics as data sharding, consistency models (e.g., the CAP theorem, ACID versus BASE), replication mechanisms, and distributed transaction processing. For readers who want to understand how distributed databases work rather than merely how to use a particular database, this analysis of underlying principles is especially important. It helps readers build the judgment to understand the design trade-offs and suitable use cases behind different technical approaches such as Spanner, CockroachDB, TiDB, and OceanBase.

As an author, Zeng Xiujun's background typically points to a practitioner with hands-on architecture or R&D experience. This may give the book a strong practical orientation, potentially covering typical challenges in system design, performance trade-offs, and fault tolerance. For mid- to senior-level backend engineers, system architects, and students interested in going deep into the database field, this is an excellent read for building a complete body of knowledge. It does not offer a quick-fix formula, but rather a map for understanding complex systems. Reading it requires some foundational knowledge of databases and networking, but the reward is a solid and deep cognitive framework for modern data architecture—a highly valuable long-term investment in the cloud-native era.

Who it's for

A good fit for

Not a good fit for

Reading tips

  1. Before reading, it is advisable to review the fundamentals of database systems and computer networks to better understand the challenges in a distributed context
  2. Read in conjunction with the classic papers mentioned in the book (such as Google's Spanner and Amazon's Dynamo papers) to deepen understanding
  3. When reading about design principles, try to compare them with one or two familiar open-source distributed databases (such as TiDB or CockroachDB) to map theory onto actual implementations

About the publisher

Chongqing University Electronic Audio-Visual Publishing House China · Founded in 2004

Chongqing University Electronic Audio-Visual Publishing House focuses on electronic and audio-visual publications in the social sciences, science and technology, and education, and is involved in developing and operating digital teaching platforms and professional teaching-resource databases. Its 169 titles in the catalog cover social sciences, popular science, medicine, management, examinations, and programming design. They include social-science and popular-science works such as Review of Social Research Methods (Vol. 1) and An Illustrated Guide to the Wildlife of Guangdong Grand Canyon (2 vols.), medical humanities titles such as The Cell Renegade and Fatal Redemption, and management and technical textbooks such as Brand Operations and Planning, Digital Electronic Technology (2nd ed.), C# Programming and WinForms Basics, and Data Cleaning Techniques and Applications. Contributors include Zhao Lianfei, Zhao Feng, Hou Yu, Chen Zhe, Peng Meiqian, and Wang Jingping, as well as institutions such as the Guangdong Ruyuan Grand Canyon Provincial Nature Reserve Management Office and Guangzhou Caomufan Environmental Technology Co., Ltd. Owing to limited public information, its publishing profile is best seen as running across academic reviews, nature guides, medical popularization, and information-technology textbooks.

Contents

  1. 版权信息
  2. 内容提要
  3. 前言
  4. 第1章 NoSQL理论基础
  5. 1.1 数据库系统
  6. 1.1.1 数据库系统的基本概念
  7. 1.1.2 关系型数据库
  8. 1.1.3 NoSQL数据库的特点
  9. 1.2 分布式数据库的数据管理
  10. 1.2.1 分布式数据处理
  11. 1.2.2 CAP理论
  12. 1.3 ACID与BASE
  13. 1.3.1 ACID特性
  14. 1.3.2 BASE原理
  15. 1.3.3 最终一致性
  16. 1.4 NoSQL数据库分类
  17. 第2章 MongoDB入门
  18. 2.1 MongoDB简介
  19. 2.1.1 什么是MongoDB
  20. 2.1.2 MongoDB特点
  21. 2.1.3 MongoDB使用原理
  22. 2.1.4 MongoDB适用场景
  23. 2.1.5 MongoDB应用案例
  24. 2.2 MongoDB基本概念
  25. 2.2.1 文档数据模型
  26. 2.2.2 文档存储结构
  27. 2.2.3 数据类型
  28. 2.3 MongoDB的安装与卸载
  29. 2.4 数据库与集合的基本操作
  30. 2.4.1 数据库操作
  31. 2.4.2 集合操作
  32. 2.5 MongoDB的文档操作
  33. 2.5.1 文档的键定义规则
  34. 2.5.2 插入操作
  35. 2.5.3 更新操作
  36. 2.5.4 删除操作
  37. 2.5.5 查询操作
  38. 2.6 索引
  39. 2.6.1 索引简介
  40. 2.6.2 索引类型
  41. 2.6.3 索引操作
  42. 2.7 聚合
  43. 2.7.1 聚合管道方法
  44. 2.7.2 map-reduce方法
  45. 第3章 MongoDB应用与管理
  46. 3.1 集群架构
  47. 3.1.1 主从复制
  48. 3.1.2 副本集
  49. 3.1.3 分片
  50. 3.2 MongoDB分布式集群部署
  51. 3.2.1 分布式集群架构
  52. 3.2.2 部署副本集
  53. 3.2.3 部署分片集群
  54. 3.3 MongoDB编程方法
  55. 3.3.1 通过Java访问MongoDB
  56. 3.3.2 通过Python访问MongoDB
  57. 3.4 MongoDB的可视化工具
  58. 3.5 MongoDB性能调优
  59. 3.5.1 部署架构
  60. 3.5.2 系统优化
  61. 3.5.3 索引设计
  62. 3.5.4 监控与备份
  63. 3.5.5 模式设计
  64. 3.5.6 程序配置
  65. 第4章 HBase入门
  66. 4.1 HBase简介
  67. 4.1.1 产生背景
  68. 4.1.2 什么是HBase
  69. 4.1.3 HBase特点
  70. 4.1.4 HBase优缺点
  71. 4.1.5 HBase应用场景
  72. 4.1.6 HBase数据模型与物理模型
  73. 4.1.7 HBase框架原理
  74. 4.2 HBase安装
  75. 4.2.1 HBase安装准备
  76. 4.2.2 HBase安装
  77. 4.3 HBase Shell操作
  78. 4.3.1 其他操作
  79. 4.3.2 表的操作
  80. 4.3.3 数据操作
  81. 4.4 HBase API
  82. 4.4.1 使用Java访问HBase
  83. 4.4.2 使用Python访问HBase
  84. 第5章 HBase进阶
  85. 5.1 HBase优化
  86. 5.1.1 高可用
  87. 5.1.2 预分区
  88. 5.1.3 RowKey设计
  89. 5.1.4 内存优化
  90. 5.1.5 基础优化
  91. 5.2 Phoenix
  92. 5.2.1 Phoenix 定义
  93. 5.2.2 Phoenix架构
  94. 5.2.3 Phoenix数据模型
  95. 5.2.4 安装部署
  96. 5.2.5 Phoenix表操作
  97. 5.2.6 Phoenix表和HBase表的关系
  98. 5.2.7 二级索引
  99. 5.2.8 Phoenix索引分类
  100. 5.2.9 Phoenix API
  101. 第6章 Redis
  102. 6.1 Redis简介
  103. 6.1.1 Redis历史与发展
  104. 6.1.2 Redis是什么
  105. 6.1.3 Redis特性
  106. 6.1.4 Redis应用场景
  107. 6.1.5 Redis架构原理
  108. 6.2 Redis安装与使用
  109. 6.2.1 Redis安装
  110. 6.2.2 Redis命令行客户端
  111. 6.2.3 配置
  112. 6.2.4 多数据库
  113. 6.3 Redis数据类型
  114. 6.3.1 String
  115. 6.3.2 Hash
  116. 6.3.3 List
  117. 6.3.4 Set
  118. 6.3.5 SortSet
  119. 6.4 Redis API
  120. 6.4.1 使用Java访问Redis
  121. 6.4.2 使用Python访问Redis
  122. 第7章 图数据库
  123. 7.1 Neo4j简介
  124. 7.1.1 Neo4j产生背景
  125. 7.1.2 Neo4j是什么
  126. 7.1.3 Neo4j优缺点
  127. 7.1.4 Neo4j常用使用场景
  128. 7.1.5 Neo4j数据模型
  129. 7.1.6 Neo4j部署模式
  130. 7.2 Neo4j安装与使用
  131. 7.2.1 Neo4j安装配置
  132. 7.2.2 Neo4j使用
  133. 7.3 Neo4j API
  134. 7.3.1 使用Python访问Neo4j
  135. 7.3.2 使用Java访问Neo4j
  136. 第8章 NewSQL数据库
  137. 8.1 TiDB数据库
  138. 8.1.1 TiDB架构
  139. 8.1.2 TiDB的存储原理
  140. 8.1.3 TiDB的管理机制
  141. 8.1.4 TiDB应用案例
  142. 8.2 OceanBase
  143. 8.2.1 OceanBase特性
  144. 8.2.2 OceanBase系统架构

FAQ

What is the main difference between this book and other distributed database books on the market? This book focuses more on the core design principles and architectural ideas of distributed databases, aiming to build readers' underlying cognitive framework and systematic judgment rather than serving as a tutorial for a specific product. It is better suited to readers who want to understand why systems are designed the way they are.
How deep a technical background is required to read this book? A solid grasp of basic database system concepts (such as transactions, indexes, and locks) and computer networking knowledge is required. Experience using at least one relational database will help. The content is aimed at developers with some experience or students who want to study the subject in depth.
Does the book include many code examples and experiments? As a book on principles, it focuses on explaining architecture and theory. It may include some pseudocode or design examples to illustrate principles, but it is not a hands-on manual dominated by code in specific programming languages (such as Java or Go). The practical portions lean more toward design ideas and solution discussions.

This site is an index: you start “Search all sources” in your browser, and the entries it lists all point to third-party sites; please judge their availability yourself.

About the author

曾修俊 Author

Zeng Xiujun: publicly available information is limited, and at present only three works by this author are held in the library, all focused on computer technology and applications. Representative works include Data Cleaning Techniques and Applications, Distributed Databases, and Crawler Application Technology and Development. Judging from the titles, these works address data preprocessing, distributed data storage and management, and web crawler development, making them practical technical titles in the areas of general computing and programming design. These works commonly appear in education-related categories, suggesting that the writing is intended for teaching or introductory technical scenarios and emphasizes the introduction of technical methods and their practical application. Because information about the author's biography, nationality, education, and positions is not found in the library records and cannot be confirmed from public sources, this introduction is based solely on an objective description of the works' subject matter and categories, without any speculation about or supplementation of the author's personal background.

钟安元 Author

Zhong Anyuan is a Chinese author of computer science books, about whom little public information is available; seven of his works are included in this catalog. His writing focuses on computer technology and software development. His representative works cover both foundational and advanced topics such as distributed databases, virtualization technology and applications, and computer graphics and image rendering, as well as practice-oriented teaching and training materials including Unity3D Core Development, a hands-on guide to MySQL database design and implementation, MyBatis Framework Technology, and Advanced Java Web Application Development. Judging from the range of subjects, his books span databases, web development, graphics rendering, and game engine development. Common categories include general computer science, examinations, software learning, and programming design, reflecting an editorial orientation toward university teaching and engineering practice that suits students in relevant courses and developers seeking reference.

敖剑 Author

Ao Jian is a Chinese author of computer and technology books. Publicly available information about him is limited, and his nationality, dates of birth and death, education, and professional background are not clearly documented. Judging from the four works held in the collection, his writing focuses on computer technology and software development, covering distributed databases, ASP.NET Core framework technology, Unity3D core development, and computer graphics and image rendering. These topics span backend architecture, web development, game engine applications, and the fundamentals of graphics. The subjects are largely practical technical themes aimed at readers who wish to study systematically or consult specific development knowledge. His works are often classified under general computing, examinations, and software learning, suggesting they serve both as day-to-day technical references and as materials for related courses and exam preparation. Overall, Ao Jian's writings reflect attention to a range of development technology stacks and can serve as reference reading for understanding the basics and applications of these technologies.