10

速递!MongoDB最新书籍出版啦:MongoDB进阶与实战-微服务整合、性能优化、架构管理

 3 years ago
source link: https://mongoing.com/archives/78448
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

近期,MongoDB中文社区核心成员之一唐卓章老师出了一本MongoDB最新书籍——《MongoDB进阶与实战:微服务整合、性能优化、架构管理》,全面涵盖了MongoDB的基本原理和使用方法、深度的性能分析和应用调优等最佳实践方案,以及基于MongoDB搭建微服务项目的完整上手指导。

本书汇聚了作者在MongoDB微服务开发、性能调优、合理架构部署等方面的丰富经验。书中描述了理想的使用案例,除了给出贴合实际应用的技巧,还涵盖了其中的技术原理,可帮助开发者在MongoDB应用开发方面快速上一个台阶。

想要一睹为快的朋友可以在常用电商平台上购买到相关书籍,您也可以关注社区微信公众号,按照相关活动免费获得此书。当然了,今年技术大会现场,我们也会给大家带去这本最新书籍,如果你是那个幸运儿,就可以把书抱回家!

为什么是MongoDB

MongoDB是当今业界使用最广泛的文档数据库之一,其从2009年诞生以来,已经吸引了无数开发者的目光。曾经MongoDB被冠以“四不像”的称号,被大家称为“非关系型数据库中最像关系型数据库的软件”。即便如此,MongoDB在其发展历程中仍表现出强大的生命力。尤其在近几年,随着云计算、大数据的飞速发展,企业项目对分布式数据库的需求越来越多,MongoDB作为一款灵活易用、高可用、高可扩展的分布式数据库,在许多互联网产品及企业项目中大施拳脚。

笔者从2016年开始真正接触MongoDB数据库,而在此之前曾有过很长一段时间的关系型数据库使用经验。从自身的感受来说,采用传统的关系型数据库可能是一种“万金油”的方案,选择MongoDB则很大程度取决于团队对NoSQL的接受程度,或是来自敏捷开发、高效扩展方面的权衡。

MongoDB的名字来自英文单词“Humongous”,中文含义是“庞大”“巨大”,命名者的意图是可以处理大规模的数据。但笔者所在的团队更喜欢称呼它为“芒果”数据库,除了译音更加相近,还有这几年使用MongoDB的两层感受。

  • 第一层感受是“爽”。相比关系型数据库,MongoDB几乎没有太多的约束。一方面,MongoDB的文档模型是基于JSON的,开发者更容易理解。另一方面,动态化模式的特性让数据库的管理工作变得更加简单,例如一些线上的变更可以更快速地完成。
  • 第二层感受是“酸爽”。这一点对于MongoDB数据管理员来说可能更有感触一些。MongoDB由于入门体验“太过于友好”,导致初学者很容易产生一种误解,即MongoDB不需要在管理方面投入太多的精力,最终导致系统上线后不断被发现一些技术债务。更戏谑的说法是,“交付一时爽,维护火葬场”。当然,这么说可能并不恰当,但笔者想表达的观点是,与传统的关系型数据库一样,MongoDB在使用上仍然需要认真地考量和看护,只有如此才可能最大限度地发挥出MongoDB的优势。

本书写作思路

本书的书名为《MongoDB进阶与实战:微服务整合、性能优化、架构管理》,意味着书中除了介绍MongoDB技术,还会介绍与微服务相关的技术范例。在当今的背景下,风靡业界的微服务架构已成为分布式系统的事实标准。因此,我们在谈MongoDB应用开发时,必然免不了和微服务技术栈产生一些联系。以开发者的角度来看,在成为一名MongoDB高手之前,掌握全栈式的知识技能仍然是必需的,这些技能可概括为以下3个方面。

  • MongoDB数据库技术的掌握:包括基本的文档模型概念和数据操作,以及集群高可用、数据分片方面的知识。
  • MongoDB整合微服务的技能:需要对微服务周边的技术框架有一定的掌握。本书以当前最流行的 Java 微服务技术栈为背景,介绍了从MongoDB Java Driver、Spring Data Mongo(ODM层)到上层应用整合的各种实战范例。
  • MongoDB高阶技巧的掌握:包括MongoDB系统性能调优及MongoDB 架构高可用、安全性、高效运维管理方面的一些知识和经验。

由此可见,初学者在从MongoDB入门到进阶的过程中,需要学习及掌握的知识并不算少。尤其是高阶技巧方面,这部分是最难也是最花费时间成本的。而笔者一贯认同的是,好记性不如烂笔头,在学习MongoDB的历程中,笔者将MongoDB在项目中的实战经验进行了总结,并多次以文章的形式发表。在和一些读者交流之后,笔者发现大家实际上都遇到了不少应用层面的开发问题。

尽管MongoDB的官方文档已经做得非常详细(大多数基本的数据库问题都可以从官方文档中找到答案),然而其在周边技术栈的整合、系统管理及调优方面仍缺乏一些富有针对性的内容。因此笔者认为在结合一些实践案例的前提下,再以开发管理者的角度对MongoDB技术进行系统地梳理,则可能会产生事半功倍的效果,遂迸发了编写本书的想法。

本书内容概要

第1部分:MongoDB入门(第1~6章)

该部分介绍MongoDB的基本概念及入门知识。

通过该部分的学习,读者可对MongoDB自身的技术全貌形成一定的认识。

第2部分:MongoDB微服务开发(第7~10章)

该部分介绍微服务的基本概念及微服务架构中应用MongoDB的相关技术实现。

通过该部分的学习,读者将能深入了解基于Java 微服务技术栈开发 MongoDB 应用的实践方法。

第3部分:MongoDB高级进阶(第11~15章)

该部分介绍MongoDB更加高级的一些使用技巧。

通过该部分的学习,读者可掌握MongoDB在性能调优方面的一些最佳实践及指导方案。

第4部分:MongoDB架构管理(第16~18章)

该部分介绍MongoDB在架构管理方面的一些经验。

通过该部分的学习,读者可获得MongoDB在架构可靠性、安全方面的指导及如何在项目中进行数据库问题防治的一些思路。

本书的重点是讨论MongoDB开发进阶方面的内容,但书中会介绍MongoDB整合Java微服务所必备的一些关键技能(如Java驱动、Spring框架整合等)。微服务本身是一个非常大的课题,由于篇幅和笔者水平有限,这里对容器化、分布式框架方面的细节不会做过多介绍,而实际上这也超出了本书的范围。如果读者感兴趣,建议参阅其他书籍。

决定写一本书,不仅是分享知识,还是践行长期主义的一次历程。不得不说,这个过程的确是痛并快乐着。由于平日里工作非常繁忙,笔者无数次不得不坚持在深夜里赶稿子,由此也牺牲了很多陪伴家人和孩子的宝贵时间。在此特别感谢我的家人,如果没有你们的大力支持,本书不会如此顺利地完成。另外还要感谢笔者的项目团队,让笔者有机会在工作过程中学习到大量的MongoDB的知识。

本书提供了大量的案例说明,旨在分享MongoDB在应用开发、系统调优及管理中的一些实战经验。由于笔者个人能力有限,书中难免存在错漏之处,恳请读者提出问题并帮忙指正,再次感谢!

关注我们即将推出的技术大会,即有机会免费获得


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK