【IT168 评论】最近我在工作上有些调整,从以前负责专注海量数据存储分析的列式数据库Sybase IQ转移到移动及嵌入式数据库SQL Anywhere,负责SQL Anywhere全球的市场战略,所以想借这个机会写一写移动及嵌入式数据库是一个什么样的技术,对当今的企业应用有何种意义。
大数据时代,大家都在谈大数据之大、之深,围绕着大数据管理、海量数据存储、分析等解决方案层出不穷,列式数据库、海量内存分析、NoSQL,各种数据库技术似乎都是围绕着“大”这个词的。但是今天我想聊一聊大数据里的“小”:
大数据时代的一个重要的推波助澜者就是移动设备,移动应用,它们是大数据之大的重要原因。先说说移动设备,拿起你们手里的iPhone5,Galaxy们吧,它们都已经进入了64GB内存,4核CPU,有专门的GPU;326ppi的高清显示屏,触摸屏,多点触控;重力感应器、GPS全球定位;800万像素的摄像头,全景拍照,高清录像;支持GPRS、3G、WiFi、蓝牙;这些功能比10年前,甚至5年前的很多电脑配置都要高了。这些移动设备的正确定位应当就是电脑。而这样一台电脑却只有巴掌大小,很难想象那么多大数据都是从这些小设备中产生出来的。
再谈移动应用,智能手机上无论是Android还是iOS都有多达几十万个应用,生活中想做的事情几乎都有应用帮助你了,不光是聊天、游戏、社交媒体等个人应用,也有大量的与工作相关的应用,从最简单、最实用的电邮,会议安排,To-do List事件提醒以外,还有大量真正的企业级应用,例如Keynote帮你做好演示,利用一个Lightning到VGA的接口,一个小小的iPhone就几乎和一个强大的笔记本无异了;另外,移动办公,报销,报价单,CRM软件等等一应俱全。
另外在一些移动化应用比较突出的行业,还有很多更灵活的基于智能手机或者智能平板等移动终端的移动应用在发挥着作用,在更深层次地改变我们的企业,从而改变着我们的生活,例如:在物流行业,很多物流人员随身携带一些移动设备,用以和调度部门及时通信,例如在送货的同时,有附近的用户有急件需要临时就近修改线路;或者在交通拥堵的情况改变送货的顺序与路径等,这一切都可以通过一些专业的物流应用来实现;还有,一些户外办公的行业,如石油勘探、铁路监测等等,都需要专门的设备以及专门的应用。
但是有一点特别需要思考的是,这些移动应用底层的数据库需要什么特点:
1, 智能手机、智能平板等移动设备虽然像我们刚才说过的,功能相当强大了,但是距离运行企业级数据库还是有明显的差别的,在一个8-32G内存的设备上跑企业级应用,其数据库的运行空间随后应该控制在1G一下,这给很多数据库厂商带来了严峻的挑战。
美国的一家非常有名的软件公司Intuit,生产个人用报税软件TurboTax,以及中小企业使用的财务软件Quicken,Quickbook等等,以前在这些软件中管理数据的方法都是通过自己管理文件,本意是中小企业的数据量不大,不需要专门买数据库,而且个人电脑资源并不足以支撑大型数据库软件,但是当他们使用了SQL Anywhere之后,发现由于开发的便利性,管理的安全性,资源使用的效率都大幅提高,整体软件的开发成本反而下降了。
2, 移动设备的工作环境往往是在野外,在移动中,很难保证有良好的网络环境,甚至没有网络环境,在这样的环境中开发应用,势必要很好地解决“偶连接”环境下的用户体验问题,既不能在网络时有时无的情况下中断服务,最好的解决方案是能够利用本地的小型数据库,继续提供应用级服务;又应该尽可能在网络服务恢复的时候及时把本地数据库中的数据同步到数据中心,以保证企业级数据完整性。
美国政府在2010年做了一次人口普查,这是历史上最大的一次移动部署项目,全美有近14万普查员带着一个特制的手持设备在全美各地敲门问询,鉴于人口普查的特性,很多时候在偏僻的地区,网络信号不好甚至没有,这个场景下,就需要一个稳定、安全的移动本地小型数据库了。
3, 移动应用通常小巧精干,功能简洁,反而对数据库提出了特殊要求,在户外应用环境下,很难要求最终用户有任何IT知识,甚至有任何能力取得IT支持,数据库这一底层软件必须健壮而安全,不需要专门的DBA参与维护及调试。
4, 麻雀虽小,五脏俱全,特别在移动环境下,对数据安全的要求极高,不仅在数据存储层面需要有数据库加密、表加密、列加密,在数据同步、数据通讯角度提供安全认证机制,以及通讯加密
综合上面所提的几点移动应用环境下对数据库的要求,SAP Sybase SQL Anywhere特别设计了很多适应移动应用环境的特殊功能,例如,可以在几兆内存中运行,可以适配几乎所有的操作系统,包括Linux,Windows,Mac OSX,其移动版的UltraLite可以支持几乎所有的移动操作系统,如Windows CE, iOS,Android等,可以和各种主流关系型数据库做高效的数据同步,不需要专门的DBA维护,而保持高性能,这一切都给现在大批在移动应用领域想发挥创意的朋友们提供了一个极好的数据库平台,希望有更多的朋友们参与到移动应用的热潮中。