数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

髒数据潜在的隐患以及数据整合


发布日期:2021年09月14日
 
髒数据潜在的隐患以及数据整合

很少有什么IT项目比数据整合更令人头疼的了如果我们换个方式思考就会发现有一件事是比数据整合更可怕的那就是数据整合出现了问题

有时候这是由于用户出错或者恶意用户的蓄意破坏导致不良数据堆积引起的问题有时候原始数据是完好无损的但是从一个系统/数据库转移到另一个系统/数据库的过程中丢失被删截或者被修改了也会造成麻烦数据会过时也会在你企业内部的人事斗争过程中不幸被流弹击中要知道每个人都是死抱着自己的一小片数据存储地盘不愿与其他人分享

有很多的方式会导致数据项目的流产本文列举了其中五种最常见的情况告诉你究竟是什么地方出错了将会导致什么样的后果以及可以采取什么措施避免同样的情况发生在自己身上文中所涉及的公司名字一概隐去希望不要让你自己的经历像本文所叙述的对象那样沦为他人口中的经验教训

亲爱的白癡邮件事件

小心你的数据来源它有可能会反过来摆你一道这个事例源于一个大型金融服务机构的客户呼叫中心就像几乎所有的客服柜台一样这里的客户服务代表们要做的就是接听电话并把客户信息输入到一个共享数据库里

这个特殊的数据库里有一列是用来记录称谓的并且是可编辑的但是数据库管理员并没有对这一列的输入规则进行约束例如只能输入某某先生某某女士之类的称谓反而可以接受客服代表输入的任何长达字符的内容在倾听一些客户愤怒的投诉时部分客服代表就会给每条记录添加一些他们自己想出来的不完全友善的注释例如 这个客户真是个白癡这类的注释

这种情况持续了很多年因为机构里的其他系统都不会从这个称谓列中提取数据所以没有人注意到这一情况其后某天市场部决定发起一次直接邮寄活动来推广一项新服务他们想出了一个绝妙的点子与其花钱购买一份名单不如利用客服柜台的数据库

于是以诸如亲爱的白癡客户Linlin这样的措词抬头的邮件开始源源不断的发到客户邮箱里

当然没有任何客户会签约使用这项新服务该机构直到开始检查他们所发出的邮件时才弄清楚前因后果

我们拥有的数据不是属于我们自己的如今世界的联系日趋紧密很可能会有人找到了你的数据并把它利用在一个你完全想象不到的地方如果你从别的地方获取数据那么在你利用它们执行新任务时必须要确保你的数据质量管理水平过关了

判断水平过不过关取决于你要如何利用这些数据正确性是判断数据质量的基本要素之一对于直邮产业数据的准确率达到%至%就可能就够了而对于制药业你就必须达到%甚至更高不过没有什么公司想要或者需要完美的数据更不用说为了得到完美数据而付出金钱因为要数据保持完美的代价太昂贵了问题是要怎样利用数据以及数据的准确率达到什么程度才足够好

死去的人有没有选举权

相信大家对数据清洗(Data cleansing)这个术语并不陌生它是数据整合过程中必须进行的一个复杂过程通过检测和清除掉垃圾数据(包括不正确过时冗余以及不完整的数据)以保证数据的正确性可靠性完整性和一致性从字面上我们就可以看出数据清洗是一个生死攸关的问题下面讲述的也是生死攸关的事例年美国国会选举期间某政府工作志愿者在通过电话让已登记的选民来投票的过程中发现每十个选民中有三个是已经死去的人因此没有资格投票现代社会里死者数据不全所引发的问题很常见确实也给生者带来了很大的困扰

对于诸如保险公司投资公司基金公司通讯公司等拥有大量客户的服务类企业而言客户数据是其重要的财富来源然而客户数据质量问题却一直是困扰企业开发新服务项目的绊脚石在一项关于客户数据质量的调查研究中发现平均而言%的客户数据记录存在各种问题例如各种证件号码输入错误联系方式过期等等其中有五分之一的数据问题是由于客户的死亡造成的其中一部分客户死亡时间超过十年却仍保留着股东的身份

这并不是客户的疏忽只是自然发生的问题私营企业上市被并购或者拆分而他们的股东数据却一直被保留着甚至长达数十年之久不过这些垃圾数据所引起的问题可能比起在不必要的邮寄费用上浪费一点钱更为严重最令人担心的问题莫过于欺诈和盗窃ID如果这些情况发生在颇具影响力的机构组织里必会导致更为严重的现实问题例如已故股东的红利被陌生人兑现继承人的继承权被剥夺公司机密洩漏等等

那么要怎么解决这个问题呢?利用商业评测软件可以识别不同系统的异常数据并做好标记方便检查即便如此所有的企业都应当加强重视做好内部监控严格执行例行的基本检查事实上每一个企业都或多或少存在垃圾数据方面的问题从风险管理的观点来看最好的解决方案就是持之以恆地检查如果你从上文的内容能认识到这个自然发生的现象可能会对你产生什么影响的话已经有了一个好的开始

数据重复的代价

用户出错会引发麻烦事用户自作聪明造成的问题可能更严重某保险公司从上世纪年代开始就将大部分客户资料保存在一个主应用软件中并规定数据录入操作员录入新数据前先要搜索数据库中是否已经有该客户的记录但是搜索功能执行起来非常慢而且不够准确所以大多数操作员不再执行这一步骤而从头开始输入新记录这样做确实简单轻松多了然而结果是很多客户公司的记录在数据库里重复达几百次使系统运行地更慢数据搜索结果更加不准确形成了恶性循环

不幸的是这个应用软件已经根深蒂固的嵌入到该公司的其他系统了管理部门不愿意花钱把它替换掉最后该公司的IT部门发现如果公司再也无法查找用户资料了将会造成的每天万美元的损失直到这时候公司才如梦初醒使用识别系统来清洗数据最终清除了近四万条重复记录

重复数据的问题一直都让IT管理员头痛不已数据库越庞大这个问题越严重但是很少有人真正认识到问题的严重性如果有人告诉你他的客户数据库里有%的重复数据很可能低估了不过我们也没有什么灵丹妙药彻底解决这个问题即使我们能够利用数据匹配技术来沙里淘金跨越多个数据库找出唯一有用的信息最难的一关可能是让企业里的不同利益团体就什么数据可以大家共享以及如何构建匹配达成一致同一个机构里的两个不同的部门可能对匹配和重复项有完全不同的定义类似的数据整合工作会因为相关人员不能对谁才是数据的所有者以及什么数据可以拿来与别人交换的意见不和而土崩瓦解

小心老化的数据

相信很多人对魔域大冒险(Zork)这款最经典的文字冒险游戏还记忆犹新通过问答形式由游戏设置提供情景描述而玩家输入选择关键词判断来推动游戏发展是现代RPG游戏的鼻祖现在还有不少人仍在开发这类古老的游戏这也没什么问题是他们数据库里保存的用户资料也同样的古老

某老款游戏开发商利用MailChimp的网络营销服务来联系以前的一万名客户就是为了提醒他们游戏的第二版终于完成了他们所用的大部分电子邮件地址至少是十年前的其中有一部分是Hotmail帐户很久之前就被遗弃不用了以致微软已经把这些邮件地址当成垃圾邮件陷阱了于是一天之内所有的MailChimp邮件都被Hotmail的垃圾邮件过滤器列入了黑名单

幸好游戏开发商以前保留了原始记录包括每位客户下载其游戏时的IP地址这成了MailChimp的救命稻草MailChimp给Hotmail的客服发了紧急申明证明这些邮箱帐户是合法客户只是年代比较久远第二天hotmail就把MailChimp从黑名单中解救出来了

所有的数据都会快速老化就像放射性物质发生衰变一样而联络数据比其他数据老化得更快数据库管理人员必须定期更新每一个系统的数据

美国工商资料库是个巨额产业而联络资料是所有资料中最受销售人员青睐的但也是最难维护的年成立于美国的是一个在线商务联络资料数据库面向销售专业人员采用Wiki式数据清洗方式来维护该网站的三十多万名用户通过上传新名片资料或纠正错误的名片资料来换取点数上传的每条记录必须完整如果上传不正确或是资料太老旧就会扣除相应的点数而用户能得到的利益就是用获得的点数购买自己所需要的名片资料

Jigsaw的首席执行官Jim Fowler称一家科技公司想要把他们公司的数据库和Jigsaw的数据库进行比较以便清除不良数据该科技公司拥有四万条记录其中只有%是当前可用的而且全部数据都不完整Jigsaw发现他们大部分合作客户都拥有很多毫无价值的数据根本就没办法去匹配纠正公司花费了数百万美元在客户关系管理软件上可见这些数据有多糟糕有时候公司的真正价值不在拥有的数据本身而在于有没有能力与时俱进地跟上数据变化的速度Jigsaw的能力正是在于完善数据并进行自我清洗如果没有自我修正的机制Jigsaw也只不过是一家毫无价值的数据公司而已

小错误与大麻烦

好数据和不良数据之间的差别很可能就体现在一个小点上某专案优化解决方案供应商的高级顾问告诉我们他曾为一个大型数据整合项目做顾问这个项目看起来一切都运行正常但六个月后某人打开一个数据表只看到了一排排符号什么数据都没有

这其实只是一个字符代码错误本来在一些域里应该用省略号(三个点)的但有人只输入了两个点导致了整个数据线的崩溃该公司不得不费尽力气从备份中重新创建整个数据库查找省略号然后用正确数据替换

很多时候问题不仅仅是简单的数据录入错误或者是髒数据进髒数据出的问题而已很多企业在进行不同操作系统之间的数据移植或从老的SQL版本中升级数据等操作时并没有做好充分计划他们总是希望利用手头上任何可利用资源火速进行而把数据清洗任务冀望于以后完成更甚者他们的测试环境和操作环境可能并不一致或者他们只用少量数据子集来测试没有测试过的数据很可能会在后面的操作引发大麻烦

企业经历着深刻的技术革命却没有在数据整合和维护的管理上花费足够的时间和精力最终只会成为不良数据的牺牲品在数据迁移的过程中有无数的机会让它们成为不良数据

不要指望IT部门来验证你的数据让与这些数据密切相关的有能力的用户来帮助你做好数据整合计划和测试在你决定进行整合之前先查看一下所有数据确定用于从中提取数据的应用软件如果可以最好测试所有的数据而不是其中某个子集要知道正如上面的例子所示就算是一个小的不能再小的错误都会把你和你的数据拉进痛苦的深渊

我们最后再用一个实例来说明小错误和大麻烦之间的关系

某商业风险管理解决方案供应商的某位客户创建了一个SQL服务器数据库用来确定是否有错误的CAD文件在其网络内部流窜原本的设想是如果错误的数据包超过某设定阈值公司管理员就会知道并进行数据挖掘和清洗工作问题是他们不小心颠倒了数据库的规则设置(把两个阈值放反了)导致错误数据包越多提交公司的报告里显示的网络运行情况就越好最后该公司网络被某种蠕虫病毒入侵破坏了他们的工程CAD档案他们不得不重头开始花费大量的金钱来重建大部分的文档这一切都是因为一个非常简单数据提取设置错误造成的

希望本文讲述的内容能够让大家对数据整合有个正确的认识数据整合不可规避并且要谨慎行事

上一篇:数据库触发器和作业结合讲解

下一篇:ORACLE的索引和约束详解