确定数据解决方案的需要
现在,数据更容易收集,托管成本更低,几乎所有企业都可以访问数据。 数据解决方案包括可便于重要信息的收集、分析和存储的软件技术和平台。 每个企业都希望增加收入并获得更大的利润。 在这个竞争激烈的市场中,数据是宝贵的资产。 经过正确分析后,数据可提供丰富的有用信息并有助于制定合理的关键业务决策。
什么是数据?
数据是事实的集合,例如在决策制定过程中使用的数字、说明和观察结果。 可以将数据归为结构化数据、半结构化数据或非结构化数据。
结构化数据通常是由数据库中的行和列表示的表格数据。 以这种形式保存表的数据库称为关系数据库(数学术语“关系”指一组保存为表的有组织的数据)。 表中的每一行都具有相同的列集。 下图展示了一个示例,其中显示了电子商务数据库中的两个表。 第一个表包含组织的客户详细信息,第二个表包含有关组织所销售产品的信息。
半结构化数据是指不在关系数据库中保存,但仍具有某种结构的信息。 示例包括以 JavaScript 对象表示法 (JSON) 格式保存的文档。 下面的示例显示了两个表示客户信息的文档。 两个客户文档中的每个文档都有含姓名和地址的的子文档,但不同客户在这些子文档中的字段有所不同。
## Document 1 ##
{
"customerID": "103248",
"name":
{
"first": "AAA",
"last": "BBB"
},
"address":
{
"street": "Main Street",
"number": "101",
"city": "Acity",
"state": "NY"
},
"ccOnFile": "yes",
"firstOrder": "02/28/2003"
}
## Document 2 ##
{
"customerID": "103249",
"name":
{
"title": "Mr",
"forename": "AAA",
"lastname": "BBB"
},
"address":
{
"street": "Another Street",
"number": "202",
"city": "Bcity",
"county": "Gloucestershire",
"country-region": "UK"
},
"ccOnFile": "yes"
}
还有其他类型的半结构化数据。 示例包括键值存储和图形数据库。
键值存储类似于关系表,只不过每一行可以有任意数量的列。 下图显示了键值数据的示例。
可以使用图形数据库来存储和查询有关复杂关系的信息。 图形包含节点(有关对象的信息)和边缘(有关对象之间的关系的信息)。 下图显示了在图形数据库中组织数据结构的示例。
并非所有数据都是结构化或半结构化的。 例如,音频和视频文件以及二进制数据文件可能没有特定的结构。 它们称为非未结构化数据。
如何在云计算中定义、存储和访问数据?
根据结构化、半结构化或非结构化数据的类型,数据的存储方式将有所不同。 结构化数据通常存储在关系数据库中,如 SQL Server 或 Azure SQL 数据库。 Azure SQL 数据库是在云中运行的服务。 可以使用它来创建和访问关系表。 此服务由 Azure 管理和运行,你只需指定要创建的是数据库服务器。 设置数据库服务器的操作称为预配。
还可以在 Azure 中预配其他服务。 例如,如果要存储非结构化数据(如视频或音频文件),则可以使用 Azure Blob 存储(Blob 是“二进制大型对象”的首字母缩写词)。 如果要存储半结构化数据(如文档),则可以使用诸如 Azure Cosmos DB 这样的服务。
预配服务后,需要配置服务,以便用户可以访问数据。 通常可以定义多个级别的访问权限。
-
只读访问权限意味着用户可以读取数据,但不能修改现有数据或创建新数据。
-
读/写访问权限允许用户查看和修改现有数据。
-
所有者权限提供对数据的完全访问权限,包括管理安全性,如添加新用户和删除对现有用户的访问权限。
还可以定义优先允许哪些用户访问数据。 如果数据是敏感数据(或机密数据),则可能需要将访问权限限制到几个选定用户。
在此示例中,你是一个大型使用者组织的数据分析人员,你决定对整个管理团队授予只读访问权限。 管理团队无需修改数据,但拥有可查看任何数据的安全许可。 销售人员用于记录销售的应用具有读写权限。 个人用户无需直接访问系统,而是通过其应用进行编辑。 数据分析人员和数据管理员将拥有所有者权限,因为他们需要管理其他用户的访问并管理系统。
介绍数据处理解决方案
数据处理解决方案通常分为两大类:分析系统和事务处理系统。
什么是事务系统?
事务系统通常是大多数人所认为的业务计算的主要功能。 事务系统记录事务。 事务可以是财务,如银行系统中帐户之间的资金流动,也可能是零售系统的一部分,跟踪客户对货物和服务的付款。 可将事务视为小型、离散的工作单元。
事务系统通常是大容量的,有时在一天内会处理数百万个事务。 正在处理的数据必须能够非常快速地进行访问。 事务系统执行的工作通常称为联机事务处理 (OLTP)。
为了支持快速处理,事务系统中的数据通常拆分为小单位。 例如,如果使用的是关系系统,则事务中涉及的每个表只包含执行事务任务所需的列。 在银行转账示例中,保存帐户中资金信息的表可能只包含帐号和当前余额。 转账操作中未涉及的其他表保存了客户的姓名和地址等信息,以及帐户历史记录。 像这样将表拆分为多个单独的列组被称为规范化。 下一个单元将更详细地讨论此过程。 规范化可以使事务系统缓存大部分在内存中执行事务时所需的信息,并提高吞吐量。
虽然规范化可实现事务的快速吞吐量,但它也可能使查询更复杂。 涉及规范化表的查询经常需要将多个表中保存的数据重新联接在一起。 这会使可能需要检查数据的业务用户感到困难。
什么是分析系统?
与设计为支持 OLTP 的系统相比,分析系统的设计目的是为了支持需要查询数据和需要在宏观层面了解数据库中保存的信息的业务用户,。
分析系统涉及捕获原始数据,并使用它来生成见解。 组织可以使用这些见解做出业务决策。 例如,有关制造公司的详细见解可能表明存在某些趋势,这使他们能够确定要侧重的产品线,以提高盈利能力。
大多数分析数据处理系统都需要执行类似的任务:数据引入、数据转换、数据查询和数据可视化。 下图展示了典型的数据处理系统中的组件。
-
数据引入:数据引入是捕获原始数据的过程。 可以从测量环境信息(例如温度和压力)的控制设备、记录客户在超市中购买的商品的销售点设备、记录银行帐户之间资金流动的财务数据以及来自气象站的天气数据中获取此数据。 其中一些数据可能来自单独的 OLTP 系统。 若要处理和分析此数据,必须首先将数据存储在某种类型的存储库中。 存储库可以是文件存储、文档数据库,甚至是关系数据库。
-
数据转换/数据处理:原始数据的格式可能不适用于查询。 数据可能包含应筛选掉的异常,或者可能需要以某种方式进行转换。 例如,可能需要将日期或地址转换为标准格式。 将数据引入到数据存储库后,你可能需要执行一些清理操作,删除任何有问题或无效的数据,或执行一些聚合,如计算利润、利润率和其他关键绩效指标 (KPI)。 KPI 是衡量业务增长和绩效的方式。
-
数据查询:引入数据并对其进行转换后,可以通过查询数据对其进行分析。 你可能正在寻找趋势,或试图确定系统中出现问题的原因。 许多数据库管理系统提供的工具可用于对数据执行临时查询并生成定期报表。
-
数据可视化:表中的数据(例如行和列)或文档中数据的呈现并非总是直观的。 通常可利用数据可视化作为检查数据的工具。 可以生成图表,如条形图、折线图,在地理地图上绘制结果,生成饼图或说明数据随时间的变化。 Microsoft 提供可视化工具(如 Power BI)来提供数据的丰富图形表示形式。