其他
微软“杀”不死的数据库软件
IT服务圈儿
有温度、有态度的IT自媒体平台
那些拥有不死之身的旧软件,可以让我们从中学习到什么?
译者 | 苏本如,责编 | 郭芮出品 | CSDN(ID:CSDNnews)
以下为译文:
在万圣节,你可以讲这样一个万圣节的故事来吓唬一下普通的公司程序员。假想一下,如果你将宝贵的业务数据放在一个由科技巨头微软公司支持的友好数据库程序中,一开始,一切看起来都是那么地完美,但是你就是无法摆脱那种厄运即将来临的诡异的感觉。接着,你的噩梦开始了。在只有三个人使用这些表格时,效果非常好。但是,当整个公司都加入进来使用时,一些神秘磨人的小故障就会接踵而来。你的老板让你构建一个Web界面,使得远程办公室可以使用数据库,但是你却发现——什么数据库也找不到,只有一个巨大的,没有灵魂的空洞,而那里应该有Web支持的。你想从它当中寻找你所期望的传统数据库的一些行为吗?别做梦了!想要安全模型吗?不,这里的每个用户都可以访问所有内容。想要数据完整性吗?还是醒醒吧,因为根本没有记录数据库操作的日志文件。想要遵守开发标准吗?别问,就此打住!看到这里时,你是不是觉得心都凉了!然而,这些就是最让人寒心的吗?你想多了!就是这样的破东西甚至还要收你的费!这就是Microsoft Access(以下简称Access)的故事。Access是一款使用方便的数据库软件,它已经有近30年的历史,但是至少在10年前,它就已经渐显老态。你可能认为Access早就死了,但是你错了。事实上,Access仍然像只僵尸一样踯躅而行,它的使用率既没有增长也没有下降。微软公司已经不止一次试图终止它的生命,然而它的用户社区却一次又一次成功地让它起死回生。而其他像FrontPage和Visual Basic 6这样的传统软件产品,却因为被人冷落而早已被掩没在尘埃之中。将Access视为一个遗留软件噩梦,是显而易见的事。但是它的故事对每个软件设计师都有借鉴意义。它可以让我们洞察是什么让一个产品存活下来、茁壮成长,并且在它的生命周期结束后,仍然历时弥久,保持不死之身。01
Access到底有多普及?
首先让我们澄清一件事:Access并没有死亡,而且也不会即将死亡。这似乎违背了数据库软件世界中所有合理的和被大家认可的公理,但是这是我们不得不接受的事实。数据研究公司的统计结果在这点上保持了高度的一致:使用Access的公司数量不多,但是忠诚度很高。HG Insights统计出目前使用Access的公司有140,000家,这是使用更加专业的SQL Server的公司数量的一半。Infoclutch公司的统计结果与其一致。而DB-Engines根据数据库软件在搜索、社交媒体和Stack Overflow等网站中出现的频率对其进行排名,它得出的结论是:Access在世界上最流行的数据库排名中名列第九!
02
微软试图杀死Access,但是失败了
每一个混迹于科技圈的人都曾经目睹过一款最受欢迎的软件过早地走向了尽头。谷歌公司的废弃项目可以排成一整片的墓地,微软公司也曾因为冷血杀死自己的孩子(软件)而臭名昭著(有时甚至一次杀掉几个)。比如当年微软宣布放弃Expression Studio这个旨于与Adobe竞争的完整软件家族时,这个软件家族中的所有软件(包括网络、设计和媒体编码工具等软件)都一次性被放弃了。但是不知道出于何种原因,当微软公司把屠刀指向Access时,它却意外地手下留情了。
03
Access和它的持久生命力向我们揭示了什么?
老旧的软件系统在技术领域长久存留并不是一件令人惊讶的事。毕竟,我们现在还有人在使用COBOL。但是Access的不寻常之处在于,尽管受到了创建它的公司的恶意地忽视,但是它依然经久不衰。是什么原因让Access可以无视它的局限性而如此经久不衰呢?这里面有文化和实践两方面的原因,但以下三个原因更为突出。1. 高级用户的需求缺口Access的受众是一个特殊的群体,软件开发很少以他们作为目标受众:这些人属于技术人员,但是又不是真正的代码编写者,他们可能知道如何绕过office宏,但是他们又没有正式的编程背景。在不算久远的那个时代,我们称这些人为“power user(高级用户)”。高级用户可能是一个危险的群体。只需要给他们一点帮助,他们就可以制造出一种非常强大的武器来伤害到他们自己。他们具有我们必须重视的未开发潜力。为这一类的技术人员提供一种解决问题的方法,而不需要他们编写一页页的代码,他们就可以在这些方面有所作为,如自动化小任务,管理自己的数据孤岛,帮助他们保持本地环境的组织性和有效性。如今,人们仍然渴望使用无代码或轻代码工具。那些工作积极的人们希望自己完成自己的工作,而不是为每一次数据库检索付费给昂贵的专业人员。但是到目前为止,我们提供给他们的唯一产品是上一代人使用的VBA宏语言和一些昂贵的工具,像PowerApps这种工具只有在你的企业注册了一堆微软云产品时才能够为你工作。2. 真正的力量是赋予别人力量如果说Access的成功有一个秘诀的话,那就是:Access之所以成功,是因为它让人们感到强大。下面是另一个在工作中使用 Access的例子。我的搭档需要跟踪一个有多个地点的小型音乐学校的家庭、学生、班级和出勤率。不存在多人同时编辑数据库的危险,也不需要将其他平台上查询数据。这种场景下,一个具备完全功能的SQL Server应用程序会更好用吗?答案是“是的”,甚至一个免费使用的SQL Server Express会更好用。但是,即使设计这样的应用程序是一项简单的任务,它也不是一天可以完成的事情。对于这个应用程序的用户来说,没有一种简单的方法可以像使用Access一样,可以用他们自己的表单和报表来实现并增强它。3. 千万不要低估“就是好用”的价值考虑一下,建立一个专业的数据库解决方案需要做些什么。要完成我刚才提到的使用SQL Server Express的示例,你至少需要完成以下步骤:1.安装SQL Sever Express。确保所有的配置设置正确就位,以便数据库服务能在输入命令后正确启动。2.下载SQL Server Management Studio,这样就不需要在命令行中使用SQL命令来创建数据库。3.创建需要的数据库和表。(这部分几乎和Access一样简单!)4.选择你的编程语言、数据库库和开发环境。也许你会选择一些类似Visual Studio Community这样的工具,它们会有助于将各部分连接到一起。5.在你的代码中建立一个到你的数据库的连接。根据你采用的方法不同,你可以编写自己的代码或使用类似Entity Framework这样的代码生成工具。。6.接下来真正的乐趣开始了。为了访问数据库,你需要向运行代码的账户(通常不是你自己的账户)授予正确的数据库访问权限。根据我多年的编程教学经验,这点从来都是给新手编程设置障碍的绊脚石。
上面这个步骤列表没有做任何实际的事情。它只是准备环境和配置Access所需要做的准备工作。如果将这些让Access能够工作起来所需要的成本进行比较的话,接下来,启动Access、创建一个数据库,并且让它工作,就是一件轻而易举之事。尽管根据便利性很难给一个软件定价,但是那些“就是好用”的东西的吸引力已经让许多普通的技术一夜成名。
04
写在最后
所以,为什么Access还活着?为什么这样一个有点尴尬的僵尸会站在一个绝对没有被邀请的派对角落里?答案很简单:Access适合于普通人。
*版权声明:转载文章和图片均来自公开网络,版权归作者本人所有,推送文章除非无法确认,我们都会注明作者和来源。如果出处有误或侵犯到原作者权益,请与我们联系删除或授权事宜。