大数据专业英语教程(第2版) Text B参考译文_第1页
大数据专业英语教程(第2版) Text B参考译文_第2页
大数据专业英语教程(第2版) Text B参考译文_第3页
大数据专业英语教程(第2版) Text B参考译文_第4页
大数据专业英语教程(第2版) Text B参考译文_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Unit1TextB参考译文大数据分析大数据分析是指收集、整理和分析大量数据(即“大数据”),以发现其中模式及其他有用信息的过程。大数据分析能帮助机构更好地理解数据中蕴含的信息,还能协助识别对企业及未来商业决策最为关键的数据。处理大数据的分析师,本质上是想从数据分析中获取知识。大数据需要高性能分析为分析如此海量的数据,大数据分析通常借助专门的软件工具和应用程序来进行预测分析、数据挖掘、文本挖掘、预测以及数据优化。总体而言,这些流程虽相互独立,但都是高性能分析中紧密结合的功能。运用大数据工具和软件,企业能够处理自身收集的海量数据,从而确定哪些数据具有相关性,并可进行分析,以便未来做出更优的商业决策。大数据分析面临的挑战对大多数机构而言,大数据分析颇具挑战性。想想数据的庞大数量,以及整个机构收集到的不同格式的数据(包括结构化数据和非结构化数据),还有不同类型的数据能以多种方式组合、对比和分析,以发现模式及其他有用商业信息的情况。第一个挑战在于打破数据孤岛,获取机构存储在不同地点、通常是不同系统中的所有数据。第二个大数据挑战是创建能够像处理结构化数据一样轻松处理非结构化数据的平台。如此海量的数据通常规模太大,难以用传统数据库和软件方法进行处理。大数据分析的当下应用随着助力机构打破数据孤岛、分析数据的技术不断进步,商业在各个方面都可能发生变革。据《数据自动化》杂志报道,如今大数据分析领域的进展使研究人员能在数分钟内解码人类DNA、预测恐怖分子的袭击地点、确定引发某些疾病最可能的基因,当然,还能知晓你在Facebook上最可能回应哪些广告。另一个例子来自全球最大的移动运营商之一。法国的Orange公司通过发布科特迪瓦客户的用户数据,启动了“数据促进发展”项目。25亿条匿名记录涵盖了500万用户之间通话和短信的详细信息。研究人员获取这些数据后,向Orange公司提出建议,说明这些数据如何能作为改善公共卫生和安全的发展项目的基础。提议的项目包括,通过追踪手机数据绘制人们在紧急情况发生后前往的地点,以展示如何提高公共安全;另一个项目展示了如何利用手机数据控制疾病传播。大数据分析的益处企业越来越希望从自身数据中获取可付诸行动的见解。许多大数据项目源于回答特定商业问题的需求。有了合适的大数据分析平台,企业就能促进销售、提高效率,并改善运营、客户服务及风险管理。Webopedia的母公司QuinStreet对540位参与大数据采购的企业决策者进行了调查,以了解企业计划运用大数据分析改善哪些业务领域的运营。约半数受访者表示,他们运用大数据分析来提高客户留存率、助力产品开发并获取竞争优势。值得注意的是,最受关注的业务领域与提高效率和优化运营相关。具体而言,62%的受访者表示,他们使用大数据分析来提高速度并降低复杂性。十大热门大数据技术随着大数据分析市场迅速扩张,纳入主流客户群体,哪些技术需求最大、增长潜力最高呢?答案可在弗雷斯特研究公司(ForresterResearch)的新报告《2024年第一季度大数据技术雷达》中找到,该报告评估了贯穿整个数据生命周期的22项技术的成熟度和发展轨迹。胜出的技术都有助于实现实时、预测性及综合性的洞察,这正是大数据客户目前所需要的。以下是基于弗雷斯特公司的分析,我对十大热门大数据技术的介绍:5.1预测分析通过分析大数据源,帮助企业发现、评估、优化并部署预测模型,以提升业务绩效或降低风险的软件和/或硬件解决方案。5.2非关系型数据库(NoSQL数据库)键值数据库、文档数据库和图形数据库。5.3搜索与知识发现用于支持从存在于文件系统、数据库、数据流、应用程序编程接口(API)及其他平台和应用等多种来源的大量结构化和非结构化数据存储库中,自助提取信息和新见解的工具和技术。5.4流分析能够对来自多个不同实时数据源、任何数据格式的高吞吐量数据进行过滤、聚合、充实和分析的软件。5.5内存数据结构通过在分布式计算机系统的动态随机存取存储器(DRAM)、闪存或固态硬盘(SSD)之间分配数据,实现对大量数据的低延迟访问和处理。5.6分布式文件存储一种计算机网络,数据以冗余和提升性能为目的,通常以复制方式存储在多个节点上。5.7数据虚拟化一种实时或近实时地从各种数据源(包括如Hadoop和分布式数据存储等大数据源)获取信息的技术。5.8数据集成用于跨亚马逊弹性MapReduce(EMR)、ApacheHive、ApachePig、ApacheSpark、MapReduce、Couchbase、Hadoop和MongoDB等解决方案进行数据编排的工具。5.9数据准备可减轻数据来源、整理、清洗和共享多样且杂乱数据集的负担,以加速数据在分析中的可用性的软件。5.10数据质量利用分布式数据存储和数据库上的并行操作,对大量高速数据集进行数据清洗和充实的产品。

Unit2TextB参考译文有效数据管理的10个最佳实践一个有效的数据管理系统对于现代任何组织的成功都至关重要。考虑到以数据为中心的企业所需的数据量,你必须优化数据管理,包括组织、存储、处理和保护数据,以确保每组数据都符合准确性、可访问性和可用性的相关规定,从而让你的团队实现高效运营。正如我们所知,无管理或不准确的数据管理流程可能会导致各种风险暴露、业务运营失败以及流程混乱。为避免这些情况,你的核心策略应包含强大的数据管理实践,涵盖明确你拥有的数据类型、数据存储位置、单独保存原始数据、规范文档以确保后续流程的数据准确性等等。简而言之,实施一个完善的数据管理系统可以成为你组织的一项资产,因为它有助于提高生产力和效率,将潜在风险降至最低,并降低总体成本。1.什么是数据管理?数据管理是指以结构化且高效的方式处理、存储、维护和组织数据的过程。这包括数据资源,有助于更好地进行决策、分析和运营。数据管理对于最大化数据资产价值、最小化风险以及确保符合法规和标准至关重要。2.为什么数据管理对组织来说是关键的一步?无论你是一家营销公司还是一家金融科技企业,每个组织都依赖客户数据、财务记录、销售或营销业绩等。对你来说,首先必须了解数据管理的目标,然后据此制定计划。在讨论强大的数据管理实践之前,让我们先探讨一些能成为你组织优势的益处。促进数据的可访问性和可用性:当对数据实施了战略管理时,你可以确保正确的数据和信息能够被合适的人获取,这些人可能是团队成员、利益相关者,甚至是客户。你的团队成员可以轻松利用这些数据获得见解并提高运营效率,毫无阻碍。最大化数据价值:只有在数据的质量、合规性、可访问性和安全性都得到妥善处理的情况下,数据的价值才能得到优化。通过采用战略性实践,你可以推动创新,并有效地利用存储的有价值数据实现收入最大化。提高数据的安全性和隐私性:鉴于数据泄露的威胁日益增加以及数据保护方面的风险,这对组织至关重要。通过简化数据管理和网络安全实践,你可以无缝地防止数据丢失或损坏,并将未经授权访问敏感数据的风险降至最低。这种方法可以帮助你赢得客户的信任,并满足法律和监管要求。保持数据处理的一致性和准确性:有了可靠的数据管理系统,你可以轻松保持一致的处理方式来存储和评估数据,并确保其符合准确性规定。另一方面,不正确或不一致的数据记录可能会导致组织获得不准确的见解并做出糟糕的决策。保持准确性和一致性可以提高数据质量和业务绩效,从而推动成功。3.维持充分数据管理的十大实践3.1定义明确的数据管理目标这不仅仅是模糊地想要“更好地使用数据”。以下是如何为数据管理设定SMART目标:具体(Specific):明确界定你想要实现的目标。是将订单处理时间缩短10%吗?还是识别新的客户细分群体以开展有针对性的营销活动?可衡量(Measurable):建立指标来跟踪进展情况。这可能涉及百分比、时间框架或具体数字。可实现(Attainable):设定在现有资源条件下能够实现的现实目标。相关(Relevant):确保你的目标与整体业务目标保持一致。有时限(Time-bound):为实现这些目标设定截止日期,以保持专注和问责制。通过概述这些目标,你可以创建一个直接支持实现这些目标的数据管理策略。3.2创建数据治理框架可以将其视为你数据的“宪法”。它定义了:角色(Roles):谁拥有数据?谁可以访问数据?谁负责数据质量和安全?职责(Responsibilities):每个角色被分配了哪些任务?这可能涉及监督特定数据集的数据管理员,或负责数据质量检查的数据分析师。流程(Processes):建立数据收集、存储、使用和删除的明确程序。这确保了一致性,并将错误风险降至最低。该框架还应考虑数据安全协议以及对相关法规的遵守情况。3.3确保数据质量保证“垃圾进,垃圾出”这句话适用于数据管理。以下是确保高质量数据的方法:实施数据质量检查:这些是自动或手动流程,用于识别和纠正诸如缺失值、不一致或拼写错误等错误。数据验证规则:在你的系统内设置规则,从一开始就防止无效数据进入系统。数据清理:定期清理你的数据,以删除重复项、纠正错误并确保其准确性。高质量的数据会带来可靠的见解和更好的决策。3.4确保数据安全和隐私数据泄露可能代价高昂并损害信任。以下是一些安全措施:访问控制:根据用户角色和权限限制对敏感数据的访问。数据加密:对静态数据和传输中的数据进行加密,以防止未经授权的访问。定期安全审计:主动识别并解决数据安全系统中的漏洞。像《通用数据保护条例》(GDPR)和《加利福尼亚消费者隐私法案》(CCPA)这样的数据隐私法规要求采取额外措施来保护用户数据。确保你有处理数据主体权利请求(例如访问、更正、删除)的程序。3.5简化数据集成许多组织使用来自各种来源(客户关系管理系统、营销自动化工具、销售工具等)的数据。简化数据集成包括:选择合适的工具:有各种数据集成工具可以自动地实现系统之间的数据移动。标准化数据格式:确保来自不同来源的数据格式一致,以便无缝集成。数据映射:定义不同系统中的数据元素如何相互对应。通过简化集成,你可以将错误降至最低,并获得数据的统一视图。3.6实施适当的数据文档记录和元数据管理想象一下找到一个没有标签的文件盒——这就是记录不完善的数据的样子。以下是改进方法:清晰的文件命名约定:使用一致的命名结构,反映数据内容和日期。详细的元数据:提供关于你的数据的全面信息,包括定义、数据类型和任何相关背景。版本控制:跟踪随时间对数据所做的更改,以确保你使用的是最新版本。良好的文档记录使组织中的每个人都更容易理解和使用数据。3.7实施数据生命周期管理数据不应该无休止地积累。数据生命周期管理计划定义了:数据分类:根据数据的敏感性和业务价值对数据进行分类。数据存储策略:根据数据分类和访问需求选择合适的存储解决方案(云存储、本地存储)。数据保留政策:设定数据在存档或删除之前需要保留多长时间的规则。这确保了高效的数据管理并将存储成本降至最低。3.8实施主数据管理(MDM)主数据管理对于客户信息或产品详细信息等核心业务数据尤为重要。它的作用如下:消除重复:主数据管理为关键数据元素创建单一的事实来源,防止不同系统之间出现不一致。提高数据准确性:主数据管理确保所有应用程序中的数据一致且最新,提高数据可靠性。加强数据治理:主数据管理简化了数据治理。3.9利用数据分析和报告只有当你能够从数据中提取见解时,数据才有价值。以下是数据分析和报告的作用方式:选择合适的数据分析工具:根据你的需求有各种选择,从基本的报告工具到先进的商业智能平台。制定数据分析策略:定义你想用数据回答的问题,并选择适当的分析技术。创建清晰简洁的报告:可视化和仪表板可以有效地将数据见解传达给更广泛的受众。3.10定期进行数据审计和合规性检查就像检查烟雾探测器一样,定期进行数据审计至关重要。原因如下:识别数据质量问题:审计可以揭示可能影响你的分析的隐藏数据质量问题。评估数据安全状况:定期评估你的数据安全措施,以识别并解决任何漏洞。确保符合法规:进行审计以验证你的数据管理实践是否符合相关法规,如《通用数据保护条例》(GDPR)或《健康保险流通与责任法案》(HIPAA)。积极主动的数据审计有助于预防问题,并确保数据的完整性和安全性。4.结论实施强大的数据管理实践对于确保业务运营的效率和准确性以及有效实现收入最大化至关重要。通过遵循这些最佳实践,你可以建立一个强大的数据管理系统,使你的组织能够释放其数据的真正潜力。请记住,数据管理是一个持续的过程,因此随着数据需求的演变,要不断监控、评估和完善你的方法。

Unit3TextB参考译文抽取、转换、加载(ETL)在计算机领域,抽取、转换、加载(ETL)是指数据库使用,尤其是数据仓库中的一个过程。ETL过程在20世纪70年代成为一个流行概念。数据抽取是从同类或异类数据源中提取数据;数据转换是将数据转换为适合查询和分析的格式或结构以便存储;数据加载则是将数据加载到最终目标数据库,更具体地说,是操作数据存储、数据集市或数据仓库。由于数据抽取耗时,通常会并行执行这三个阶段。在数据抽取时,另一个转换过程会对已接收的数据进行处理,并为加载做好准备,而数据加载无需等待前序阶段完成即可开始。ETL系统通常整合来自多个应用程序(系统)的数据,这些应用程序通常由不同供应商开发和支持,或托管在不同的计算机硬件上。包含原始数据的不同系统常常由不同员工管理和操作。例如,成本核算系统可能会结合来自薪资、销售和采购的数据。抽取ETL过程的第一部分是从源系统中抽取数据。在许多情况下,这是ETL最重要的方面,因为正确抽取数据为后续流程的成功奠定基础。大多数数据仓库项目会整合来自不同源系统的数据。每个单独的系统可能还使用不同的数据组织和/或格式。常见的数据源格式包括关系数据库、XML和平面文件,但也可能包括非关系数据库结构,如信息管理系统(IMS),或其他数据结构(如虚拟存储访问方法(VSAM)或索引顺序访问方法(ISAM)),甚至包括通过网络爬虫或屏幕抓取等方式从外部来源获取的格式。在无需中间数据存储时,将抽取的数据源流式传输并即时加载到目标数据库是执行ETL的另一种方式。一般来说,抽取阶段旨在将数据转换为适合转换处理的单一格式。抽取的一个固有部分是数据验证,以确认从源中提取的数据在给定域(如模式/默认值或值列表)中是否具有正确/预期的值。如果数据不符合验证规则,将全部或部分被拒绝。理想情况下,被拒绝的数据会反馈回源系统,以便进一步分析,识别并纠正不正确的记录。在某些情况下,抽取过程本身可能需要执行数据验证规则,以便接受数据并进入下一阶段。转换在数据转换阶段,会对抽取的数据应用一系列规则或函数,为加载到最终目标做准备。有些数据根本不需要任何转换,这类数据被称为“直接移动”或“直通”数据。转换的一个重要功能是数据清理,目的是仅将“合适”的数据传递到目标。不同系统交互时的挑战在于相关系统的接口和通信。一个系统中可用的字符集在其他系统中可能不可用。在其他情况下,可能需要以下一种或多种转换类型,以满足服务器或数据仓库的业务和技术需求:●仅选择特定列加载:(或选择不加载空列)。例如,如果源数据有三列(也称“属性”),学号、年龄和薪资,那么选择可能只取学号和薪资。或者,选择机制可能忽略所有薪资为空(薪资=null)的记录。●翻译编码值:(例如,如果源系统将男性编码为“1”,女性编码为“2”,但数据仓库将男性编码为“M”,女性编码为“F”)●编码自由格式值:(例如,将“Male”映射为“M”)●推导新的计算值:(例如,销售金额=数量*单价)●根据列的列表对数据进行排序或排序:以提高搜索性能●连接来自多个源的数据:(例如,查找、合并)并对数据进行去重●聚合:(例如,汇总——总结多行数据——每个商店、每个地区等的总销售额)●生成代理键值●转置或透视:(将多列转换为多行,反之亦然)●将一列拆分为多列:(例如,将以字符串形式在一列中指定的逗号分隔列表转换为不同列中的单个值)●分解重复列●从表或参考文件中查找并验证相关数据●应用任何形式的数据验证;验证失败可能导致数据全部被拒绝、部分被拒绝或根本不被拒绝,因此根据规则设计和异常处理,无数据、部分数据或全部数据会被传递到下一步;上述许多转换可能会导致异常。加载加载阶段将数据加载到最终目标,这可能是一个简单的分隔的平面文件或数据仓库。根据组织的要求,这个过程差异很大。一些数据仓库可能会用累积信息覆盖现有信息;通常按日、周或月更新抽取数据。其他数据仓库(甚至同一数据仓库的其他部分)可能会定期以历史形式添加新数据——例如,每小时。为了理解这一点,假设有一个数据仓库需要维护过去一年的销售记录。这个数据仓库会用更新的数据覆盖任何超过一年的数据。然而,任何一年时间窗口的数据录入都是以历史方式进行的。替换或追加的时间和范围是战略设计选择,取决于可用时间和业务需求。更复杂的系统可以维护数据仓库中加载数据的所有更改的历史记录和审计跟踪。由于加载阶段与数据库交互,数据库模式中定义的约束——以及数据加载时激活的触发器——都会应用(例如,唯一性、参照完整性、必填字段),这也有助于提高ETL过程的整体数据质量。例如,金融机构可能在几个部门都有客户信息,每个部门列出客户信息的方式可能不同。会员部门可能按姓名列出客户,而会计部门可能按编号列出客户。ETL可以将所有这些数据元素捆绑在一起,并整合为统一的呈现形式,例如存储在数据库或数据仓库中。公司使用ETL的另一种方式是将信息永久移动到另一个应用程序。例如,新应用程序可能使用另一个数据库供应商,并且很可能使用非常不同的数据库模式。ETL可用于将数据转换为适合新应用程序使用的格式。一个例子是费用和成本回收系统(ECRS),如会计师事务所、咨询公司和律师事务所使用的系统。数据通常最终进入时间和计费系统,尽管一些企业也可能将原始数据用于向人力资源(人事部门)提供员工生产力报告或向设施管理部门提供设备使用报告。实际生活中的ETL周期典型的实际生活中的ETL周期包括以下执行步骤:周期启动构建参考数据抽取(从源中)验证转换(清理、应用业务规则、检查数据完整性、创建聚合或分解)暂存(如果使用,加载到暂存表中)审计报告(例如,关于业务规则的合规性。此外,在出现故障时,有助于诊断/修复)发布(到目标表)存档挑战ETL过程可能涉及相当大的复杂性,设计不当的ETL系统可能会出现严重的操作问题。

操作型系统中的数据值范围或数据质量可能超出设计人员在指定验证和转换规则时的预期。在数据分析期间对源进行数据剖析可以识别必须由转换规则规范管理的数据条件,从而对ETL过程中显式和隐式实施的验证规则进行修正。

数据仓库通常由各种不同格式和用途的数据源组装而成。因此,ETL是将所有数据聚集在一个标准、同类环境中的关键过程。

设计分析应确定ETL系统在其使用期限内的可扩展性——包括了解必须在服务级别协议内处理的数据量。从源系统抽取数据的可用时间可能会改变,这可能意味着必须在更短的时间内处理相同数量的数据。一些ETL系统必须扩展以处理数TB的数据,以更新拥有数十TB数据的数据仓库。数据量的增加可能需要能够从每日批处理扩展到多天微批处理,再到与消息队列集成或实时捕获变更数据以进行持续转换和更新的设计。性能ETL供应商使用具有多个CPU、多个硬盘、多个千兆网络连接和大量内存的强大服务器,对其记录系统进行每小时数TB(太字节)(或约每秒1GB)的基准测试。

在现实世界中,ETL过程最慢的部分通常发生在数据库加载阶段。数据库性能可能较慢,因为它们必须处理并发、完整性维护和索引。因此,为了提高性能,可以采用以下方法:●尽可能使用直接路径抽取方法或批量卸载(而不是查询数据库),以在高速抽取数据的同时减轻源系统的负载;●在数据库之外进行大部分转换处理;●尽可能进行批量加载操作。即便使用批量操作,数据库访问通常仍是ETL过程中的瓶颈。一些常用的提高性能的方法包括:●分区表(和索引):尽量使分区大小相似(注意可能导致分区倾斜的空值);●在加载前在ETL层进行所有验证:在加载期间禁用目标数据库表中的完整性检查;●在加载期间禁用目标数据库表中的触发器:将其效果作为单独步骤模拟;●在ETL层生成ID(而不是在数据库中);●在加载前删除(表或分区上的)索引,并在加载后重新创建;●尽可能使用并行批量加载——在表已分区或没有索引时效果良好(注意:尝试并行加载到同一表(分区)通常会导致锁定——如果不是在数据行上,就是在索引上);●如果存在插入、更新或删除的需求,在ETL层确定哪些行应以何种方式处理,然后在数据库中分别处理这三个操作;通常可以对插入进行批量加载,但更新和删除通常通过API(使用SQL)进行。可能需要权衡某些操作是在数据库内还是数据库外执行。例如,在数据库中使用distinct删除重复项可能较慢;因此,在数据库外执行更合理。另一方面,如果使用distinct显著(100倍)减少要抽取的行数,那么在卸载数据之前尽早在数据库中删除重复项是有意义的。ETL中常见的问题来源是ETL作业之间存在大量依赖关系。例如,作业“A”未完成时,作业“B”无法启动。通常可以通过在图表上可视化所有流程,并尝试减少图表,最大限度地利用并行性,并使连续处理的“链”尽可能短,来实现更好的性能。同样,对大表及其索引进行分区确实会有所帮助。另一个常见问题是,当数据分布在多个数据库中,并且在这些数据库中顺序进行处理时。有时可能会涉及数据库复制,这作为在数据库之间复制数据的一种方法,但这会显著减慢整个过程。常见的解决方案是将处理图表减少到仅三层:●源●中央ETL层●目标这种方法允许处理最大限度地利用并行性。例如,如果需要将数据加载到两个数据库中,可以并行运行加载操作(而不是先加载到第一个数据库,然后再复制到第二个数据库)。有时处理必须顺序进行。例如,在获取和验证主“事实”表的行之前,需要维度(参考)数据。

Unit4TextB参考译文Python编程语言Python是一种广泛使用的高级、通用、解释型、动态编程语言。其设计理念强调代码的可读性,与C++或Java等语言相比,Python的语法能让程序员用更少的代码行表达概念。该语言提供的结构有助于编写出简洁的小型和大型程序。Python支持多种编程范式,包括面向对象编程、命令式编程、函数式编程或过程式编程风格。它具有动态类型系统和自动内存管理功能,还拥有庞大且全面的标准库。Python解释器可用于多种操作系统,这使得Python代码能在各种各样的系统上运行。借助Py2exe或Pyinstaller等第三方工具,Python代码可以打包成独立的可执行程序,适用于一些最流行的操作系统。因此,基于Python的软件可以分发到这些环境中使用,无需安装Python解释器。1.特性与理念Python是一种多范式编程语言:全面支持面向对象编程和结构化编程,并且许多语言特性支持函数式编程和面向切面编程。通过扩展还支持许多其他范式,包括契约式设计和逻辑编程。Python并非将所有期望的功能都构建在语言核心中,而是被设计为具有高度可扩展性。Python还可以嵌入到需要可编程接口的现有应用程序中。2.语法与语义Python旨在成为一种可读性极强的语言。它的设计具有简洁的视觉布局,常常使用英文关键词,而其他语言则使用标点符号。此外,与C或Pascal相比,Python的语法例外和特殊情况更少。2.1缩进Python使用空白缩进而非花括号或关键字来界定代码块,这一特性也被称为“缩排规则”。在某些语句之后缩进增加;缩进减少则表示当前代码块结束。2.2语句与控制流Python的语句包括(但不限于):●赋值语句(符号“=”,即等号)。它的运作方式与传统命令式编程语言不同,这一基本机制(包括Python变量的特性)揭示了该语言的许多其他特性。例如,在C语言中赋值语句x=2,意思是“类型化的变量名x接收数值2的副本”。(右侧的)值被复制到为(左侧的)变量名分配的存储位置,该变量名是这个存储位置的符号地址。为变量分配的内存大小(可能相当大)取决于声明的类型。在Python赋值的最简单示例中,同样是x=2,意思是“(通用的)名称x接收对一个单独的、动态分配的数值(int类型)对象2的引用”。这被称为将名称绑定到对象。由于名称的存储位置并不包含所指的值,所以称其为变量并不恰当。名称随后可随时重新绑定到类型差异很大的对象,包括字符串、过程、带有数据和方法的复杂对象等。连续将相同的值赋给多个名称,例如x=2;y=2;z=2,结果是最多为三个名称和一个数值对象分配存储空间,这三个名称都绑定到该数值对象。由于名称是通用的引用持有者,所以为其关联固定的数据类型是不合理的。然而,在给定时间,一个名称将绑定到某个对象,该对象会有一个类型,因此Python具有动态类型。●if语句,它根据条件执行一段代码块,还可搭配else和elif(else-if的缩写)。●for语句,它对一个可迭代对象进行迭代,将每个元素捕获到一个局部变量中,供附属代码块使用。●while语句,只要其条件为真,就会执行一段代码块。●try语句,它允许捕获并处理其附属代码块中引发的异常,由except子句处理;它还确保无论代码块如何退出,finally块中的清理代码总会运行。●class语句,它执行一段代码块,并将其局部命名空间附加到一个类上,用于面向对象编程。●def语句,用于定义一个函数或方法。●with语句(从Python2.5开始),它将一个代码块封装在一个上下文管理器中(例如,在代码块运行前锁定,运行后解锁,或者打开一个文件然后关闭它),实现类似“资源获取即初始化”(RAII)的行为。●pass语句,用作空操作(NOP)。在语法上,创建空代码块时需要它。●assert语句,在调试期间用于检查应该适用的条件。●yield语句,从生成器函数返回一个值。从Python2.5开始,yield也是一个运算符。这种形式用于实现协程。●import语句,用于导入模块,其函数或变量可在当前程序中使用。●print语句在Python3中变为print()函数。2.3表达式一些Python表达式与C和Java等语言类似,而有些则不同:●加法、减法和乘法运算相同,但除法的行为有所不同。Python还添加了**运算符用于求幂运算。●从Python3.5开始,它直接支持使用@运算符进行矩阵乘法,而C和Java则将其作为库函数实现。早期版本的Python也使用方法而非中缀运算符。●在Python中,==通过值进行比较,而在Java中,对数值通过值进行比较,对对象通过引用进行比较。(在Java中,对象的值比较可使用equals()方法。)Python的is运算符可用于比较对象标识(通过引用进行比较)。在Python中,比较可以链式进行,例如a<=b<=c。●Python使用单词and、or、not作为其布尔运算符,而不是像Java和C那样使用符号&&、||、!。●Python有一种称为列表推导式的表达式类型。Python2.4将列表推导式扩展为一种更通用的表达式,称为生成器表达式。●匿名函数使用lambda表达式实现;然而,其局限性在于函数体只能是一个表达式。●Python中的条件表达式写为xifcelsey(操作数的顺序与许多其他语言中常见的c?x:y运算符不同)。●Python区分列表和元组。列表写为[1,2,3],是可变的,不能用作字典的键(在Python中,字典键必须是不可变的)。元组写为(1,2,3),是不可变的,因此可以用作字典的键,前提是元组的所有元素都是不可变的。在某些上下文中,元组周围的括号是可选的。元组可以出现在等号左侧;因此,像x,y=y,x这样的语句可用于交换两个变量。●Python有一个“字符串格式化”运算符%。其功能类似于C语言中的printf格式字符串。●Python有多种字符串文字:由单引号或双引号界定的字符串。与Unixshell、Perl及受Perl影响的语言不同,单引号和双引号的功能完全相同。这两种字符串都使用反斜杠(\)作为转义字符,并且不存在像"$spam"这样的隐式字符串插值。三引号字符串,以三个单引号或三个双引号开始和结束。它们可以跨多行,功能类似于shell、Perl和Ruby中的here文档。原始字符串变体,通过在字符串字面量前加上r来表示。不会解释任何转义序列;因此,在需要经常使用反斜杠文字的地方,如正则表达式和Windows风格的路径,原始字符串很有用。可与C#中的“@引用”作比较。●Python在列表上有数组索引和数组切片表达式,表示为a[key]、a[start:stop]或a[start:stop:step]。索引从0开始,负索引相对于末尾。切片从起始索引获取元素,直到但不包括结束索引。切片的第三个参数称为步长或跨度,允许跳过元素或反转元素顺序。切片索引可以省略,例如a[:]返回整个列表的副本。切片的每个元素都是浅拷贝。在Python中,严格区分表达式和语句,这与CommonLisp、Scheme或Ruby等语言不同。这导致一些功能出现重复。语句不能是表达式的一部分,因此列表推导式和其他推导式或lambda表达式(它们都是表达式)不能包含语句。一个典型的例子是,像a=1这样的赋值语句不能构成条件语句的条件表达式的一部分。这有一个优点,即避免了C语言中常见的错误,即在条件语句中误将赋值运算符=当作相等运算符==:if(c=1){...}是有效的C代码,但在Python中ifc=1:...会导致语法错误。2.4数学运算Python具有常见的C语言算术运算符(+、-、*、/、%)。它还有用于求幂的**运算符,例如5**3==125,9**0.5==3.0,并且在3.5版本中包含了新的矩阵乘法@运算符。Python提供了round函数,用于将浮点数四舍五入到最接近的整数。在处理舍入关系时,3之前的版本使用远离零的舍入方式:round(0.5)是1.0,round(-0.5)是-1.0。Python3使用向偶数舍入:round(1.5)是2,round(2.5)是2。Python允许使用多个相等关系的布尔表达式,其方式与数学中的常规用法一致。例如,表达式a<b<c用于测试a是否小于b且b是否小于c。而C派生语言对该表达式的解释不同:在C语言中,该表达式首先计算a<b,结果为0或1,然后将该结果与c进行比较。由于Python拥有丰富的数学库,它常被用作科学脚本语言,以辅助解决数值数据处理和操作等问题。3.库Python有一个庞大的标准库,这通常被认为是Python最大的优势之一,它提供了适用于许多任务的工具。对于面向互联网的应用程序,支持许多标准格式和协议(如MIME和HTTP)。还包括用于创建图形用户界面、连接关系数据库、生成伪随机数、进行任意精度小数运算、处理正则表达式以及进行单元测试的模块。运行Python或将其嵌入应用程序并不一定需要标准库。例如,Blender2.49省略了大部分标准库。截至2016年1月,Python软件包索引(Python第三方软件的官方存储库)包含超过72,000个软件包,提供了广泛的功能,包括:●图形用户界面、Web框架、多媒体、数据库、网络和通信●测试框架、自动化和网页抓取、文档工具、系统管理●科学计算、文本处理、图像处理4.开发环境大多数Python实现都可以作为命令行解释器,用户可以按顺序输入语句并立即获得结果(读取-求值-打印循环,即REPL)。简而言之,Python充当命令行界面或外壳。其他外壳在基本解释器的基础上增加了更多功能,包括IDLE和IPython。它们通常遵循Python外壳的视觉风格,但实现了自动补全、会话状态保留和语法高亮等功能。除了标准的桌面集成开发环境(PythonIDE)外,还有基于Web浏览器的IDE,如Sage(旨在开发与科学和数学相关的Python程序),以及基于浏览器的IDE和托管环境PythonAnywhere。

Unit5TextB参考译文结构化数据、半结构化数据与非结构化数据结构化数据结构化数据是指存在于记录或文件固定字段中的任何数据。这包括关系数据库和电子表格中包含的数据。1.1结构化数据的特点结构化数据首先依赖于创建数据模型,即一种关于将要记录的业务数据类型以及这些数据将如何存储、处理和访问的模型。这包括定义要存储的数据字段以及数据的存储方式:数据类型(数字、货币、字母、名称、日期、地址)以及对数据输入的任何限制(字符数量;限于某些特定词汇,如先生、女士或博士;男或女)。结构化数据具有易于录入、存储、查询和分析的优势。曾经,由于存储、内存和处理的高成本及性能限制,使用结构化数据的关系数据库和电子表格是有效管理数据的唯一方式。任何无法纳入严密组织结构的数据,都只能以纸质形式存放在文件柜中。1.2结构化数据的管理结构化数据通常使用结构化查询语言(SQL)进行管理。SQL是一种为在关系数据库管理系统中管理和查询数据而创建的编程语言。它最初由IBM在20世纪70年代初开发,后来由关系软件公司(现为甲骨文公司)进行商业化开发。

结构化数据相较于完全基于纸质的非结构化系统有了巨大改进,但现实生活并非总能完美地适配规整的框架。因此,结构化数据总是需要纸质或缩微胶片存储作为补充。随着技术性能的不断提升以及价格的下降,将非结构化和半结构化数据纳入计算系统成为可能。1.3结构化数据技术标准自1986年起,SQL成为美国国家标准协会的一项标准。它由信息技术标准国际委员会(INCITS)技术委员会DM32(数据管理与交换)负责管理。该委员会有两个任务组,一个负责数据库,另一个负责元数据。惠普、CA、IBM、微软、甲骨文、赛贝斯(思爱普)和Teradata等公司以及几个联邦政府机构都参与其中。委员会的项目文档都提供了每个项目的更多信息链接。1987年,SQL成为国际标准化组织(ISO)的标准。已发布的标准可从ANSI电子标准商店购买,分类为INCITS/ISO/IEC9075。半结构化数据半结构化数据是结构化数据的一种形式,它不符合与关系数据库或其他数据表形式相关的数据模型的正式结构,尽管如此,包含标记或其他标记来分离语义元素,并在数据中强制记录和字段的层次结构。因此,它也被称为自描述结构。

在半结构化数据中,属于同一类别的实体即使被归为一组,也可能具有不同的属性,且属性的顺序并不重要。

自互联网出现以来,半结构化数据日益增多,因为此时全文文档和数据库不再是唯一的数据形式,不同应用程序需要一种信息交换媒介。在面向对象数据库中,经常能发现半结构化数据。2.1半结构化数据的类型

2.1.1XML

XML、其他标记语言、电子邮件和电子数据交换(EDI)都是半结构化数据的形式。在XML之前创建,对象交换模型(OEM)作为一种自描述数据结构的方式。XML因利用简单对象访问协议(SOAP)原则开发的Web服务而得到普及。

这里描述为“半结构化”的某些类型的数据,尤其是XML,给人的印象是它们在功能层面无法像关系表和行那样具备严格的结构。实际上,将XML视为本质上是半结构化的(以前,它被称为“非结构化”)这一观点,限制了其在越来越多以数据为中心的应用中的使用。即使是通常被认为是半结构化典型代表的文档,也可以设计得几乎与数据库模式一样严谨,通过XML模式强制执行,并由商业和定制软件程序处理,同时不降低人类读者的易用性。

鉴于这一事实,XML可被称为具有“灵活结构”,既能实现以人类为中心的流程和层次结构,又具备高度严谨的元素结构和数据类型。2.1.2JSONJSON(JavaScript对象表示法)是一种开放标准格式,它使用人类可读的文本来传输由属性-值对组成的数据对象。它主要用于在服务器和Web应用程序之间传输数据,作为XML的替代方案。JSON因利用表述性状态转移(REST)原则开发的Web服务而受到欢迎。

出现了一类新型数据库,如MongoDB和Couchbase,它们以JSON格式原生存储数据,充分利用了半结构化数据架构的优势。2.2使用半结构化数据格式的优缺点

2.2.1优点程序员将应用程序中的对象持久化到数据库时,无需担心对象-关系阻抗不匹配问题,通常可通过轻量级库对对象进行序列化。对嵌套或分层数据的支持通常简化了表示实体之间复杂关系的数据模型。对对象列表的支持通过避免将列表杂乱地转换为关系数据模型,简化了数据模型。2.2.2缺点传统关系数据模型拥有流行且现成的查询语言SQL。容易出现“垃圾进,垃圾出”的情况;由于去除了数据模型的限制,运营数据应用程序所需的预先思考较少。非结构化数据非结构化数据(或非结构化信息)是指没有预定义数据模型或没有以预定义方式组织的信息。非结构化信息通常文本量较大,但也可能包含日期、数字和事实等数据。与存储在数据库字段形式或在文档中注释(语义标记)的数据相比,这会导致不规则性和模糊性,使得使用传统程序难以理解。

美林证券引用了一条经验法则,即所有潜在可用的商业信息中,约80-90%可能以非结构化形式产生。这条经验法则并非基于一手或任何定量研究,但仍被一些人接受。

背景商业智能领域最早的研究聚焦于非结构化文本数据,而非数值数据。早在1958年,像H.P.卢恩这样的计算机科学研究人员就特别关注非结构化文本的提取和分类。然而,直到世纪之交,技术才跟上研究兴趣的步伐。2004年,SAS研究所开发了SAS文本挖掘器,它使用奇异值分解(SVD)将超维文本空间降维,以便更高效地进行机器分析。机器文本分析引发的数学和技术进步促使许多企业开展应用研究,进而推动了情感分析、客户声音挖掘和呼叫中心优化等领域的发展。21世纪00年代后期大数据的出现,使得人们对非结构化数据分析在预测分析和根本原因分析等当代领域的应用兴趣大增。3.2术语问题

该术语不够精确,原因如下:1)结构虽未正式定义,但仍可隐含存在。2)具有某种形式结构的数据,如果其结构对当前处理任务无帮助,仍可能被归类为非结构化数据。3)非结构化信息可能具有一定结构(半结构化),甚至可能具有高度结构化,但结构方式可能是未预料到或未知的。处理非结构化数据数据挖掘、自然语言处理(NLP)和文本分析等技术提供了不同方法来发现此类信息中的模式或以其他方式解释这些信息。对文本进行结构化的常用技术通常涉及手动添加元数据标记或词性标注,以便进一步基于文本挖掘进行结构化处理。非结构化信息管理架构(UIMA)标准提供了一个通用框架,用于处理此类信息以提取含义并创建关于该信息的结构化数据。创建机器可处理结构的软件能够利用人类各种通信形式中存在的语言、听觉和视觉结构。例如,算法可以通过检查单词形态、句子语法以及其他小规模和大规模模式,从文本中推断出这种内在结构。然后,可以对非结构化信息进行丰富和标记,以解决模糊性问题,并使用基于相关性的技术来促进搜索和发现。“非结构化数据”的示例可能包括书籍、期刊、文档、元数据、健康记录、音频、视频、模拟数据、图像、文件以及非结构化文本,如电子邮件正文、网页或文字处理文档。虽然所传达的主要内容没有定义的结构,但它通常包装在对象(例如文件或文档)中,这些对象本身具有结构,因此是结构化和非结构化数据的混合体,但总体上仍被称为“非结构化数据”。例如,HTML网页有标记,但HTML标记通常仅用于呈现。它无法以支持对页面信息内容进行自动处理的方式捕获标记元素的含义或功能。XHTML标记允许对元素进行机器处理,尽管它通常不会捕获或传达标记术语的语义含义。由于非结构化数据通常出现在电子文档中,因此通常首选使用能够对整个文档进行分类的内容或文档管理系统,而不是来自文档内部的数据传输和操作。因此,文档管理提供了将结构传递到文档集合上的方法。搜索引擎已成为对此类数据(尤其是文本)进行索引和搜索的常用工具。

Unit6TextB参考译文云存储的工作原理

喜剧演员乔治・卡林有一段经典表演,他谈到人类似乎一生都在忙于积累“东西”。一旦积累了足够多的东西,就不得不找地方来存放。如果卡林现在要更新这段表演,他可以对计算机信息发表同样的看法。似乎每个拥有计算机的人都花大量时间获取数据,然后又试图找到存储数据的方法。

对于一些计算机用户来说,找到足够的存储空间来存放他们获取的所有数据是一个实实在在的挑战。有些人会购买更大的硬盘。另一些人则更喜欢使用如U盘或光盘之类的外部存储设备。心急的用户可能会删除整个文件夹的旧文件,只为给新信息腾出空间。但也有一些人选择顺应一种日益流行的趋势:云存储。

虽然云存储听起来似乎与天气系统和风暴有关,但实际上它指的是将数据保存到由第三方维护的异地存储系统中。你不是将信息存储在计算机硬盘或其他本地存储设备上,而是保存到远程数据库。互联网则在你的计算机和数据库之间建立连接。

从表面上看,云存储相比传统数据存储有几个优点。例如,如果你将数据存储在云存储系统中,只要在有网络连接的任何地方,你都能获取这些数据。你无需随身携带物理存储设备,也无需使用同一台计算机来保存和检索信息。借助合适的存储系统,你甚至可以让其他人访问这些数据,将个人项目转变为协作项目。云存储基础云存储系统有数百种之多。有些云存储系统有非常特定的用途,比如存储网络电子邮件或数码照片。其他的则可用于存储各种形式的数字数据。有些云存储系统规模较小,而有些规模大到实体设备能填满一整个仓库。容纳云存储系统的设施被称为数据中心。最基本的云存储系统只需一台连接到互联网的数据服务器。客户端(例如,订阅云存储服务的计算机用户)通过互联网将文件副本发送到数据服务器,数据服务器随后记录这些信息。当客户端想要检索信息时,他或她通过基于网络的接口访问数据服务器。然后,服务器要么将文件发送回客户端,要么允许客户端在服务器上访问和操作这些文件。云存储系统通常依赖数百台数据服务器。由于计算机偶尔需要维护或修理,将相同的信息存储在多台机器上就显得很重要。这被称为冗余。没有冗余,云存储系统就无法向客户保证他们能在任何时候访问自己的信息。大多数系统会将相同的数据存储在使用不同电源的服务器上。这样,即使一个电源出现故障,客户仍然可以访问他们的数据。并非所有云存储用户都担心存储空间不足。他们将云存储作为一种创建数据备份的方式。如果客户端的计算机系统出现问题,数据在异地依然能够保存。这是数字时代“不要把所有鸡蛋放在一个篮子里”的一种变体。云存储示例网络上有数百个云存储供应商,而且其数量似乎每天都在增加。不仅有众多公司竞相提供存储服务,而且每家公司为客户提供的存储空间似乎也在不断增加。你可能对几家云存储服务供应商很熟悉,尽管你可能并不以云存储的视角看待它们。以下是一些提供某种形式云存储服务的知名公司:●GoogleDocs允许用户将文档、电子表格和演示文稿上传到谷歌的数据服务器。用户可以使用谷歌的应用程序编辑文件。用户还可以发布文档,以便其他人阅读甚至编辑,这意味着GoogleDocs也是云计算的一个例子。●像Gmail、Hotmail和雅虎邮箱这样的网络电子邮件提供商将电子邮件存储在他们自己的服务器上。用户可以通过连接到互联网的计算机和其他设备访问他们的电子邮件。●像Flickr和Picasa这样的网站托管着数百万张数码照片。用户通过直接将照片上传到这些服务的服务器来创建在线相册。●YouTube托管着数百万用户上传的视频文件。●像StartLogic、Hostmonster和GoDaddy这样的网站托管公司为客户网站存储文件和数据。●像Facebook和MySpace这样的社交网站允许用户发布图片和其他内容。所有这些内容都存储在相应网站的服务器上。●像Xdrive、MediaMax和Strongspace这样的服务为任何类型的数字数据提供存储空间。上述一些服务是免费的。其他一些则针对一定数量的存储空间收取固定费用,还有一些根据客户需求采用浮动收费标准。一般来说,随着越来越多的公司进入该行业,在线存储的价格已经下降。甚至许多收取数字存储费用的公司也至少提供一定量的免费存储空间。云存储的担忧对于云存储,最大的两个担忧是可靠性和安全性。如果没有能够随时访问自己信息且他人无法获取的保证,客户不太可能将他们的数据托付给另一家公司。为了保护数据安全,大多数系统结合使用多种技术,包括:●加密,即使用复杂的算法对信息进行编码。要解码加密文件,用户需要加密密钥。虽然破解加密信息是有可能的,但大多数黑客无法获得解密信息所需的大量计算机处理能力。●身份验证过程,这要求用户创建用户名和密码。●授权操作——客户列出被授权访问存储在云系统上信息的人员。许多公司有多个级别的授权。例如,一线员工对存储在云系统上的数据访问权限可能非常有限,而人力资源主管则可能对文件有广泛的访问权限。即便有这些保护措施,许多人仍然担心存储在远程存储系统中的数据容易受到攻击。黑客总有可能找到电子后门并访问数据。黑客也可能试图窃取存储数据的物理设备。心怀不满的员工可能会使用其经过身份验证的用户名和密码来更改或破坏数据。云存储公司在安全措施上投入大量资金,以降低数据被盗或损坏的可能性。另一个重大担忧——可靠性,与安全性同样重要。不稳定的云存储系统是一种负担。没人愿意将数据保存到一个容易出故障的系统中,也没人愿意信任一家财务不稳定的公司。虽然大多数云存储系统试图通过冗余技术来解决这一担忧,但整个系统仍有可能崩溃,导致客户无法访问他们保存的数据。云存储公司的兴衰取决于其声誉。尽可能提供最安全、可靠的服务符合每家公司的最大利益。如果一家公司无法满足这些基本的客户期望,那它成功的机会就不大,因为市场上还有太多其他选择。

Unit7TextB参考译文数据备份在信息技术领域,备份或备份过程是指对计算机数据进行复制和存档,以便在数据丢失事件发生后能够恢复原始数据。其动词形式为“backup”(两个单词),而名词形式是“backup”。备份有两个截然不同的目的。首要目的是在数据因删除或损坏而丢失后恢复数据。备份的次要目的是根据用户定义的数据保留策略,从更早的时间点恢复数据,该策略通常在备份应用程序中配置,规定数据副本需保留的时长。尽管备份是灾难恢复的一种简单形式,且应成为任何灾难恢复计划的一部分,但备份本身不应被视为完整的灾难恢复计划。原因之一是,并非所有备份系统都能够仅通过从备份中恢复数据,就重构计算机系统或其他复杂配置,如计算机集群、活动目录服务器或数据库服务器。由于备份系统至少包含所有被认为值得保存的数据的一份副本,因此对数据存储空间的需求可能很大。组织这种存储空间并管理备份过程可能是一项复杂的任务。可以使用数据存储库模型为存储提供结构。如今,有许多不同类型的数据存储设备可用于进行备份。这些设备也有多种不同的排列方式,以提供地理冗余、数据安全性和可移植性。

在数据被发送到存储位置之前,需要对其进行选择、提取和处理。为了优化备份过程,已经开发出许多不同的技术。其中包括处理打开文件和实时数据源的优化,以及压缩、加密和重复数据删除等。每个备份方案都应试运行,以验证正在备份的数据的可靠性。认识到任何备份方案中涉及的局限性和人为因素是很重要的。数据的选择与提取一次成功的备份工作始于选择并提取连贯的数据单元。现代计算机系统上的大多数数据以离散单元(称为文件)的形式存储。这些文件被组织成文件系统。正在被积极更新的文件可被视为“实时”文件,对其进行备份是一项挑战。保存描述正在备份的计算机或文件系统的元数据也很有用。决定在任何特定时间备份哪些数据,这个过程比看起来要困难。如果备份过多冗余数据,数据存储库会过快被填满。而备份的数据量不足最终可能导致关键信息丢失。文件

1.1.1文件复制采用文件级备份方法时,复制文件是执行备份最简单且最常见的方式。所有备份软件和操作系统都包含执行此基本功能的方法。

1.1.2部分文件复制除了复制整个文件,还可以将备份限制为仅复制文件中在给定时间段内发生变化的块或字节。这种技术可以在备份介质上使用少得多的存储空间,但在恢复数据时需要较高的技术水平来重构文件。有些实现方式需要与源文件系统集成。

1.1.3已删除文件为防止意外恢复已被有意删除的文件,必须保留删除记录。文件系统

1.2.1文件系统转储除了复制文件系统内的文件,还可以在块级别对整个文件系统本身进行复制。这也称为原始分区备份,与磁盘映像相关。此过程通常涉及卸载文件系统并运行类似dd(Unix系统命令)的程序。由于磁盘是以顺序方式读取且使用大缓冲区,这种类型的备份可能比正常读取每个文件要快得多,尤其是当文件系统包含许多小文件、碎片化严重或几乎已满时。但由于这种方法也会读取不包含有用数据的空闲磁盘块,所以在文件系统几乎为空时,这种方法可能比常规读取慢。一些文件系统提供“dump”实用程序,它可以顺序读取磁盘以实现高性能,同时跳过未使用的部分。相应的恢复实用程序可以根据操作员的选择,有选择地恢复单个文件或整个卷。

1.2.2变化识别一些文件系统为每个文件设置了存档位,用于表明该文件最近是否被更改。一些备份软件会查看文件的日期,并将其与上次备份的日期进行比较,以确定文件是否发生了变化。

1.2.3版本控制文件系统版本控制文件系统会跟踪对文件的所有更改,并使这些更改对用户可用。通常,这允许用户访问文件从创建时间开始的任何先前版本。Linux系统的Wayback版本控制文件系统就是一个例子。实时数据如果在计算机系统运行时进行备份,文件处于打开状态以供读取或写入的可能性是真实存在的。如果文件处于打开状态,磁盘上的内容可能无法正确反映文件所有者的意图。对于各类数据库文件来说尤其如此。术语“模糊备份”可用于描述对实时数据的备份,这种备份看似正常运行,但并不代表任何单个时间点的数据状态。这是因为在备份开始到结束的时间段内,正在备份的数据发生了变化。特别是对于数据库而言,模糊备份毫无价值。

1.3.1快照备份快照是某些存储系统的即时功能,它呈现文件系统的副本,就好像在特定时间点被冻结了一样,通常通过写时复制机制实现。备份实时数据的一种有效方法是暂时暂停它们(例如关闭所有文件),拍摄快照,然后恢复实时操作。此时,可以通过常规方法备份快照。虽然快照对于查看文件系统在不同时间点的状态非常方便,但它本身很难说是一种有效的备份机制。

1.3.2打开文件备份许多备份软件包具备在备份操作中处理打开文件的能力。有些软件只是检查文件是否打开,若打开则稍后重试。文件锁定对于规范对打开文件的访问很有用。在尝试理解备份打开文件的逻辑时,必须考虑到备份过程可能需要几分钟才能备份像数据库这样的大文件。为了备份正在使用的文件,至关重要的是整个备份要代表文件在某一时刻的快照,而不是简单的通读复制。

1.3.3冷数据库备份在冷备份期间,数据库被关闭或锁定,用户无法访问。在备份过程中数据文件不会更改,因此当数据库恢复正常操作时,它处于一致状态。

1.3.4热数据库备份一些数据库管理系统提供一种方法,可以在数据库在线且可用(“热”状态)时生成数据库的备份映像。这通常包括数据文件的不一致映像以及在该过程运行时所做更改的日志。在恢复时,日志文件中的更改将被重新应用,以使数据库副本保持最新状态(即初始热备份结束时的时间点)。备份过程管理只要不断有新数据创建和更改,就需要频繁进行备份。从拥有一台计算机的个人到拥有数千台计算机系统的组织,都需要保护数据。规模可能差异很大,但目标和局限性本质上是相同的。无论规模大小,执行备份的人员都需要了解备份的成功率。目标

2.1.1恢复点目标(RPO)重启后的基础设施所反映的时间点。本质上,这是恢复后会回滚到的时间点。最理想的RPO是数据丢失事件发生前的那一刻。要实现更近的恢复点,需要增加源数据与备份存储库之间的同步频率。

2.1.2恢复时间目标(RTO)从灾难发生到业务功能恢复所经过的时间量。实施

2.2.1调度使用作业调度程序可以通过减少人为因素,极大地提高备份的可靠性和一致性。许多备份软件包都包含此功能。

2.2.2身份验证在日常操作过程中,执行备份的用户账户和/或系统代理需要在一定程度上进行身份验证。将所有数据从系统复制出来或复制到系统中的权限需要不受限制的访问。使用身份验证机制是防止备份方案被用于未经授权活动的好方法。

2.2.3信任链可移动存储介质是物理物品,必须仅由可信任的人员处理。建立可信任人员(和供应商)的信任链对于定义数据安全性至关重要。

Unit8TextB参考译文数据清洗数据清洗是指从记录集、表格或数据库中检测并纠正(或删除)损坏或不准确记录的过程。它涉及识别数据中不完整、不正确、不准确或不相关的部分,然后替换、修改或删除脏数据或粗糙数据。数据清洗可以通过数据整理工具交互式地进行,也可以通过脚本批处理。清洗后,数据集应与系统中的其他类似数据集保持一致。检测到或消除的不一致性可能最初是由用户输入错误、传输或存储过程中的损坏,或不同存储中类似实体的数据字典定义不同所导致的。数据清洗与数据验证不同,数据验证几乎总是意味着在数据输入时拒绝其进入系统,并且是在输入时执行,而不是针对批量数据。实际的数据清洗过程可能包括消除拼写错误,或根据已知的实体列表验证和纠正数值。验证可以是严格的(例如,拒绝任何没有有效邮政编码的地址),也可以是模糊的(例如,纠正与现有已知记录部分匹配的记录)。一些数据清洗解决方案会通过与经过验证的数据集进行交叉检查来清洗数据。一种常见的数据清洗做法是数据增强,即通过添加相关信息使数据更加完整。例如,为地址追加与之相关的任何电话号码。数据清洗还可能涉及数据协调和数据标准化等活动。例如,将缩写(如st、rd等)统一为完整的单词(如street、road等)。数据标准化是将参考数据集转换为新标准的一种方法,例如使用标准代码。1.动机从管理角度来看,不正确或不一致的数据可能会导致公共和私人层面的错误结论和错误投资方向。例如,政府可能希望分析人口普查数据,以决定哪些地区需要在基础设施和服务方面进一步投入和投资。在这种情况下,获取可靠的数据以避免错误的财政决策至关重要。在商业领域,不正确的数据可能代价高昂。许多公司使用客户信息数据库来记录诸如联系信息、地址和偏好等数据。例如,如果地址不一致,公司将承担重新发送邮件的成本,甚至可能失去客户。法务会计和欺诈调查行业在准备数据时会使用数据清洗,通常在将数据发送到数据仓库进行进一步调查之前进行。有一些可用的软件包,使你可以在将地址数据输入系统时对其进行清洗。这通常通过应用程序编程接口(API)来完成。2.数据质量高质量的数据需要通过一系列质量标准。这些标准包括:2.1有效性衡量数据符合已定义的业务规则或约束的程度。当使用现代数据库技术设计数据采集系统时,有效性相对容易确保:无效数据主要出现在遗留环境中(软件中未实施约束),或者使用了不适当的数据采集技术(例如,电子表格,如果不使用单元格验证,很难限制用户在单元格中输入的内容)。数据约束分为以下几类:●数据类型约束:例如,特定列中的值必须是特定的数据类型,如布尔型、数值型(整数或实数)、日期等。●范围约束:通常,数字或日期应落在一定范围内,即它们有最小和/或最大允许值。●强制约束:某些列不能为空。●唯一约束:一个字段或字段组合在整个数据集中必须是唯一的。例如,没有两个人可以有相同的社会安全号码。●集合成员约束:列中的值来自一组离散的值或代码。例如,一个人的性别可能是女、男或未知(未记录)。●外键约束:这是集合成员约束的更一般情况。一列中的值集在另一个包含唯一值的表的列中定义。例如,在美国纳税人数据库中,“州”列必须属于美国定义的州或地区之一:允许的州/地区集记录在单独的“州”表中。“外键”一词源自关系数据库术语。●正则表达式模式:偶尔,文本字段需要通过这种方式进行验证。例如,电话号码可能需要具有(999)999-9999的模式。●跨字段验证:利用多个字段的某些条件必须成立。例如,在检验医学中,白细胞分类计数各成分的总和必须等于100(因为它们都是百分比)。在医院数据库中,患者的出院日期不能早于入院日期。2.2准确性衡量数据与标准或真实值的符合程度。一般情况下,通过数据清洗很难实现准确性,因为这需要访问包含真实值的外部数据源:这种“黄金标准”数据通常不可用。在某些清洗场景中,特别是在客户联系数据方面,通过使用将邮政编码与地理位置(城市和州)匹配的外部数据库,并帮助验证这些邮政编码内的街道地址是否实际存在,已经实现了准确性。2.3完整性衡量所有必需的测量值已知的程度。使用数据清洗方法几乎不可能解决不完整性问题:无法推断在最初记录相关数据时未捕获的事实。在某些情况下,例如访谈数据,可能可以通过追溯到原始数据源(即重新访谈受访者)来解决不完整性问题,但即使这样也不能保证成功,因为存在回忆问题。例如,在收集食品消费数据的访谈中,不太可能有人能准确记得六个月前吃了什么。对于坚持某些列不能为空的系统,可以通过指定一个表示“未知”或“缺失”的值来解决这个问题,但提供默认值并不意味着数据已完整。2.4一致性衡量一组测量值在各个系统中的等效程度。当数据集中的两个数据项相互矛盾时,就会出现不一致情况。例如,在两个不同的系统中记录了同一客户的两个不同的当前地址,而其中只有一个可能是正确的。不一定能解决不一致问题:这需要多种策略,例如,确定哪些数据记录的时间更近,哪个数据源可能最可靠(后一种知识可能特定于某个组织),或者简单地通过测试两个数据项来找出真相(例如,给客户打电话)。2.5统一性衡量一组数据测量值在所有系统中使用相同度量单位的程度。在从不同地区汇总的数据集里,重量可能以磅或千克记录,必须使用算术变换将其转换为单一度量。“完整性”一词涵盖了准确性、一致性和验证的某些方面,但在数据清洗环境中很少单独使用,因为它不够具体。例如,“参照完整性”是一个术语,用于指代上述对外键约束的强制实施。3.流程3.1数据审计使用统计和数据库方法对数据进行审计,以检测异常和矛盾:这最终会表明异常的特征及其位置。一些商业软件包允许您指定各种约束(使用符合标准编程语言语法的语法,例如JavaScript或VisualBasic),然后生成代码来检查数据是否违反这些约束。对于无法访问高端清洗软件的用户,像MicrosoftAccess或FileMakerPro这样的微机数据库软件包也允许您逐个约束地进行此类检查,在许多情况下,几乎不需要编程即可交互式完成。3.2工作流规范异常的检测和消除是通过对数据进行一系列称为工作流的操作来完成的。它是在数据审计过程之后指定的,对于实现高质量数据的最终产品至关重要。为了实现合适的工作流,必须仔细考虑数据中异常和错误的原因。3.3工作流执行在这个阶段,工作流在其规范完成并验证其正确性后执行。即使对于大型数据集,工作流的实现也应该高效,这不可避免地带来了权衡,因为数据清洗操作的执行在计算上可能成本高昂。3.4后处理与控制执行清洗工作流后,检查结果以验证其正确性。如果可能,手动纠正工作流执行过程中无法纠正的数据。结果是数据清洗过程中的一个新循环,再次对数据进行审计,以便指定额外的工作流,通过自动处理进一步清洗数据。高质量的源数据与“数据质量文化”相关,必须从组织高层发起。这不仅仅是在输入屏幕上实施严格的验证检查的问题,因为无论这些检查多么严格,用户往往仍能绕过它们。对于希望提高数据质量的组织,有一个九步指南:●宣布对数据质量文化的高层承诺●在执行层面推动流程再造●改善数据输入环境●改进应用程序集成●改变流程运作方式●促进端到端团队意识●促进部门间合作●公开表彰数据质量卓越表现●持续衡量和改进数据质量3.5解析解析器决定一串数据在允许的数据规范内是否可接受。这与解析器处理语法和语言的方式类似。3.6数据转换数据转换允许将数据从给定格式映射到相应应用程序期望的格式。这包括值转换或翻译函数,以及将数值规范化以符合最小和最大值。3.7重复数据消除重复数据检测需要一种算法来确定数据是否包含同一实体的重复表示。通常,数据会按某个键进行排序,这样可以使重复条目更靠近,以便更快识别。3.8统计方法通过使用均值、标准差、范围或聚类算法等数值分析数据,专家可以发现意外的、因而可能是错误的值。尽管由于不知道真实值,纠正此类数据很困难,但可以通过将值设置为平均值或其他统计值来解决。统计方法还可用于处理缺失值,缺失值可以用一个或多个合理的值替换,这些值通常通过广泛的数据增强算法获得。4.系统该系统的主要任务是在修复脏数据和使数据尽可能接近源生产系统的原始数据之间找到合适的平衡。这对提取、转换、加载架构师来说是一个挑战。该系统应提供一种架构,能够清洗数据、记录质量事件,并在数据仓库中测量/控制数据质量。一个好的开端是进行全面的数据剖析分析,这将有助于确定数据清洗系统所需的复杂程度,并了解源系统中当前的数据质量。5.质量筛选数据清洗系统的一部分是一组称为质量筛选的诊断过滤器。质量筛选分为三类:●列筛选:测试单个列,例如检查意外值,如NULL值;应该是数值但为非数值的值;超出范围的值等。●结构筛选:这些用于测试同一表或不同表中列之间(通常是外键/主键)不同关系的完整性。它们还用于测试一组列是否根据其应遵循的某些结构实现了有效的定义。●业务规则筛选:这是三种测试中最复杂的一种。它们测试数据(可能跨多个表)是否遵循特定的业务规则。例如,如果一个客户被标记为某一类型的客户,则应遵循定义该类型客户的业务规则。当质量筛选记录到错误时,它可以停止数据流过程,将错误数据发送到目标系统之外的其他地方,或者标记数据。后一种选择被认为是最佳解决方案,因为第一种选择要求每次出现问题时都要人手动处理,而第二种选择意味着目标系统中缺少数据(完整性问题),并且通常不清楚这些数据应该如何处理。6.对现有工具和流程的批评主要原因如下:●项目成本:成本通常高达数十万美元。●时间:缺乏足够的时间来处理大规模数据清洗软件。●安全性:对信息共享、授予应用程序跨系统访问权限以及对遗留系统的影响存在担忧。7.错误事件模式错误事件模式保存质量筛选抛出的所有错误事件的记录。它由一个错误事件事实表和三个维度表的外键组成,这三个维度表分别代表日期(何时)、批处理作业(何地)和筛选器(哪个产生错误)。它还包含错误确切发生的时间和错误严重程度的信息。此外,还有一个错误事件详细信息事实表,其中包含一个指向主表的外键,其中包含关于错误发生的表、记录和字段以及错误条件的详细信息。8.挑战与问题8.1错误纠正与信息丢失数据清洗中最具挑战性的问题仍然是纠正值以消除重复项和无效条目。在许多情况下,关于此类异常的可用信息有限,不足以确定必要的转换或纠正,因此删除此类条目成为主要解决方案。然而,数据删除会导致信息丢失;如果删除大量数据,这种损失可能会特别严重。8.2清洗后数据的维护数据清洗是一个昂贵且耗时的过程。因此,在执行数据清洗并获得无错误的数据集合后,人们希望在数据集合中的某些值发生变化后,避免对整个数据进行重新清洗。该过程应仅对已更改的值重复进行,这意味着需要保留清洗谱系,这需要高效的数据收集和管理技术。8.3虚拟集成环境中的数据清洗在像IBM的DiscoveryLink这样的虚拟集成源中,每次访问数据时都必须进行数据清洗,这大大增加了响应时间并降低了效率。8.4数据清洗框架在许多情况下,不可能事先推导出一个完整的数据清洗图来指导这个过程。这使得数据清洗成为一个涉及大量探索和交互的迭代过程,除了数据审计之外,可能还需要一个以错误检测和消除方法集合形式的框架。这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论