SQL Anywhere是什么?
大家应该都对SQL Anywhere或者ASA这个名字并不陌生。ASA的含义是Adaptive Server Anywhere,在版本10里面都统一被称为了SQL Anywhere。
与其说SQL Anywhre是一个数据库,还不如说SQL Anywhere是一个数据管理和数据交换的一体化解决方案。因为SQL Anywhere中包含了三个重要的组件:SQL Anywhere Server(一个符合SQL标准的关系型数据库)、MobiLink(数据交换平台)和UltraLite(SQL Anywhere Server的部署选项——一个超级小的关系型数据库)。
有了SQL Anywhere中这三个组件的支持,我们就能够在前端(企业中心外的任何地方)上非常方便地管理信息、交换信息。
SQL Anywhere的定位
在Sybase总部的网站上,有上面这幅图,它清楚地标明了Sybase的各个数据管理利器的定位情况:
ASE(Adaptive Server Enterprise ) :我喜欢把它叫做“企业级适应性服务器”,它适应了企业异构的硬件和操作系统环境,适应了未来技术发展的方向(超大数据容量数据库VLDB、虚拟化技术Shared Disk Cluster 、结构化+非结构化+半结构化数据的优化处理),适应了企业中对7×24的任务关键型应用的不间断高性能的数据处理……,总之,ASE是一个OLTP的优秀数据库。
Sybase IQ :分析型数据仓库的解决方案。Sybase IQ是目前市场上唯一已经成熟的列式存储的数据库。其独特的列存储、压缩、索引和Multiplex技术让Sybase IQ在越来越强调能源节约的今天能以超低的能耗高效处理PB级别的数据 ;也在越来越重视实时分析(实时商务智能)的今天让客户找到满意的答案。
SQL Anywhere 处于另外两个领域:嵌入式及工作组级别的应用+移动应用领域。这两个领域均是SQL Anywhere的强势所在。
那什么叫做嵌入式及工作组级应用呢?一谈到嵌入式应用,大家可能会想到的是硬件的嵌入,例如在XX硬件上嵌入一个数据库系统。对,没错,这是一种嵌 入。我们通常所讲的嵌入还包括另一个种类:软件嵌入。目前软件市场上有很多打包软件,即开箱后直接安装在电脑上即可以使用的软件,例如用友的ERP、金山 的各种软件等。当这些软件需要对数据/信息进行管理时,就有可能会用到数据库。将SQL Anywhere嵌入在这些软件当中可以说是非常理想的选择。SQL Anywhere的零管理策略、按需启停、内存自动调节……等多种功能对保障打包软件的正常运行起到了非常大的作用;最关键的是,作为最终用户,可能根本 不知道你的打包软件正在使用一个数据管理软件!这就是嵌入式数据库。目前,SQL Anywhere在全球有1,500多家嵌入式合作伙伴,在它们的打包软件中,都有SQL Anywhere的支持!
前面我们说到,SQL Anywhere是一个符合SQL标准的关系型数据库管理系统,在版本10中,SQL Anywhere的研发同事已经将SQL Anywhere Server的数据管理水平推向了一个新的高度——高性能地支持数千并发用户的TB级别数据库!所以,SQL Anywhere是完全有能力支持好工作组级别的应用的。
我们通过下面两个图将SQL Anywhere与其他数据库做一个比较:
这幅图说明了SQL Anywhere 10在企业级数据管理方面跟别的数据库的功能比较。值得注意的是,SQL Anywhere 10提供了和其他企业级数据库同样多的企业级计算能力,例如:
对OLAP函数的支持
完整的SQL支持
参照完整性支持
行级锁支持
快照隔离级别
物化视图
表加密
列压缩
SQL/Java/C#等的存储过程与触发器
事件及排期
下面一幅图主要展现了SQL Anywhere支持的,然而别的企业级数据库并不支持的一些特性,包括:
并行数据库备份与恢复
数据库监控和高可用(故障切换)集群
支持XML
内置Web Service服务器
性能调优工具
支持64位操作系统
支持超过4个处理器的SMP
数据库文件跨平台拷贝
……
在对移动应用的支持上,目前SQL Anywhere最新的版本Panorama(即11),支持几乎所有的操作系统平台:Windows Mobile, Symbian, Palm, BlackBerry。在移动平台上可以部署UltraLite数据库(Windows Mobile也可以部署SQL Anywhere),并通过强大的信息交换或者叫数据同步中间件MobiLink与企业后端的应用交换数据。请注意,无论你使用的何种数据源,哪怕是 excel表格、文本文件,都能通过MobiLink与手持设备上的数据库进行同步!MobiLink还有创新的移动Web Service技术,帮助更顺畅地与后台系统的SOA集成。
对SQL Anywhere的开发非常简便,使用标准的接口都能完成(ODBC, JDBC, ADO.NET……),SQL Anywhere也针对Pocket Builder、Visual Studio等开发工具做了良好的集成工作,可以在Visual Studio中找到SQL Anywhere的面板,加速开发过程。
总结
前面说了很多,有几点是希望传递给大家的内容,总结如下:
SQL Anywhere的定位是在嵌入式/工作组级应用+移动应用
SQL Anywhere除了提供企业级的数据管理功能外,还提供了非常多主流企业级数据库不提供的功能。
SQL Anywere中包含了三个组件:SQL Anywhere Server(一个符合SQL标准的关系型数据库)、MobiLink(数据交换平台)和UltraLite(SQL Anywhere Server的部署选项——一个超级小的关系型数据库)。