全书分为三大部分: 主要讨论有关增强数据密集型应用系统所需的若干基本原则。首先开篇第1章即瞄准目标:可靠性、可扩展性与可维护性,如何认识这些问题以及如何达成目标。第2章我们比较了多种不同的数据模型和查询语言,讨论各自的适用场景。接下来第3章主要针对存储引擎,即数据库是如何安排磁盘结构从而提高检索效率。第4章转向数据编码(序列化)方面,包括常见模式的演化历程。 我们将从单机的数据存储转向跨机器的分布式系统,这是扩展性的重要一步,但随之而来的是各种挑战。所以将依次讨论数据远程复制(第5章)、数据分区(第6章)以及事务(第7章)。接下来的第8章包括分布式系统的更多细节,以及分布式环境如何达成一致性与共识(第9章)。 主要针对产生派生数据的系统,所谓派生数据主要指在异构系统中,如果无法用一个数
本书介绍了很多基本设计模式、优化技术和数据挖掘及机器学习解决方案,以解决生物信息学、基因组学、统计和社交网络分析等领域的很多问题。这本书还概要介绍了MapReduce、Hadoop和Spark。 本书主要内容包括: ■ 完成超大量交易的购物篮分析。 ■ 数据挖掘算法(K-均值、KNN和朴素贝叶斯)。 ■ 使用超大基因组数据完成 DNA 和 RNA 测序。 ■ 朴素贝叶斯定理和马尔可夫链实现数据和市场预测。 ■ 推荐算法和成对文档相似性。 ■ 线性回归、Cox回归和 皮尔逊 (Pearson) 相关 分析。 ■ 等位基因频率和 DNA 挖掘。 ■ 社交网络分析(推荐系统、三角形计数和情感分析)。
本书从整体上进行了改编、扩展和提升。主题内容也有所延伸,其中包括数据的类型与域、表的比较、映像关系、聚集操作符与汇总、视图更新以及子查询。还特别收录了一个新附录 NoSQL与关系理论。 本书涵盖以下内容: 是否可以编写SQL查询找到在公司每个编程部门都至少工作过一次的员工? 你是否可以确保查询的正确性?为什么恰当的列命名非常重要? 数据库中的null会带来错误的答案。为什么?你又能做什么? 映像关系如何能帮助你表述复杂的SQL查询? 虽然SQL支持 量化比较 ,但是尽量不要使用。为什么?怎样才能避免使用?