数据库架构
- 56 次浏览
【数据库】机器学习和人工智能的 10 个最佳数据库
数据库是训练各种机器学习和人工智能 (AI) 模型的基础。在过去的二十年里,市场上可用的数据集激增,这使得为您的任务选择合适的数据集变得更具挑战性。同时,更多的数据集意味着您可以找到最适合您所针对的任何应用程序的数据集。
以下是机器学习和人工智能的 10 个最佳数据库列表:
1. MySQL
MySQL 由 Oracle 提供支持,是市场上最受欢迎的数据库之一。它创建于 1995 年,一直是 Facebook、Twitter、Uber 和 Youtube 等大公司使用的顶级开源关系数据库管理系统 (RDBMS) 之一。
是什么导致它的人气上升?一方面,MySQL 提供企业级手势和免费、灵活的社区许可。它还具有升级的商业许可证,并专注于稳健性和稳定性。
以下是 MySQL 的一些主要优点:
- 保护敏感数据的数据安全层。
- 有大量数据时的可扩展性。
- 具有两种独立许可模型的开源 RDBMS。
- 通过 MySQL 集群的多主 ACID 事务。
- 支持结构化数据 (SQL) 和半结构化数据 (JSON)。
2. Cassandra
另一个顶级机器学习和 AI 数据库是 Apache Cassandra,它是一个开源且高度可扩展的 NoSQL 数据库管理系统。 Apache Cassandra 旨在以极快的速度处理大量数据。该数据库也被 Instagram、Netflix 和 Reddit 等知名人士使用。
以下是 Apache Cassandra 的一些主要优势:
- 处理海量数据。
- 具有自动分片功能的最具可扩展性的数据库之一。
- 提供线性水平缩放。
- 具有多数据中心复制和自动复制的分散式数据库。
- 通过自动将数据复制到多个节点来实现容错。
3. PostgreSQL
PostgreSQL 是顶级的开源对象关系数据库系统之一。它扩展了 SQL 语言并将其与各种功能相结合,以扩展和安全地存储高度复杂的数据工作负载。 PostgreSQL 对于希望构建应用程序的开发人员或希望保护数据完整性的管理员特别有用。它还有助于创建容错环境。
以下是 PostgreSQL 的一些主要优点:
- 具有强大的访问控制系统的高度安全性。
- 提供 ACID 交易保证。
- PostgreSQL 扩展 Citus Data 提供分布式 SQL 功能。
- 高级索引,例如部分索引和布隆过滤器。
- 支持结构化数据(SQL)、半结构化数据(JSON、XML)、键值和空间数据。
4.Couchbase
Couchbase 是一个以文档为中心的参与数据库,也是开源和分布式的。该服务器可在任何云中提供出色的性能,并通过其各种功能支持应用程序,例如工作负载隔离、内存优先架构和地理分布式部署。它能够保持 99.999 的可用性和亚毫秒级的延迟。
Couchbase 的主要优势之一是 Couchbase 数据平台提供了跨各种编程语言、连接器和工具的简单而强大的应用程序开发 API。这使得构建应用程序变得容易,同时也加快了上市时间。
以下是 Couchbase 的一些主要优点:
- 包括内置的大数据和 SQL 集成,允许用户利用处理能力、工具和数据。
- 支持所有云平台。
- 内存优先架构可大规模实现快速且一致的体验。
- 提供整个堆栈的安全性。
5. Elasticsearch
另一个顶级数据库选择之一,Elasticsearch 是基于 Apache Lucene 构建的。它是一个分布式、开源的搜索和分析引擎,支持所有类型的数据,例如数字、文本、地理空间、结构化和非结构化数据。
Elasticsearch 属于 Elastic Stack,其中包括用于丰富、数据摄取、存储、可视化和分析的各种开源工具。
以下是 Elasticsearch 的一些主要优势:
- 许多内置功能,例如用于存储和搜索数据的数据汇总和索引生命周期管理。
- 在全文搜索方面非常有效。
- 对于基础设施监控、安全分析和其他与安全相关的任务很有用。
- 通过自动分片进行水平缩放。
- 更大的 Elastic Stack 的一部分,包括 Elasticsearch、Kibana、Logstash 和 Beats。
6.Redis
Redis 是市场上最受欢迎的选择之一。它是一种开源的内存数据结构,用作数据库、消息代理和缓存。 Redis 吸引客户的主要功能之一是它支持各种数据结构,如字符串、排序集、位图、地理空间索引、超日志等。 Redis 还具有 Lua 脚本、LRU 驱逐、内置复制、事务和各种级别的磁盘持久性。
以下是 Redis 的一些主要优点:
- 自动故障转移过程。
- Redis-ML,这是一个将各种机器学习模型实现为内置 Redis 数据类型的模块。
- 各种数据结构,如字符串、列表、集合、哈希、位图、流等。
- 使用更少和更简单的行轻松编写复杂代码。
7. DynamoDB
作为一个完全托管的多区域数据库,Amazon DynamoDB 具有内置的安全性、内存缓存、备份和还原功能。该数据库的受欢迎程度可以从使用它的主要公司的数量中看出,例如 AirBnB、丰田和三星。它执行静态加密,以降低保护敏感数据通常所需的复杂性。
DynamoDB 的两个主要优势是其可扩展性和数据复制能力。借助虚拟无限存储,您可以根据个性化需求存储无限量的数据。当涉及到数据项时,它们都存储在 SSD 上。复制在一个区域的不同可用区内部进行管理,但也可以跨多个区域提供。
以下是 DynamoDB 的一些主要优势:
- 通过在多个服务器上扩展单个表来水平扩展。
- 通过可定制的流量过滤、法规遵从自动化、全面的数据库威胁检测等实现高度安全。
- 一种完全托管的服务,不需要硬件或软件供应、软件修补、分布式数据库集群或设置和配置。
8. 机器学习数据库
机器学习数据库(MLDB)是一个开源系统,旨在处理大数据机器学习任务。它可以通过机器学习模型的训练用于数据收集和存储,或者部署实时预测端点。 MLDB 是更容易使用的数据集之一,因为它提供了 SQL SELECT 语句的全面实现。这意味着它将数据集视为表格,使已经精通现有关系数据库管理系统 (RDBMS) 的数据分析师更容易学习和使用。
以下是 MLDB 的一些主要优点:
- 使用 SQL 作为一种机制来查询存储在数据库中的数据。
- MLDB 中的训练、建模和发现过程具有巨大的处理能力。
- 支持垂直缩放,效率更高。
9.微软SQL服务器
Microsoft SQL Server 是用 C 和 C++ 编写的关系数据库管理系统 (RDBMS)。它对于通过跨关系、非关系、结构化和非结构化数据进行查询来从所有数据中提取洞察力特别有用。它是过去 30 年来 Windows 系统中最受欢迎的商业中端数据库,也是目前领先的商业数据库系统之一。
以下是 Microsoft SQL Server 的一些主要优势:
- 提供 ACID 交易保证。
- 通过 T-SQL、R、Python、Java 和 .NET 语言支持服务器端脚本。
- 支持结构化、半结构化和空间数据的多模型数据库。
10. MongoDB
我们名单上的最后一个数据库是 MongoDB,它于 2009 年作为第一个文档数据库发布。它是专门为处理文档数据而设计的,并且在过去几年中得到了极大的改进。 MongoDB 目前是市场上主要的文档数据库和领先的 NoSQL 数据库。它为在数据库中保存半结构化数据的挑战提供了解决方案。
以下是 MongoDB 的一些主要优点:
- 通过自动分片进行水平缩放。
- 通过主从节点的内置复制。
- 许可证包括社区服务器、企业服务器和 Atlas。
- 具有快照隔离的分布式多文档 ACID 事务。
- 基于 MongoDB 构建的全文搜索引擎和数据湖
原文:https://www.unite.ai/10-best-databases-for-machine-learning-ai/
本文:https://jiagoushi.pro/10-best-databases-machine-learning-ai
- 719 次浏览
【数据库架构】OLTP 和 OLAP 的区别
OLTP 和 OLAP 都是在线处理系统。 OLTP 是一种事务处理,而 OLAP 是一种分析处理系统。 OLTP 是一个管理互联网上面向交易的应用程序的系统,例如 ATM。 OLAP 是一个在线系统,可以报告财务报告、预测等多维分析查询。
OLTP 和 OLAP 的区别
OLTP 和 OLAP 都是在线处理系统。 OLTP 是一种事务处理,而 OLAP 是一种分析处理系统。 OLTP 是一个管理互联网上面向交易的应用程序的系统,例如 ATM。 OLAP 是一个在线系统,可以报告财务报告、预测等多维分析查询。
OLTP 和 OLAP 的基本区别在于 OLTP 是一个在线数据库修改系统,而 OLAP 是一个在线数据库查询回答系统。
OLTP 和 OLAP 之间还有一些其他差异,我已经使用下面显示的比较图表进行了解释。
内容:OLTP 与 OLAP
- 比较表
- 定义
- 主要区别
- 结论
比较表
基础比较 | OLTP | OLAP |
---|---|---|
Basic | It is an online transactional system and manages database modification. | It is an online data retrieving and data analysis system. |
Focus | Insert, Update, Delete information from the database. | Extract data for analyzing that helps in decision making. |
Data | OLTP and its transactions are the original source of data. | Different OLTPs database becomes the source of data for OLAP. |
Transaction | OLTP has short transactions. | OLAP has long transactions. |
Time | The processing time of a transaction is comparatively less in OLTP. | The processing time of a transaction is comparatively more in OLAP. |
Queries | Simpler queries. | Complex queries. |
Normalization | OLTP 数据库中的表是规范化的(3NF)。 | OLAP 数据库中的表未规范化。 |
Integrity | OLTP 数据库必须维护数据完整性约束 | OLAP 数据库不会被频繁修改。 因此,数据完整性不受影响。 |
OLTP的定义
OLTP 是一个在线事务处理系统。 OLTP 系统的主要重点是记录当前事务的更新、插入和删除。 OLTP 查询更简单、更短,因此需要更少的处理时间,也需要更少的空间。
OLTP 数据库经常更新。可能会发生 OLTP 中的事务在中间失败,这可能会影响数据完整性。因此,它必须特别注意数据完整性。 OLTP 数据库具有规范化表 (3NF)。
OLTP 系统的最佳示例是 ATM,我们在其中使用短交易来修改我们帐户的状态。 OLTP 系统成为 OLAP 的数据源。
OLAP的定义
OLAP 是一个在线分析处理系统。 OLAP 数据库存储 OLTP 输入的历史数据。它允许用户查看多维数据的不同摘要。使用 OLAP,您可以从大型数据库中提取信息并对其进行分析以制定决策。
OLAP 还允许用户执行复杂的查询以提取多维数据。在 OLTP 中,即使事务在中间失败,也不会损害数据完整性,因为用户使用 OLAP 系统从大型数据库中检索数据进行分析。只需用户再次触发查询并提取数据进行分析。
OLAP 中的事务较长,因此处理时间相对较长,需要较大的空间。与 OLTP 相比,OLAP 中的事务频率较低。甚至 OLAP 数据库中的表也可能没有被规范化。 OLAP 的示例是查看财务报告或预算、营销管理、销售报告等。
OLTP 和 OLAP 之间的主要区别
- OLTP和OLAP的区别在于OLTP是在线交易系统,OLAP是在线数据检索和分析系统。
- 在线事务数据成为 OLTP 的数据来源。但是,不同的 OLTP 数据库成为 OLAP 的数据源。
- OLTP 的主要操作是插入、更新和删除,而 OLAP 的主要操作是提取多维数据进行分析。
- OLTP 具有短而频繁的事务,而 OLAP 具有长且不频繁的事务。
- 与 OLTP 相比,OLAP 事务的处理时间更长。
- OLAP 查询相对于 OLTP 更为复杂。
- OLTP 数据库中的表必须进行规范化(3NF),而 OLAP 数据库中的表可能未进行规范化。
- 由于 OLTP 经常在数据库中执行事务,如果任何事务在中间失败,可能会损害数据的完整性,因此必须注意数据的完整性。虽然在 OLAP 中事务的频率较低,但它不会过多地担心数据完整性。
结论
OLTP是一个在线数据修改系统,而OLAP是一个在线历史多维数据检索系统,它检索数据进行分析,有助于决策。使用哪一个取决于用户的要求,两者都适用于不同的目的。
原文:https://techdifferences.com/difference-between-oltp-and-olap.html
- 91 次浏览
【数据库架构】OLTP 和 OLAP:实际比较
OLTP 和 OLAP:这两个术语看起来相似,但指的是不同类型的系统。在线事务处理 (OLTP) 实时捕获、存储和处理来自事务的数据。在线分析处理 (OLAP) 使用复杂的查询来分析来自 OLTP 系统的汇总历史数据。
什么是 OLTP?
OLTP 系统在数据库中捕获和维护事务数据。每个事务都涉及由多个字段或列组成的单个数据库记录。示例包括银行和信用卡活动或零售结账扫描。
在 OLTP 中,重点是快速处理,因为 OLTP 数据库经常被读取、写入和更新。如果事务失败,内置系统逻辑可确保数据完整性。
什么是 OLAP?
OLAP 对从 OLTP 数据库和其他来源聚合而成的大量历史数据应用复杂查询,用于数据挖掘、分析和商业智能项目。在 OLAP 中,重点是对这些复杂查询的响应时间。每个查询都涉及从多行聚合的一列或多列数据。示例包括同比财务业绩或营销线索生成趋势。 OLAP 数据库和数据仓库使分析师和决策者能够使用自定义报告工具将数据转化为信息。 OLAP 中的查询失败不会中断或延迟客户的事务处理,但会延迟或影响商业智能洞察的准确性。
ETL:连接OLTP和OLAP的力量
来自一个或多个 OLTP 数据库的数据通过称为提取、转换、加载 (ETL) 的过程被摄取到 OLAP 系统中。使用 ETL 工具,用户可以从多个来源收集数据并将其发送到目的地,例如 OLAP 数据仓库,在那里由分析和商业智能工具查询以获取洞察力。
OLTP 与 OLAP:并排比较
OLTP 是可操作的,而 OLAP 是信息性的。 看一眼这两种处理的主要特征就可以说明它们的根本区别,以及它们是如何协同工作的。
OLTP | OLAP | |
---|---|---|
特征 | 处理大量小交易 | 处理具有复杂查询的大量数据 |
查询类型 | Simple standardized queries | Complex queries |
操作 | Based on INSERT, UPDATE, DELETE commands | Based on SELECT commands to aggregate data for reporting |
响应时间 | Milliseconds | 秒、分钟或小时,具体取决于要处理的数据量 |
设计 | Industry-specific, such as retail, manufacturing, or banking | 特定主题,例如销售、库存或营销 |
来源 | Transactions | Aggregated data from transactions |
目的 | 实时控制和运行基本业务运营 | 计划、解决问题、支持决策、发现隐藏的见解 |
数据更新 | 由用户发起的简短、快速的更新 | 使用计划的、长时间运行的批处理作业定期刷新数据 |
空间要求 | 如果归档历史数据,通常很小 | 由于聚合大型数据集而通常很大 |
备份和恢复 | 需要定期备份以确保业务连续性并满足法律和治理要求 | 可以根据需要从 OLTP 数据库重新加载丢失的数据,以代替定期备份 |
生产率 | 提高最终用户的生产力 | 提高业务经理、数据分析师和高管的工作效率 |
Data view | 列出日常业务交易 | 企业数据的多维视图 |
用户示例 | 面向客户的人员、文员、在线购物者 | 知识工作者,例如数据分析师、业务分析师和高管 |
数据库设计 | 标准化数据库以提高效率 | 用于分析的非规范化数据库 |
OLTP 提供当前业务活动的即时记录,而 OLAP 随着时间的推移从该数据中生成并验证洞察力。这种历史视角可以实现准确的预测,但与所有商业智能一样,OLAP 生成的洞察力仅与它们产生的数据管道一样好。
Stitch 优化数据管道
要从 OLTP 数据中获得可操作的情报,必须将其提取、转换并加载到数据仓库中进行分析。虽然这可以通过内部编程资源完成,但使用 ETL 工具可以更有效地处理数据摄取。 ETL 工具消除了由于不断变化的数据源 API、报告要求和业务需求而对代码进行持续维护的需要。像 Stitch 这样的 ETL 工具可优化 OLTP 数据摄取,从而腾出时间和 IT 员工专注于更多增值活动。
简化将 OLTP 源数据拉入您的 OLAP 仓库的过程。选择一个可随您的数据扩展的解决方案,并为您提供所需的支持,以保持领先于变化并获得洞察力。
- 120 次浏览
【数据库架构】什么是 OLAP?
作为数据仓库实施的核心组件,OLAP 为商业智能 (BI) 和决策支持应用程序提供快速、灵活的多维数据分析。
什么是 OLAP?
OLAP(用于在线分析处理)是一种软件,用于对来自数据仓库、数据集市或其他一些统一的集中式数据存储的大量数据进行高速多维分析。
大多数业务数据都有多个维度——数据被分解为多个类别以进行展示、跟踪或分析。例如,销售数据可能具有与位置(地区、国家、州/省、商店)、时间(年、月、周、日)、产品(服装、男/女/童、品牌、类型)相关的多个维度,和更多。
但在数据仓库中,数据集存储在表中,每个表一次只能将数据组织到其中两个维度中。 OLAP 从多个关系数据集中提取数据并将其重新组织成多维格式,从而实现非常快速的处理和非常有洞察力的分析。
什么是 OLAP 多维数据集?
大多数 OLAP 系统的核心,OLAP 多维数据集是一个基于数组的多维数据库,与传统的关系数据库相比,它可以更快、更高效地处理和分析多个数据维度。
关系数据库表的结构类似于电子表格,以二维、逐列的格式存储各个记录。数据库中的每个数据“事实”都位于两个维度(行和列)的交集处,例如区域和总销售额。
SQL 和关系数据库报告工具当然可以查询、报告和分析存储在表中的多维数据,但随着数据量的增加,性能会降低。并且需要大量的工作来重新组织结果以专注于不同的维度。
这就是 OLAP 多维数据集的用武之地。OLAP 多维数据集通过附加层扩展了单个表,每个层都添加了额外的维度——通常是维度的“概念层次结构”中的下一个级别。例如,立方体的顶层可能按地区组织销售;附加层可以是国家、州/省、城市甚至特定商店。
理论上,一个立方体可以包含无数层。 (代表三个以上维度的 OLAP 多维数据集有时称为超多维数据集。)更小的多维数据集可以存在于层内——例如,每个商店层可以包含按销售人员和产品安排销售的多维数据集。在实践中,数据分析师将创建仅包含他们需要的层的 OLAP 多维数据集,以实现最佳分析和性能。
OLAP 多维数据集支持四种基本类型的多维数据分析:
向下钻取
向下钻取操作通过以下两种方法之一将不太详细的数据转换为更详细的数据——在概念层次结构中向下移动或向多维数据集添加新维度。例如,如果您查看组织日历或财政季度的销售数据,您可以向下钻取以查看每个月的销售额,在“时间”维度的概念层次结构中向下移动。
卷起
上卷与下钻功能相反——它通过在概念层次结构中向上移动或通过减少维数来聚合 OLAP 多维数据集上的数据。例如,您可以通过查看每个国家的数据而不是每个城市的数据,在“位置”维度的概念层次结构中向上移动。
切片和骰子(Slice and dice)
切片操作通过从主 OLAP 多维数据集中选择单个维度来创建子多维数据集。例如,您可以通过突出显示组织的第一个财政或日历季度(时间维度)的所有数据来执行切片。
骰子操作通过在主 OLAP 多维数据集中选择多个维度来隔离子多维数据集。例如,您可以通过按组织的日历或财政季度(时间维度)以及美国和加拿大内部(位置维度)突出显示所有数据来执行掷骰子操作。
枢 (Pivot)
pivot 函数旋转当前的多维数据集视图以显示数据的新表示 - 启用数据的动态多维视图。 OLAP 数据透视表功能与电子表格软件(如 Microsoft Excel)中的数据透视表功能相当,但虽然 Excel 中的数据透视表可能具有挑战性,但 OLAP 数据透视表相对更易于使用(需要较少的专业知识)并且具有更快的响应时间和查询性能。
MOLAP 与 ROLAP 与 HOLAP
MOLAP
直接与多维 OLAP 多维数据集一起工作的 OLAP 称为多维 OLAP 或 MOLAP。同样,对于大多数用途,MOLAP 是最快和最实用的多维数据分析类型。
但是,在某些情况下,还有两种其他类型的 OLAP 可能更可取:
ROLAP
ROLAP 或关系 OLAP 是一种多维数据分析,它直接对关系表上的数据进行操作,而无需先将数据重新组织到一个多维数据集中。
如前所述,SQL 是用于多维查询、报告和分析的完美工具。但是所需的 SQL 查询很复杂,性能可能会拖累,并且生成的数据视图是静态的——它不能被旋转以表示不同的数据视图。当直接处理大量数据的能力比性能和灵活性更重要时,ROLAP 是最佳选择。
HOLAP
HOLAP 或混合 OLAP 尝试在单个 OLAP 体系结构内创建关系数据库和多维数据库之间的最佳分工。关系表包含大量数据,OLAP 多维数据集用于聚合和推测处理。 HOLAP 需要同时支持 MOLAP 和 ROLAP 的 OLAP 服务器。
HOLAP 工具可以“钻取”数据立方体到关系表,这为快速数据处理和灵活访问铺平了道路。这种混合系统可以提供更好的可扩展性,但在访问关系数据源时无法避免不可避免的减速。此外,其复杂的架构通常需要更频繁的更新和维护,因为它必须存储和处理来自关系数据库和多维数据库的所有数据。出于这个原因,HOLAP 最终可能会变得更加昂贵。
OLAP 与 OLTP
在线事务处理(OLTP)是指专注于面向事务的数据和应用程序的数据处理方法和软件。
OLAP 和 OLTP 的主要区别在于名称:OLAP 本质上是分析性的,而 OLTP 是事务性的。
OLAP 工具设计用于对数据仓库中的数据进行多维分析,其中包含交易数据和历史数据。事实上,OLAP 服务器通常是数据仓库解决方案的中间分析层。 OLAP 的常见用途包括数据挖掘和其他商业智能应用程序、复杂的分析计算和预测场景,以及财务分析、预算和预测计划等业务报告功能。
OLTP 旨在通过尽可能快速准确地处理最近的事务来支持面向事务的应用程序。 OLTP 的常见用途包括 ATM、电子商务软件、信用卡支付处理、在线预订、预订系统和记录保存工具。
要深入了解这些方法之间的差异,请查看“OLAP 与 OLTP:有什么区别?”
OLAP 和云架构
OLAP 使公司能够通过将其转换为最实用的多维分析格式来最大限度地发挥其公司数据的潜力。这反过来又使识别有价值的业务洞察变得更加容易。但是,如果将这些系统保留在内部,则会限制扩展的潜力。
基于云的 OLAP 服务更便宜且更易于设置,这使得它们对预算有限的小型企业或初创公司更具吸引力。企业可以利用基于云的数据仓库的巨大潜力,以无与伦比的速度执行复杂的分析,因为它们使用大规模并行处理 (MPP)。因此,公司可以在云速度和规模上使用 OLAP,分析大量数据,而无需将其从云数据仓库中移出。
Constance Hotels、Resorts & Golf 是一家豪华酒店集团,在印度洋的岛屿上拥有九家酒店。然而,缺乏岛与岛之间的通信让位于组织孤岛,每个度假村的业务数据都是孤立的。该组织构建了一个云数据仓库和分析架构,以将所有本地系统和工具与基于云的中央数据存储库链接起来。在此过程中,公司获得了利用高级预测分析和实施 OLAP 系统所需的全集团洞察力。
云架构中的 OLAP 是面向未来构建的快速且经济高效的解决方案。制作多维数据集后,团队可以使用现有的商业智能工具即时连接 OLAP 模型,并从他们的云数据中获取交互式实时洞察。
- 148 次浏览
【数据库架构】什么是 OLTP?
OLTP(在线事务处理)支持在 ATM 和在线银行、收银机和电子商务以及我们每天与之交互的许多其他服务背后进行快速、准确的数据处理。
什么是 OLTP?
OLTP 或在线事务处理允许大量人员(通常通过 Internet)实时执行大量数据库事务。
数据库事务是对数据库中数据的更改、插入、删除或查询。 OLTP 系统(以及它们支持的数据库交易)推动了我们每天进行的许多金融交易,包括网上银行和 ATM 交易、电子商务和店内购物,以及酒店和航空公司预订等等。在每种情况下,数据库交易也保留为相应金融交易的记录。 OLTP 还可以推动非金融数据库交换,包括密码更改和短信。
在 OLTP 中,任何数据库事务的共同定义特征是它的原子性(或不可分割性)——事务要么整体成功,要么失败(或被取消)。它不能保持在挂起或中间状态。
OLTP 系统的特点
通常,OLTP 系统执行以下操作:
- 处理大量相对简单的交易:通常是对数据的插入、更新和删除,以及简单的数据查询(例如,ATM 的余额检查)。
- 允许多用户访问相同的数据,同时确保数据完整性:OLTP 系统依靠并发算法来确保没有两个用户可以同时更改相同的数据,并且所有事务都以正确的顺序执行。这可以防止人们使用在线预订系统重复预订同一个房间,并保护共同持有的银行账户的持有人免受意外透支。
- 强调非常快速的处理,响应时间以毫秒为单位:OLTP 系统的有效性是通过每秒可以执行的事务总数来衡量的。
- 提供索引数据集:这些用于快速搜索、检索和查询。
- 24/7/365 全天候可用:同样,OLTP 系统处理大量并发事务,因此任何数据丢失或停机都可能产生重大且代价高昂的后果。完整的数据备份必须随时可用。 OLTP 系统需要频繁的定期备份和持续的增量备份。
OLTP 与 OLAP
OLTP 经常与在线分析处理或 OLAP 混淆。两者都有相似的首字母缩写词,并且是在线数据处理系统,但这就是相似之处。
- OLTP 针对执行在线数据库事务进行了优化。 OLTP 系统专为一线工作人员(例如,收银员、银行出纳员、部分服务台文员)或客户自助服务应用程序(例如,网上银行、电子商务、旅行预订)而设计。
- 另一方面,OLAP 针对进行复杂数据分析进行了优化。 OLAP 系统专为数据科学家、业务分析师和知识工作者使用而设计,它们支持商业智能 (BI)、数据挖掘和其他决策支持应用程序。
毫不奇怪,OLTP 和 OLAP 系统有几个明显的技术差异:
- OLTP 系统使用关系数据库,可以容纳大量并发用户和频繁的查询和更新,同时支持非常快的响应时间。 OLAP 系统使用多维数据库——一种由多个关系数据库创建的特殊类型的数据库,它支持涉及来自当前和历史数据的多个数据事实的复杂查询。 (OLAP 数据库可以组织为数据仓库。)
- OLTP 查询很简单,通常只涉及一个或几个数据库记录。 OLAP 查询是涉及大量记录的复杂查询。
- OLTP 事务和查询响应时间快如闪电; OLAP 响应时间要慢几个数量级。
- OLTP 系统经常修改数据(这是事务处理的本质); OLAP 系统根本不修改数据。
- OLTP 工作负载涉及读取和写入的平衡; OLAP 工作负载是读取密集型的。
- OLTP 数据库需要的存储空间相对较少; OLAP 数据库处理大量数据集,并且通常需要大量存储空间。
- OLTP 系统需要频繁或并发备份; OLAP 系统的备份频率要低得多。
值得注意的是,OLTP 系统通常充当 OLAP 系统的信息源。通常,使用 OLAP 执行分析的目标是改进业务战略和优化业务流程,这可以为改进 OLTP 系统提供基础。
要深入了解这些方法之间的差异,请查看“OLAP 与 OLTP:有什么区别?”
OLTP 系统示例
自互联网和电子商务时代出现以来,OLTP 系统已经无处不在。它们几乎存在于每个行业或垂直市场以及许多面向消费者的系统中。 OLTP 系统的日常示例包括:
- ATM 机(这是经典的、最常被引用的示例)和网上银行应用程序
- 信用卡支付处理(在线和店内)
- 订单输入(零售和后台)
- 在线预订(票务、预订系统等)
- 记录保存(包括健康记录、库存控制、生产调度、索赔处理、客户服务票务和许多其他应用程序)
- 62 次浏览
【数据管理】OLAP 与 OLTP:有什么区别?
这些术语经常相互混淆,那么它们的主要区别是什么?您如何根据自己的情况选择合适的术语?
我们生活在一个数据驱动的时代,使用数据做出更明智决策并更快响应不断变化的需求的组织更有可能脱颖而出。您可以在新的服务产品(例如拼车应用程序)以及推动零售的强大系统(电子商务和店内交易)中看到这些数据。
在数据科学领域,有两种类型的数据处理系统:在线分析处理(OLAP)和在线事务处理(OLTP)。主要区别在于,一种使用数据来获得有价值的见解,而另一种则纯粹是可操作的。但是,有一些有意义的方法可以使用这两个系统来解决数据问题。
问题不在于选择哪个,而是如何根据您的情况充分利用这两种处理类型。
什么是 OLAP?
在线分析处理 (OLAP) 是一种用于对大量数据进行高速多维分析的系统。通常,这些数据来自数据仓库、数据集市或其他一些集中式数据存储。 OLAP 是数据挖掘、商业智能和复杂分析计算以及财务分析、预算和销售预测等业务报告功能的理想选择。
大多数 OLAP 数据库的核心是 OLAP 多维数据集,它允许您快速查询、报告和分析多维数据。什么是数据维度?它只是特定数据集的一个元素。例如,销售数据可能具有与地区、一年中的时间、产品型号等相关的多个维度。
OLAP 多维数据集扩展了传统关系数据库模式的逐列格式,并为其他数据维度添加了层。例如,虽然立方体的顶层可能按地区组织销售,但数据分析师也可以“深入”到按州/省、城市和/或特定商店进行销售的层。 OLAP 的这种历史聚合数据通常存储在星型模式或雪花模式中。
下图显示了多维销售数据的 OLAP 多维数据集 - 按地区、按季度和按产品:
什么是 OLTP?
在线事务处理 (OLTP) 支持大量人员(通常通过 Internet)实时执行大量数据库事务。 OLTP 系统支持我们的许多日常交易,从 ATM 到店内购物再到酒店预订。 OLTP 还可以推动非金融交易,包括密码更改和短信。
OLTP 系统使用可以执行以下操作的关系数据库:
- 处理大量相对简单的事务——通常是数据的插入、更新和删除。
- 启用对相同数据的多用户访问,同时确保数据完整性。
- 支持非常快速的处理,响应时间以毫秒为单位。
- 为快速搜索、检索和查询提供索引数据集。
- 24/7/365 全天候可用,具有持续增量备份。
许多组织使用 OLTP 系统为 OLAP 提供数据。换句话说,OLTP 和 OLAP 的结合在我们的数据驱动世界中是必不可少的。
OLAP和OLTP的主要区别:处理类型
这两个系统的主要区别在于它们的名称:分析型与事务型。每个系统都针对该类型的处理进行了优化。
- OLAP 经过优化,可进行复杂的数据分析,从而做出更明智的决策。 OLAP 系统专为数据科学家、业务分析师和知识工作者使用而设计,它们支持商业智能 (BI)、数据挖掘和其他决策支持应用程序。
- 另一方面,OLTP 针对处理大量事务进行了优化。 OLTP 系统专为一线工作人员(例如收银员、银行出纳员、酒店前台职员)或客户自助服务应用程序(例如网上银行、电子商务、旅行预订)而设计。
OLAP 和 OLTP 之间的其他主要区别
- 重点:OLAP 系统允许您提取数据以进行复杂分析。为了推动业务决策,查询通常涉及大量记录。相比之下,OLTP 系统非常适合在数据库中进行简单的更新、插入和删除。查询通常只涉及一条或几条记录。
- 数据源:OLAP 数据库具有多维模式,因此它可以支持从当前和历史数据中对多个数据事实进行复杂查询。不同的 OLTP 数据库可以作为 OLAP 聚合数据的来源,它们可以组织为一个数据仓库。另一方面,OLTP 使用传统的 DBMS 来容纳大量实时事务。
- 处理时间:在 OLAP 中,响应时间比 OLTP 慢几个数量级。工作负载是读取密集型的,涉及大量数据集。对于 OLTP 事务和响应,每毫秒都很重要。工作负载涉及通过 SQL(结构化查询语言)进行的简单读写操作,需要更少的时间和更少的存储空间。
- 可用性:由于它们不修改当前数据,因此 OLAP 系统的备份频率可以降低。然而,OLTP 系统经常修改数据,因为这是事务处理的本质。它们需要频繁或并发备份以帮助维护数据完整性。
OLAP 与 OLTP:哪个最适合您?
为您的情况选择正确的系统取决于您的目标。您需要单一平台来获取业务洞察力吗? OLAP 可以帮助您从海量数据中释放价值。您需要管理日常交易吗? OLTP 旨在每秒快速处理大量事务。
请注意,传统的 OLAP 工具需要数据建模专业知识,并且通常需要跨多个业务部门进行合作。相比之下,OLTP 系统对业务至关重要,任何停机都会导致交易中断、收入损失和品牌声誉受损。
大多数时候,组织同时使用 OLAP 和 OLTP 系统。事实上,OLAP 系统可用于分析导致 OLTP 系统中的业务流程改进的数据。
了解有关 OLAP 和 OLTP 的更多信息
在线处理系统是为我们的日常生活提供动力的业务决策和数据交易的背后。要了解有关与 OLAP 和 OLTP 一起使用的数据库系统的更多信息,我们鼓励您浏览有关这些主题的学习中心文章。我们还建议查看有关关系数据库及其 OLTP、IoT 解决方案和 OLAP 数据仓库用例的 IBM 内容。
- 什么是 OLAP?
- 什么是 OLTP?
- 关系数据库的用例
- 56 次浏览