当前位置:首页 > 问答 > 正文

西软到底是用的啥数据库,听说好像挺特别但又不太确定

关于西软(杭州西软科技有限公司)的酒店管理系统(简称西软XS)到底使用什么数据库,这个问题确实有点意思,因为它不像很多现代软件那样直接基于市面上常见的几种主流数据库,很多人听说它“特别”,这个感觉是对的,它的核心确实有其独特性。

简单直接地说,西软的核心产品,尤其是其早期和当前许多酒店仍在使用的版本,是基于一种名为“UNISYS DMSII”的数据库。 这个数据库是决定西软系统“特别”与否的关键。

要理解它为什么特别,我们得从头说起,西软公司成立很早,大概在上世纪90年代初,那个时候,中国的酒店业,特别是高星级酒店,信息化刚刚起步,很多用的是国外的系统,西软的创始人团队有在酒店工作的经验,他们想开发一套更适合中国国情和酒店管理习惯的系统,但当时,像我们现在熟知的Oracle、SQL Server、MySQL这些关系型数据库要么还没诞生,要么非常昂贵且不普及。

在这种情况下,他们选择的技术路线是基于当时一种强大的小型机——UNISYS(优利系统)的机器,UNISYS是一家老牌的美国IT服务和技术公司,在金融、航空等领域有很深根基,它的硬件和配套软件在当时以稳定、可靠、处理大量事务能力强而著称,而DMSII(Data Management System II)就是UNISYS为其主机和小型机环境专门开发的一套数据库管理系统。

西软系统从一开始就是架构在UNISYS平台之上的,数据库自然就用了DMSII,这就带来了几个关键特点,也是它“特别”的地方:

第一,它不是关系型数据库,我们现在提到数据库,绝大多数指的是像Oracle、MySQL这样的关系型数据库(SQL数据库),数据以表格形式存储,用SQL语言进行操作,但DMSII是一种网状数据库,网状数据库是更早的一种数据模型,它用“记录”和“系”来组织数据,更像一个复杂的网,这种结构在处理具有复杂关联的数据时,在某些场景下效率很高,酒店业务正好符合这个特点,比如一个客人关联一个预订,预订又关联多个房晚、多个消费项目,这些项目又关联到不同部门,关系错综复杂,DMSII的网状模型能很好地直接映射这种业务逻辑。

第二,极致的稳定性和性能,这是UNISYS DMSII最被称道的地方,也是高端酒店最看重的,酒店管理系统是7x24小时不能停机的,前台办理入住、结账离店、挂账消费等操作要求响应速度极快,尤其是在高峰期,DMSII底层直接与UNISYS硬件深度集成,经过了数十年的优化,在处理高并发、大批量的交易时非常稳健,几乎不会出现死锁或性能急剧下降的情况,很多使用了十几二十年的西软系统依然运行得非常流畅,这让酒店业主非常放心。

第三,封闭性与专业性,这既是优点也是“特别”之处,因为DMSII是UNISYS独有的,不像Oracle、MySQL那样有庞大的开发者社区和通用的管理工具,这意味着维护和开发西软系统,需要非常专业和特定的知识,通常只有西软自己的工程师才能深入操作,对于酒店来说,他们几乎不需要关心数据库层面的事情,全部由西软负责,降低了技术门槛,但也增加了对西软公司的依赖,外部人员想直接连接这个数据库获取数据或者做二次开发,难度非常大。

现在西软还只用DMSII吗?也不是,随着技术发展,西软也在不断进化,为了适应云计算、大数据、移动互联等新趋势,西软已经推出了新的产品线,比如西软云酒店管理系统,这些新系统为了更好的开放性和集成能力,已经转向了业界更通用的技术栈,大概率会使用像PostgreSQLMySQL这类开源关系型数据库,或者一些云数据库服务。

由于历史原因,目前仍有大量(尤其是五星级)酒店的核心业务系统仍然运行在稳定可靠的UNISYS DMSII之上,这些系统经过了长期考验,承载着酒店日常最重要的运营,当人们谈论“西软用的啥数据库”时,那个“特别”的指代对象,十有八九就是这套UNISYS DMSII网状数据库,它可以说是中国酒店信息化早期发展阶段的一个技术活化石,以其独特的架构和无可匹敌的稳定性,在行业里留下了深刻的印记。

西软到底是用的啥数据库,听说好像挺特别但又不太确定