写点什么

微软 Access 烂透了,为什么它还能活这么久?

  • 2019-11-13
  • 本文字数:3801 字

    阅读完需:约 12 分钟

微软Access烂透了,为什么它还能活这么久?

咱们先讲个恐怖小故事。


想象一下,有一天,你把宝贵的业务数据存入微软公司支持的数据库程序当中。整个过程很顺利,似乎不可能出现什么问题——但是,你心里隐隐有种不祥的预感。


接下来,问题接踵而至。在只有三名用户时,这种形式运作良好。但当整个企业都开始接入后,系统开始出现某些神秘的故障。老板要求你创建一套 Web 界面,帮助远程办公团队也能使用这套数据库。但是,你发现自己根本就无从下手:网上一点相关资料都没有,你也找不到其他常规数据库所应提供的任何支持机制。安全模型?(不存在,每个用户都能访问所有内容。)适当的数据完整性?(不存在,压根不存在负责记录数据库操作的日志。)开放标准?(想都别想。)这一瞬间,你感觉整个人都凉透了。


最可怕的是什么?就这么个玩意,居然还要收费。


没错,说的就是微软 Access 了。这是一款易于上手的数据库软件,已经拥有近 30 年的历史,而且至少从 10 年前开始就暴露出种种问题。很多朋友可能觉得 Access 很久之前就已经挂掉了。但你错了,Access 实际仍然活着,而且活得还很……稳定,其使用率既不增长也不下降。微软虽然多次尝试将其淘汰,但用户社区仍然让 Access 留住了最后一口气。相较于确实已经死透了的 FrontPage 以及 Visual Basic 6,Access 的生存状态简直可以用“奇迹”来形容。


既然 Access 问题多多,为什么它的命运却如此不同?这正是本文打算探讨的话题。软件设计师不妨从中汲取经验,想想 Access 是怎样在全面落后的情况下,仍然保持如此广泛的影响力的。

Access 的人气

让我们先澄清一点:Access 并没有死,而且也不会死。虽然这可能与数据库软件世界的运行规律有所冲突,但请相信我,这就是事实。


数据研究企业们普遍意识到,虽然使用 Access 的群体不算大,但其忠诚度却相当突出。HG Insights 统计称,目前仍有 14 万家企业在使用 Access,数量相当于 SQL Server 客户规模的一半。Infoclutch 也给出了类似的结论。DB-Engines 根据对应关键字在搜索引擎、社交媒体以及 Stack Overflow 网站上出现的频率对数据库软件进行了排名,并表示 Access 是目前全球第九大最受欢迎的数据库:



Access 成功挤入了 DB-Engines 的排行榜,与其他功能强大的现代数据库并列。


这些统计数据肯定是夸大了 Access 的普及度。毕竟多数企业都会同时使用多种数据库软件,而且采用 Access 的应用程序肯定规模较小、重要度较低。除非 CEO 有着疯子一般的偏执,否则不可能有哪家企业愿意用 Access 来管理自己的核心业务。更重要的是,很多企业其实是在无意识的情况下使用 Access 的——就像每个拥有 WordPress 网站的企业,都相当于在使用 MySQL 一样。


我对 Access 这种闷声发大财的生存方式有着自己的理解。2009 年,我写了一本关于 Access 的书。之所以要写这么一本书,是因为我本人多年以来一直在利用 Access 作为临时性数据解决方案——例如整理书籍集合或者管理咨询工作中的发票与付款条目等等。这些场景需要的数据结构与编辑控制水平超过了 Excel 的处理能力,但又犯不上使用更为复杂的先进数据库系统。因此,Access 就成了最理想的选择——几个表、某些带有约束条件的关系、一点点查询再加个几份报告,Access 能够在一个下午之内帮我处理好所有轻度数据管理任务。


换句话说,Access 找到了自己不可替代的生存空间。当然,我可没说让大家用它来支持电子商务网站这类复杂应用,绝对没有。


在书中,我总结了自己在使用 Access 过程中积累下的心得与教训。令我惊讶的是,这是我卖得最好的一本书,直到现在也经常能售出那么一、两本。很明显,仍有不少人对 Access 抱有兴趣,虽然我猜他们只是希望弄明白怎么解决前任外包程序员留下的麻烦。

软件项目是怎么走向灭亡的

每一位技术从业者,应该都或多或少见证过自己熟悉的软件从蓬勃发展到走入死路的过程。到处都是废弃的谷歌项目,微软也亲手扼杀过不少软件产品——很多朋友可能还记得 Expression Studio 吧,当时微软可以打算靠它跟 Adobe 在网络、设计以及媒体编码领域一较高下的。


但是,出于某种神秘的原因,微软决定放 Access 一马。



事情的开端,源自微软一个心软的决定。不同于以雷霆手段关闭 Silverlight、PhotoDraww 以及 Minecraft 等项目,微软当时采取了逐步降低 Access 重要度的方式。首先,微软试图通过无视 Access 的方式让其沦为打酱油的小角色。在 Office 2013 发行的头几个月,微软一直没有给出是否会发布 Access 2013 的官方声明。


接下来,他们着手进行功能拆分,删除了一些陈旧但仍有一定使用活跃度的功能。导入旧格式(例如 dBASE)的功能彻底消失,用户无法继续创建数据透视表,无法为 SQL Server 数据库创建 Access 前端,同时取消了将 Access 数据库迁移至 SQL Server 的升级向导。微软一点点地对 Access 进行肢解,但有趣的是程序本体却仍然存在。


接下来,大动作出现了。微软决定提供至少三种不同的框架,帮助用户将 Access 数据库迁移至 Web 上。首先是通过 SharePoint 以及 SQL Server 提供 Access Web 数据库(通过 Access 2010 版引入),随后是 Access Web 应用程序(通过 Access 2013 版引入)。但这些尝试都没能成功,而最新的 Access 2019 更是成为最近十年以来第一套完全不提供 Web 功能的软件版本。


我在其他软件中从来没见过这么奇怪的错位状况。我们先后见证了微软提供的多种 Access 淘汰方案,但却一次也没成功过。最后,微软自己决定放弃。就像科学怪人中的怪物一样,创作者无法将其杀死,因此只能放弃治疗。

从 Access 的经久不衰中汲取经验

事实上,有很多陈旧的事物都能在现代技术世界中继续占据一席之地——没错,说的就是你,COBOL。但是,Access 的特别之处,在于它能够在创造者已经不抱希望的情况下继续保持相对健康的生存状态。


它怎么就这么能熬?其中当然存在众多文化与实际层面的原因,这里我们着重介绍三点。


1. 中度用户缺口


Access 的受众其实非常具体,也就是那些非专业编程人士的技术人员——他们在市场上也一直受到忽视。他们可能知道怎么使用 Office 宏,但却没有科班编程教育背景。我将他们称为“中度用户”。


中度用户相当可怕,因为他们的知识储备虽然不足以担当真正的技术骨干,但却已经具备了搞砸一切的能力。为了发挥他们的能动性,但又不致引发巨大灾难,我们当然有必要准备一种专门的、无需编码的问题解决办法。他们可以借此自动执行小型任务、管理自己的数据孤岛,同时保持本地环境的组织性与有效性。


时至今日,市场对于无代码或者低代码类工具的需求仍然相当旺盛。这些极富干劲的员工不希望在工作中求助于专业人士,而更愿意自己动手尝试解决问题。但到目前为止,他们为这个群体提供的可用产品,除了早已陈旧不堪的 VBA 宏语言之外,就只剩下只有在企业订阅微软云产品堆栈时才能使用的 PowerApps 等工具。


2. 真正的力量,在于为他人赋能


要说 Access 成功的秘诀,那就是:Access 成功为他人赋能,或者说至少让他人感到自己接受了赋能。


我们来看看 Access 的实际用例。我的搭档负责为一家小型音乐学校管理家庭信息、学生信息、班级信息以及出勤情况。很明显,用例当中不存在多人同时编辑数据库的危险,也无需将数据开放给其他平台。使用功能更完善的 SQL Server 能在效果上更进一步吗?其实可以,我们甚至能够使用免费的 SQL Server Express 达成相同的效果。虽然可以,但没有必要,毕竟在 Access 当中,用户只需要填写简单的表单与报表即可满足自己的功能需求。


3. “够用就行”符合大多数人的基本逻辑


考虑一下,设置专业数据库到处需要哪些步骤。就以我刚刚提到的 SQL Server Express 为例,我们至少需要经历以下环节:


  1. 安装 SQL Server Express。确保正确完成各项设置,并通过命令启动数据库服务。

  2. 下载 SQL Server Management Studio,只有这样才能无需使用 SQL 命令创建数据库。

  3. 创建数据库和表。(这部分倒是跟 Access 差不多一样简单)。

  4. 选择一种编程语言、数据库库以及开发环境。大家可能还会选择 Visual Studio Community 之类,从而将以上要素捆绑在一起。

  5. 在代码中创建数据库连接。根据具体方法,大家可能需要自行编写代码或者使用 Entity Framework 之类的代码生成工具。

  6. 接下来才是征。为了访问数据库,我们需要向运行代码的账户(通常并不是自己的账户)授权正确的数据库权限。根据我多年的程序设计教学经验,还没有哪个新手能一次性搞定这项任务。



以上就是准备数据库环境所需要的整个流程。相比之下,Access 几乎没有任何启动成本——我们甚至很难在 Access 搞砸什么东西,毕竟根本就没什么搞砸的空间。


虽然我们很难判断这种便捷性到底值多少钱,但不吹不黑,这种“够用就行”的感觉还真是挺美妙的。


这么看来,Access 拥有顽强生命力的原因就非常明确了。他就像个无人问津的酱油角色,只会在镜头的角落里像“僵尸”一般走来走去。但是,他同时又非常符合普通人的需求,允许我们在保持各种不良习惯的同时仍然能够解决问题而不惹出大乱子。只要没有合适的替代性工具,他就将继续以极低的复杂度继续为普通群众提供尽可能多的数据库功能。


虽然在高手眼中,这就是一套干啥啥不行、毫无亮点可言的平庸之作,但他仍然很好地完成了自己的使命——服务用户。所以真正的问题在于,我们是否愿意开发出另一款面向几乎所有用户的数据库工具,从而真正宣判 Access 的死刑?就目前来看,可能性很低。


原文链接:


https://medium.com/young-coder/microsoft-access-the-zombie-database-software-that-wont-die-5b09e389c166


2019-11-13 10:595163
用户头像
陈思 InfoQ编辑

发布了 576 篇内容, 共 288.4 次阅读, 收获喜欢 1303 次。

关注

评论 1 条评论

发布
用户头像
我是个会计,我觉得access就很好用,用户就我一个人。access很直观非常快速地让我理解了部分数据库设计思路,虽然我没能力依靠access,但是我只需要它保存我多而杂乱的excel表数据就可以了。不可能有机会让我直连后台数据库,我也无需考虑数据冗余的问题,我每天的具体工作就像扫大街的,根本不必关心哪条街扫干净没有,我只关心我扫的那一段干净了没就可以。至于考虑道路清洁,城市清洁,那是环卫部门环卫车干的事情。量变到质变,我这么点量去学艰深的数据库,那是给自己找不自在的。所以,虽然我也认为aceess很烂,但架不住我一想起啥关于数据库的事,第一时间就开access来用,真的是太方便了。
2024-08-12 11:09 · 云南
回复
没有更多了
发现更多内容

轻松掌握,板对板连接器选型指南

元器件秋姐

电路 元器件 PCB 连接器 PCB设计

活动回顾丨首期阿里云 Serverless 技术创新实战营上海开讲(含 PPT 下载)

阿里巴巴云原生

阿里云 Serverless 云原生

开源数据库迎来技术创新拐点|2023开放原子全球开源峰会开源数据库分论坛即将启幕

开放原子开源基金会

数据库 开源 开放原子

2023数字政府高质量发展论坛在京召开

信通院IOMM数字化转型团队

数字化转型 数字政府 IOMM 政府数字化转型

多数据中心助力中企出海全球化经营

用友BIP

中企出海

信道的数学模型

timerring

信息论

财务共享中心搭建以后,如何进行精细化管理?

用友BIP

财务共享

ChatGPT应用助推跨境电商发展,低代码凭啥不行?!

加入高科技仿生人

低代码 跨境电商 ChatGPT JNPF

WICC · 出海嘉年华倒计时!精彩不容错过,「指南」一手掌握

融云 RongCloud

社交 融云 泛娱乐 出海 wicc

通义千问预体验,如何让 AI 模型应用“奔跑”在函数计算上?

阿里巴巴云原生

阿里云 云原生 函数计算

聊点技术 | 可观测性十问十答

博睿数据

可观测性 智能运维 博睿数据 发展趋势 聊点技术

火山引擎A/B测试:MAB智能调优实验,企业活动效果提升新利器

字节跳动数据平台

AB testing实战 A/B 测试

企业出海,全球合并有高招!

用友BIP

中企出海

9秒被骗245万元?AI火了,骗子也来了!

引迈信息

AI 低代码 JNPF AI诈骗

Authing 结合 APISIX 实现统一可配置 API 权限网关(快速启动版)

Authing

API APISIX APISIX 网关 API 接口

中企出海,全球供应链业务如何更有效地经营?

用友BIP

中企出海 全球供应链

单卡轻松打造 ChatGPT 竞争者“原驼”,QLoRA 革新大语言模型微调技术

Zilliz

openai AIGC Towhee ChatGPT

解读科学计算助力行业高质量发展|2023开放原子全球开源峰会科学智能分论坛即将启幕

开放原子开源基金会

人工智能 开源 开放原子 科学智能

为什么 AIGC 和大模型创业者都在安利向量数据库?

Zilliz

Milvus AIGC 向量数据库 zillizcloud

项目汇报的正确打开方式

老张

汇报 向上管理

SDK轻量化,降低日均耗电量和日均流量

MobTech袤博科技

瑞云科技CTO赵志杰出席广州广告数字创意峰会并发表演讲

3DCAT实时渲染

元宇宙 实时云渲染 云3D渲染

Web3 游戏的用户留存的挑战与机遇:从经济模型与游戏设计谈起

Footprint Analytics

区块链游戏 web3 web3游戏

悦数图数据库:图 + AI 在金融行业的应用及技术前瞻

悦数图数据库

AI 金融 图数据库实战

wireshark分析tcp传输之文件上传速率问题

蓝胖子的编程梦

TCP 网络 Wireshark tcpdump 抓包

推动科技教育普惠|2023开放原子全球开源峰会校源行分论坛即将启幕

开放原子开源基金会

开源 开放原子全球开源峰会 开放原子

开源教育与人才|2023开放原子全球开源峰会开源教育和人才分论坛即将启幕

开放原子开源基金会

开源 开放原子 教育与人才

软件测试/测试开发丨接口测试实战学习笔记

测试人

程序员 软件测试 自动化测试 接口测试 测试开发

累计下载破 10 万,阿里云 ACR 制品中心 5 月最受欢迎镜像排行榜

阿里巴巴云原生

阿里云 阿里云云原生 容器镜像服务

恒参信道特性及其对信号传输的影响

timerring

信息论

展望开源产业与数字经济未来|2023开放原子全球开源峰会开源创新理论与实践分论坛即将启幕

开放原子开源基金会

开源 开放原子

微软Access烂透了,为什么它还能活这么久?_数据库_Matthew MacDonald_InfoQ精选文章