什么是柱状数据库?

柱状数据库是一种以列而不是行存储数据的数据库管理系统。这有助于最小化与大数据集查询相关的资源使用。

为什么使用柱状数据库?

通常,数据库表将数据存储在这样的行中:

当系统需要添加一条记录时,它会向表追加一个新行。当删除一条记录时,相应的行也会被删除。这种方法适用于主要目的是事务生产数据库的系统,例如万博max手机网页登录CRM或者ERP。

所有的数据都保存在一个物理存储设备上,无论是硬盘驱动器(HDD)还是固态驱动器(SSD),在查询这些设备的数据时会有资源成本。对于面向行的数据库,每行通常包含在附近的扇区中,这允许更快地对HDD或SSD进行读写。

然而,数据分析通常着眼于列而不是行。例如,假设一位分析师试图在上述数据库上运行一个报告,以按州研究客户支出。他们将从查询所有支出总额和所有州开始。因为数据库在物理上是按行存储的,所以操作最终可能会在整个存储阵列中搜索结果。

列数据库是解决这个问题的一种方法。上述数据库的柱状版本如下所示:

从物理角度来说,这种结构意味着所有字段现在都被分组在一起,这意味着在选择数据库中的所有状态或所有订单总数时,开销最小。

柱状数据库不适合高事务处理环境。对于需要大量读请求和少量写请求的大量静态数据,它们最有用。

柱状数据库如何实现?

柱状数据库主要用于诸如ManBetX万博客服数据仓库,储存在那里的数据主要用于分析。实现柱状数据库有几种技术解决方案。例如,Apache Hadoop包括Parquet,一种为面向列的数据库设计的数据存储格式。

为了将面向行的数据库迁移到列模型,大多数组织使用提取、转换、加载(ETL)应用程序,如Xplenty。ETL的工作原理如下:

  • 提取:生万博max手机网页登录产数据库通常必须是面向行的,以促进日常事务。Extract阶段在不更改生产数据的情况下导出所有相关数据。万博max手机网页登录
  • 变换:使用ETL应用程序中定义的模式,将导出的数据从面向行转换为面向列。可以标记错误和异常值,以便人工干预。
  • 负载:转换后的数据被加载到适当的数据结构中,在那里可以直接查询或通过分析工具进行查询。

ETL管道确保柱状数据库总是包含最新的数据,以便所有的分析都是准确和有代表性的。

术语汇编

数据集成技术的命名法指南。

Baidu
map