数据库作为最关键的基础设施,渗透技术领域的方方面面。随着互联网时代的信息高速膨胀,传统关系型数据库因其高门槛、高成本以及扩展性差等原因导致的局限性逐渐浮出水面,如今更是面临诸多问题和挑战,在这一大环境下,NoSQL的进一步发展已成必由之势。面对现状,有的企业选择在关系型数据库领域寻求突破,大胆尝试以创造机遇。也有用户选择了数据库迁移这一策略,然这一过程也将面临颇多难题。

MongoDB大中华区首席架构师,MongDB中文社区mongoing.com发起人。

CSDN:请先和大家介绍下自己和您目前所从事的工作,以及关注哪些技术领域?

唐建法:我目前在MongoDB官方担任的是负责MongoDB相关解决方案架构师。关注的领域是新一代数据处理的相关技术以及更多的是如何与现代软件架构相结合提供完整的IT解决方案。

CSDN:是什么样的契机让您接触到MongoDB,并最终选择它作为自己的研究方向?MongoDB吸引您的特性有哪些?

唐建法:我是一个多年的开源软件受惠者和贡献者。第一次接触纯属偶然,那是在2011年,彼时我还在旧金山和几个朋友创业。有一天无意中走进了MongoDB主办的一个技术大会,抱着试一试的心态,我把代码迁移到Mongo上来解决困扰我们许久的MySQL性能问题。性能问题确实解决了,但是真正打动我的却是使用JSON格式来管理数据这一焕然一新的概念和非常直观的持久化API。数据还可以这么玩!

CSDN:能否以MongoDB为例,对比分析NoSQL与关系型数据库,简要谈一谈其各有什么优缺点及适用场景?

唐建法:这里有一张图可以帮助大家从3万尺高空来理解两者的大致区别。

图左侧是关系型数据库的一些共性。Oracle、SQLServer、MySQL诸如此类的关系型数据库的优势就是他们使用的SQL查询语句功能非常强大,表达力很丰富。无论多复杂的问题,基本上都能够用一个或几个SQL语句完成。关系型数据库的ACID事务性,虽然各个数据库支持力度不同,但是总体来说都有不错的能力和应用程序服务器配合为程序员提供较好的事务模型,保证数据库内数据及规则的一致性。而以MongoDB领头的NoSQL数据库阵营中,则以动态数据模式和横向扩展能力为主打利器,是针对于现代的数据问题提出的解决方案。动态或者可变模式是处理新一代多变多态数据的最重要能力,否则技术团队将沦陷于无休止的关系型模式设计、迭代、数据迁移的繁琐工作中。横向扩展能力则是百度云、京东、360等大型互联网公司从MySQL集群迁移到MongoDB的主要诱因:MongoDB的分片技术,借助于数据相对独立,容易分布的JSON文档模型,在处理海量数据能力上具有更可靠的的水平扩展能力和易管理性。

从技术应用场景来说,我认为MongoDB特别适合数据量较大(亿级以上)、数据结构复杂多变,以及绝大部分的现代Mobile和Web应用。对使用Microservices架构的同学,更可以大胆考虑MongoD,B因为在微服务架构下对强事务的需求相对会少很多。

CSDN:请您结合MongoDB常见的企业应用设计模式或使用场景,简要介绍一下实际案例下DaaS这一应用模式。

唐建法: MongoDB常见的企业级应用模式有几种,如DaaS、Single View、ODS、Mainframe Offloading等。其实这几种都是CQRS设计模式中的某种体现。在这里,DaaS(Data as a Service) 就像SaaS模式一样,把数据作为一种功能来提供给客户端,也即应用程序。这些数据通过API的方式让应用程序可以完成所有数据的需求,无论是简单CRUD(通过REST)还是传统的报表分析(SQL或Big Data API),抑或是基于事件的Messaging。如下图所示:

这里最关键的中间层:persistence。我们这里需要一个有巨大横向扩展能力,同时又有毫秒级响应能力的联机交易数据库,才可以把我们的数据即服务架构搭起来。苏格兰皇家银行RBS早就开始DaaS的研究,但是最近才找到合适的存储平台——MongoDB来进行他们的IT革新。他们打算把一万多SQLserver,数千台Coherence,数百个Oracle的复杂数据平台逐渐过渡到以数据即服务的一个平台,利用新一代数据库的海量处理能力和模式的灵活性,进行大规模的整合去重。目前已经迁移了十多个应用、数十个关系型数据库到新的平台。

CSDN:数据库安全一直是备受用户以及开发者关注的话题,在MongoDB安全性问题方面您有什么相应的措施建议吗?

唐建法:前一段的赎金事件把MongoDB推到风口浪尖。最主要的原因当然是用户没有一丁一点的安全意识,把生产数据库放在公有云上不设密码,不开防火墙进行裸奔。官方明确建议上线前:

  • 开启鉴权,开启鉴权,开启鉴权!

  • 开启防火墙!

  • 使用白名单

  • 使用专用的账号来连接数据库

  • 只给用户最小可用的权限

  • 有必要的话启用TLS/SSL

MongoDB会在后续版本中进一步加强安全体系,默认就会开启鉴权,最大程度上防止由用户错误造成的损失。

CSDN:能否请您结合多年实践经验,谈谈对MongoDB,乃至整个数据库市场未来发展趋势以及潜在挑战的看法?

唐建法:数据库市场是软件行业中最大的市场,因为没有哪一个应用场景可以离得开它。Oracle(数据库)的发展早就已经停滞并在萎缩。全球各大企业的CIO都在企业数字化的过程中积极探索新一代的数据解决方案。NoSQL数据库由于其对非结构化、半结构化数据的支持,以及高并发、海量数据的横向扩展能力支持,已经被行业所认可并成为现代数据库布局不可缺少的一个部分。很多大型企业,类似于巴克莱、花旗、汇丰,甚至于全球最大最出名的手机公司都在建立基于MongoDB的新一代数据库标准,用于补足传统数据库标准的不足。

CSDN:在您看来,优秀的技术人应该具备哪些素质,您有什么经验想要和大家分享?

唐建法:(大致总结下列三条)

  • 好奇心:对新事物不要自动就排斥,有好奇心才会去学习;

  • 多分享:分享一个内容前,你自然会对它进行彻底的研究,使你在这个题目上有话语权;

  • 多浏览:多读英文文章,多看StackOverFlow等国外技术论坛。

CSDN:在本次SDCC 2016·北京站上,您将分享什么样的话题,同时期待看到哪些内容?

唐建法:我分享的题目是关系型到MongoDB的数据迁移。这些年来我和MongoDB用户交流的时候遇见最多的问题之一就是如何把数据从关系型数据库里迁移到MongoDB里来。常见的迁移工具如Informatica、GoldenGate等并不能对MongoDB很好支持。在这个讲座里我会给大家介绍迁移需要知道的一些步骤,文档模型设计的一些规则,以及给大家演示一个实时的关系型到MongoDB的同步兼模型转换工具。

关系型数据库到MongoDB的战略迁移 - MongoDB大中华区首席架构师唐建法专访相关推荐

  1. MongoDB大中华区首席架构师唐建法:关系型数据库到MongoDB的战略迁移

    MongoDB大中华区首席架构师唐建法:关系型数据库到MongoDB的战略迁移 [编者按]数据库作为最关键的基础设施,渗透技术领域的方方面面.随着互联网时代的信息高速膨胀,传统关系型数据库因其高门槛. ...

  2. 专访MongoDB官方大中华区首席架构师唐建法:MongoDB将会领导数据处理新趋势 —— 一个操作型的数据平台...

    杭州·云栖大会将于2016年10月13-16日在云栖小镇举办,在这场标签为互联网.创新.创业的云计算盛宴上,众多行业精英都将在这几天里分享超过450个演讲主题. 为了帮助大家进一步了解这场全球前言技术 ...

  3. 知言 MongoDB首席架构师唐建法:20core处理27万混合读写操作实现

    MongoDB可以应用于各种规模的企业.各个行业以及各类应用程序的开源数据库.作为一个适用于敏捷开发的数据库,MongoDB的数据模式可以随着应用程序的发展而灵活地更新.与此同时,它也为开发人员 提供 ...

  4. NOSQL MongoDB首席架构师唐建法:20core处理27万混合读写操作实现,并分享企业实现案例...

    MongoDB可以应用于各种规模的企业.各个行业以及各类应用程序的开源数据库.作为一个适用于敏捷开发的数据库,MongoDB的数据模式可以随着应用程序的发展而灵活地更新.与此同时,它也为开发人员 提供 ...

  5. 【大咖有约】MongoDB 大中华区首席技术顾问唐建法:如何在MongoDB中实现强事务...

    MongoDB 大中华区首席技术顾问唐建法先生将作为DTCC 2016中国数据库技术大会特邀嘉宾出席.并将于5月12日大会分会场2分享题为<如何在MongoDB中实现强事务>的演讲,敬请期 ...

  6. 【SDCC讲师专访】专访MongoDB唐建法:从关系型数据库到MongoDB的战略迁移

    [编者按]数据库作为最关键的基础设施,渗透技术领域的方方面面.随着互联网时代的信息高速膨胀,传统关系型数据库因其高门槛.高成本以及扩展性差等原因导致的局限性逐渐浮出水面,如今更是面临诸多问题和挑战,在 ...

  7. 华为云GaussDB首席架构师冯柯:摘取皇冠上的明珠,华为云数据库的创新与探索

    摘要:做数据库很难,但好在有一群技术人始终坚守着,见证着国产数据库的崛起. 本文分享自华为云社区<华为云GaussDB首席架构师冯柯:摘取皇冠上的明珠,华为云数据库的创新与探索>,作者:华 ...

  8. 对话Couchbase首席架构师:Couchbase是目前最好的NoSQL数据库平台

    2017年对于NoSQL来说是很有趣的一年,大数据市场充满着机遇同时也充满着变数.所以年末岁初,我们邀请了Couchbase的首席架构师Perry Krug来一起谈谈未来NoSQL的发展.市场动态以及 ...

  9. 「首席架构师推荐」2019年最佳云数据库

    有了这些出色的云提供商,您的数据库可以在未来得到保障. 数据库已经成为IT服务的重要组成部分,是存储和检索数据的重要场所.但是,可以通过不同的方式记录数据,这取决于您希望使用的不同信息是如何相互引用的 ...

最新文章

  1. java代码中fastjson生成字符串和解析字符串的方法和javascript文件中字符串和json数组之间的转换方法...
  2. win7电脑蓝牙 耳机
  3. python学习_19
  4. html提交表单原理,HTML表单、HTTP Get与Post杂谈
  5. mysql的存储引擎种类,mysql 存储引擎,基本数据类型
  6. 垃圾回收器机制(三):正确姿势解读GC日志
  7. openresty获取nginx请求url中的所有参数
  8. Entity Framework 与 LINQ to SQL
  9. js 操作vuex数据_Vue.js中使用Vuex实现组件数据共享案例
  10. XAML或JavaFx?
  11. 【转】国密算法sm4 CBC模式加解密
  12. wordpress仿uehtml设计作品分享主题模板
  13. ambari mysql 密码_Ambari 切换 mysql 数据库
  14. TortoiseSVN and TortoiseGit 版本控制图标不见了
  15. [转载] python中的numpy模块和pandas模块的区别_numpy 模块和 pandas 模块
  16. paip.java OutOfMemoryError 解决方法o33
  17. 百度文库免积分免费下载工具的原理与实现
  18. cnplaza照片打印管理 【即影即有软件】
  19. tableau两个不同的图合并_tableau两个不同的图合并_Tableau数据源详解
  20. 公摊面积用计算机怎么计算,公摊面积计算(公摊面积计算器)

热门文章

  1. 极力推荐一个简单好用的C++JSON库
  2. SpringMVC框架的高级配置
  3. 【Lighthouse教程】Theia IDE
  4. element 表格多级表头子列固定
  5. 全国青少年软件编程(Scratch)等级考试一级真题——2021.9
  6. 2021春节计划复盘
  7. vue3+echarts5 中国地图+散点地图
  8. 在MM32F5微控制器上使用外扩SRAM作为主内存
  9. dlf packet_DLF的完整形式是什么?
  10. 支付宝商户支付接口接入流程