下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922
论坛 >移动开发 >移动开发的选择 关系型 or NoSQL?

移动开发的选择 关系型 or NoSQL?

一个高大上的名字发布于 2015-06-19 12:43查看:1325回复:7
如今,移动应用开发领域是NoSQL数据库新的重要增长点之一。最近几年,随着智能移动设备的不断普及,移动应用(Apps)正在成为人们生活越来越不可或缺的一个重要组成部分,因此移动应用的开发也实现了爆发式的增长,越来越多的开发者正在投入到移动应用的开发当中。也正因为移动应用的普及,用户对于这些应用的要求也在不断的提高,为了让开发者能更加快速的响应用户需求、开发移动应用,移动应用的开发也需要变得更高效更简洁才能适应这些需求。而使用NoSQL数据库,是让开发变得高效的重要一环。


关系型数据库的痛点

1434688962491447.jpg

关系型数据模型对于移动应用的动态需求的支持并不理想。其中一个重要原因就是SQL数据库使用固定的数据模型和操作模式,这就对移动开发带来许多问题。因为移动应用的需求和功能经常根据市场和用户进行调整,这就要求开发者能很快的响应这些需求,并且在应用上实际的实现。当使用关系型数据库时,因为需要为新功能重新设计数据模型、操作模式,
开发人员响应需求的时间将会大大增加。

举个例子,如果开发者正在开发一款移动端的游戏,其中不同的角色带有不同的技能和特点,如果使用关系型的数据库模型,当角色和技能需要修改时,就需要修改系统的操作模式来添加这些改动,根据改动的量,很可能需要大量的时间。这就大大影响了应用的时效性。

关系型数据库的另一个问题,就是它并不能很好的分布式。由于关系型数据库“表”为核心的存储方式,很难实现高效的分布式存储。因此,面对移动应用的容量扩张需求,关系型数据库很难做到动态的调整。这样,只能在项目开始阶段就预留高性能的后端存储和足够的空间,或者是在需要调整的时候不断的进行数据的迁移。这两者显然对于移动应用都是不适合的。

NoSQL帮助你解决问题
NoSQL数据库设计之初就是为了处理动态的需求设计的,这也契合了移动应用的需求。 NoSQL数据库不使用固定的数据库模式,所以在之前所述的需求变更的例子中,添加新角色、新技能也就不需要对数据库进行大刀阔斧的修改,开发者只需要向内添加而不需要重构已有的架构。

此外,对于刚刚提到的分布式存储。NoSQL数据库基本都采用了分布式的存储,可以实现水平的容量扩展。动态的水平容量扩展,不仅系统无需停机就可以实时动态的扩展后台数据库的容量,保证了系统的持续运行,动态的容量调整更能配合应用的需求,在用户增加的时候增大存储。此外,NoSQL数据库的分布式存储对硬件没有特别的要求,简单的服务器或者pc机都可以作为后台硬件使用,大大降低了成本。

NoSQL大都已经开源,都建立了社区。开源的产品除了使用花费低以外,更重要的是社区的支持。除了原厂的工具外,开源数据库都提供了相当丰富的开发工具,同时社区也提供了强大的技术支持,帮助移动应用更好地发展。

NoSQL更适合移动应用开发
相比于传统关系型数据库,NoSQL数据库在开发使用上更符合新时代的移动应用的需要。如今NoSQL数据库在移动开发中的实际应用也已经很广泛。也希望更多的移动开发者能够拥抱NoSQL数据库,为自己的产品带来更大的帮助。


收藏(0)0
查看评分情况

全部评分

此主贴暂时没有点赞评分

总计:0

回复分享

共有7条评论

  • 慧星的那一夜
  • MK
  • 药师
  • IT宅男
  • mr jack
  • YUI
  • Mr ken
  • cappuccino
  • 课课家技术团队1
  • 选择版块:

  • 标题:

  • 内容

  • 验证码:

  • 标题:

  • 内容

  • 选择版块:

移动帖子x

移动到: