推荐序:找到属于自己的那束光

在这个瞬息万变的时代,我们每个人都在不断地寻找自己的定位和价值。面对茫茫人海,如何在众多的人群中找到那个与自己心灵契合的人,找到属于自己的那束光?本文将为你提供一些建议,帮助你在这个纷繁复杂的世界中找到自己的方向。

首先,我们需要明确自己的价值观。一个人的价值观决定了他的行为和选择,也影响了他的人生观。我们应该深入思考自己的兴趣、激情和追求,了解自己的内心需求,从而找到真正适合自己的道路。同时,我们还需要关注社会的发展动态,了解各行各业的发展趋势,以便更好地规划自己的职业生涯。

其次,我们要学会倾听自己的内心。在这个信息爆炸的时代,我们很容易被外界的声音所干扰,忽略了自己内心的声音。我们应该学会在喧嚣中保持冷静,倾听自己内心的需求和愿望,从而做出更加明智的选择。此外,我们还要学会调整自己的心态,保持乐观和积极的心态,这样才能更好地应对生活中的挑战。

再者,我们要勇敢地去尝试和探索。人生就像一场冒险,我们要勇敢地去尝试新的事物,去拓展自己的视野和经验。只有不断地尝试和探索,我们才能找到真正适合自己的那条路。同时,我们还要学会从失败中汲取教训,不断地提升自己,最终实现自己的价值。

最后,我们要学会珍惜身边的人和事。在我们追寻梦想的过程中,往往会忽略了身边的亲情、友情和爱情。我们要学会珍惜这些美好的情感,与身边的人共同成长,共同进步。同时,我们还要关注社会的发展问题,关心弱势群体,为社会的和谐与进步贡献自己的力量。

总之,找到属于自己的那束光并不是一件容易的事,它需要我们不断地努力和探索。只有明确自己的价值观、倾听内心的声音、勇敢地去尝试和探索以及珍惜身边的人和事,我们才能在这个纷繁复杂的世界中找到属于我们的那片天空。让我们一起努力吧!

张甦老师的新书出版,邀请我来写几句话。下面谈谈我对数据库领域变革的一点观察和理解。

MongoDB 自 2009 年推出以来,转眼已经近十年,这十年间,正是数据库领域风起云涌的十年。在同样的时间进程中,阿里巴巴在 2008年提出去IOE 理念,推动了中国由互联网至传统行业的数据应用的深刻变革。我曾经在 2015 年的 DTCC 数据库大会上提出,我们今天已经进入了“后IOE 时代”,这个时代的典型特征就是“百花齐放”,数据库新产品的不断涌现,为我们带来了新的可能,不同场景可以有多种不同的产品和解决方案,用户因此获得了“自由”。

而 MongoDB 的出现,因其面向文档,具有 Schema Free 等灵活优势,让用户在管理文档、日志,以及基于社交、物流等场景有了一个更好的选择,于是其市场经历了快速的增长,并扛起了NoSQL 的大旗,也因此在 DB-Engines 的数据库流行度排行榜中,MongoDB 荣膺2013和2014 的年度数据库。2017 年10 月,MongoDB 在纳斯达克上市,成为今天市值30 亿美元的数据库公司,这不得不说是近代数据库历史上的一个巨大成功。

而相应地,另外一个更受欢迎的开源数据库MySQL,几经辗转成为Oracle 的囊中之物,原因何在?最近在做一个MongDB 的迁移,将数据库的存储引擎从 MMAPv1 更换为WiredTiger。同时回顾了一下历史, 2014 年 MongoDB 收购了 WiredTiger 公司,WiredTiger 为其开发了一个专用版本的存储引擎,今天成为MongoD 的默认存储引擎,我们不得不钦佩MongoDB 的英明之处。对比一下MySQL 的发展历程,当MySQL 的最佳存储引擎 InnoDB 被 Oracle 釜底抽薪收购(2006 年)之后,MySQL 最后被 SUN 收购(2008 年),辗转落入 Oracle 之手(2009 年),而自2009 年 MySQL 5.5 开始, InnoDB 就成为 MySQL 默认存储引擎。

决定一个产品成败的是技术,而决定一家公司成败的,往往是视野。张甦老师的学习和成长,兼具技术和视野,他不断学习研究和砥砺,使自己获得了深厚的技术体验,而选择MySQL 和MongoDB 入行,更可见他对于开源的信心。他此前出版的《MySQL王者晋级之路》,深受读者欢迎,而MongoDB 更是指引他向前的“一束光”。现在这束光放射开来,希望能够让更多读者见证MongoDB 的光彩和未来。我也祝福走在技术道路上的每一位朋友,能早日找到指引自己的那束光!

盖国强,云和恩墨的创始人,同时也是Oracle ACE总监。他在这个领域拥有丰富的经验和专业知识,为许多公司提供了专业的服务。他的工作成果得到了业界的高度认可,使他在业界享有很高的声誉。

盖国强不仅在技术上有着深厚的造诣,而且在管理和领导方面也有着出色的表现。他以务实的工作态度和高效的工作效率赢得了同事和下属的尊重。他的领导风格鼓励创新和团队合作,使得云和恩墨能够在激烈的市场竞争中保持领先地位。

盖国强的个人成就和贡献得到了业界的广泛认可,他曾多次被提名为Oracle的最佳合作伙伴和最佳项目经理。他的专业能力和领导才能使云和恩墨成为业界的领导者。

总的来说,盖国强是一个在技术、管理和领导等多个领域都有着卓越表现的人才。他的贡献对于推动中国数据库技术的发展起到了重要的作用。

近年来,随着互联网的飞速发展,除了Oracle之外,各种开源数据库如雨后春笋般涌现,使得数据库领域呈现出百花齐放、百家争鸣的繁荣景象。其中,MongoDB作为一朵引人注目的开源之花,在DB-Engines公布的2018年2月数据库排名中,涨幅最大,上涨了5.47个百分点,位列榜单第5名。

MongoDB是一款适用于各种规模企业、各行业及各类应用程序的开源数据库。它能够提升企业数据库的敏捷性和可扩展性,使各类企业都能通过使用MongoDB来打造新的应用。作为NoSQL数据库技术的知名公司,MongoDB采用分布式基础架构,深受移动应用和Web应用开发者的喜爱。此外,MongoDB还是一款基于文件的数据库,数据以兼容多种数据格式的文件形式存储。MongoDB在全球范围内的应用下载次数已突破1000万次。

简而言之,使用MongoDB可以提高与客户的工作效率,缩短产品上线时间,降低企业成本。MongoDB作为一个基于分布式文件存储的数据库,为用户提供可扩展的高性能数据存储解决方案。其特性包括高性能、易部署、易使用、储存方便等。首先,它支持的数据结构非常松散,采用类似JSON的BSON文档格式,可以存储较为复杂的数据类型,且该格式文档易读、高效。其次,MongoDB支持强大的查询语言,语法类似于面向对象的查询语言,几乎能实现类似关系数据库单表查询的绝大部分功能,包括传统数据库的功能如二级索引、完整的查询系统等,同时还支持对数据建立索引。此外,MongoDB的数据可实现复制和故障恢复,具有云端伸缩性,支持水平数据库集群扩展。

本书作者张甦先生在开源数据库领域有着丰富的经验和深厚的技术功底,对MongoDB、MySQL等数据库有深入研究,并在各大开源数据库技术论坛、网站上享有盛誉。值得一提的是,张甦先生不仅具备丰富的数据库培训经验,擅长深入浅出地讲解技术问题,还能用简单明了的语言阐述复杂疑难的技术故障。在数据库领域从业多年,笔者见过许多技术高手,但很多人仅限于自己擅长而不擅长将技术分享给他人,他们的价值往往有限且局限于自身。而像张甦先生这样既能做技术、又能讲技术、还能写的人才能让技术的价值无限放大,惠及更多人。

《MongoDB运维实战》这本书是两位作者多年工作和研究经验的结晶,语言简洁明了,实战案例丰富。书中针对工作中常见的各种故障提供了作者的分析和解决方案,具有极高的实用价值。无论是刚刚接触MongoDB的学习者,还是具有一定工作经验的数据库管理员(DBA),都可以从中受益匪浅。张甦先生作为一位专业的DBA和勤奋的写作者,他的上一本书《MySQL 王者晋级之路》才出版不久,笔者又收到了《MongoDB运维实战》这本书的手稿。在繁忙的工作之余,张甦先生仍能保持如此勤奋和毅力,实在令人敬佩!希望张甦先生能够继续创作更多优秀的技术书籍,帮助更多即将走上DBA之路的朋友们。

侯圣文,Oracle ACE 总监、教育专家,恩墨学院院长,致力于分享多年运维数据库的经验。随着大数据时代的到来及技术的不断发展,以及互联网Web 2.0的兴起,传统的关系型数据库在应付超大规模和高并发的SNS类型的Web 2.0纯动态网站时已经显得力不从心了,暴露了很多难以解决的问题。而非关系型数据库则由于其本身的特点得到了非常迅速的发展。NoSQL领域首屈一指的就是“芒果”数据库,即大名鼎鼎的MongoDB。

我是从第一个GA版本开始接触MongoDB的,它在我最孤独、最寂寞的时候,陪伴着我一路成长。倘若我一直在黑暗中行走,那么MongoDB就是那一束光,指引着我未来前进的方向。写此书的目的是为了让大家可以系统地进行学习,少走一些作者在工作中走过的弯路。我的一些学生和朋友经常和我抱怨:“我们公司有一个项目准备用MongoDB,但还得从头学习,网上针对MongoDB的资料也不多,关键还不知道从何学起,MongoDB实战的书籍也偏少”。这类问题不止一个人和我说过。正因为有了这样的需求,我们才有了想投入全部精力、认真地去写一本有关MongoDB实战方面图书的冲动。希望《MongoDB运维实战》能够真正地帮助大家解决在学习MongoDB数据库过程中的诸多疑惑,敲开大数据运维的门。

如何阅读本书?本书共分为4章。第1、2章主要介绍MongoDB 3.4和MongoDB 3.6这两个版本的新特性,以复制集架构和分片架构作为整体切入点。MongoDB版本更新到3.X之后发生了巨变,进入了一个新的时代。在引入wiredtiger存储引擎之后,实现了文档级别的锁,提高了并发性。该引擎支持压缩,节约了存储成本,具有更简单高效的高可用架构,维护起来更加轻松。这让我们对MongoDB 4.X时代更加期待。

第3章是本书中一道亮丽的风景线,是MongoDB的实战案例分析部分。详细介绍oplog大小引发的从库宕机、副本集延迟突然增大到上万秒、最大连接数限制等问题的处理过程和思路。

第4章是MongoDB的性能调优部分。从索引角度出发,通过各类索引的使用,包括配合执行计划的查看来梳理性能问题。

第5章介绍了MongoDB备份和恢复,包括逻辑备份和物理备份两种方式。其中,我们会演练oplog replay的过程。

第6章是关于高可用架构集群管理的内容,主要包括复制集和分片架构。本章将介绍副本集、分片架构原理、成员类型、实战安装部署过程等,以及多种实现方式和管理维护架构中遇到的诸多问题。最后,我们还会介绍升级MongoDB架构版本的注意事项。

第7章介绍了MongoDB的监控。主要介绍PMM,它是一款能够监控MySQL、MongoDB性能的开源平台。本章将讲解server组件和client组件及其安装过程。

第8章列举了一些在MongoDB运维过程中常用的命令,帮助刚接触NoSQL领域的读者快速上手生产环境中MongoDB运维工作,为自己的公司和老板排忧解难。