📜  什么是列式数据库?

📅  最后修改于: 2022-05-13 01:57:02.851000             🧑  作者: Mango

什么是列式数据库?

列式数据库用于数据库管理系统 ( DBMS ),它有助于将数据存储在列而不是行中。它负责加快返回特定查询所需的时间。它还负责极大地提高磁盘 I/O 性能。它有助于数据分析和数据仓库。列式数据库的主要动机也是有效地读写数据。以下是列式数据库的一些示例,例如 Monet DB、Apache Cassandra、SAP Hana、Amazon Redshift。

列式数据库 VS 行式数据库:

列式和行式数据库都是用于处理大数据分析和数据仓库的几种方法。但他们的方法彼此不同。

例如:

  • 行数据库:“客户 1:姓名、地址、位置。”(每条新记录的字段存储在一个长行中)。
  • 列式数据库:“客户 1:姓名、地址、位置。”(每个字段都有自己的一组列)。

例子:

这是一个具有四列和三行的简单数据库表的示例。

ID NumberLast NameFirst NameBonus
534782MillerGinny6000
585523ParkerPeter8000
479148StacyGwen2000

在列式 DBMS 中,存储的数据采用以下格式:

534782, 585523, 479148; Miller, Parker, Stacy; Ginny, Peter, Gwen; 6000, 8000, 2000.

在面向行的 DBMS 中,存储的数据采用以下格式:

534782, Miller, Ginny, 6000; 585523, Parker, Peter, 8000; 479148, Stacy, Gwen, 2000.

何时使用列式数据库:

  1. 只涉及几列的查询。
  2. 压缩,但仅限列。
  3. 针对大量数据的集群查询。

列式数据库的优点:

  1. 列式数据库可以用于不同的任务,例如当与大数据相关的应用程序发挥作用时,面向列的数据库在这种情况下会受到更大的关注。
  2. 列式数据库中的数据具有高度可压缩的性质,并且具有不同的操作,如(AVG)、(MIN,MAX),这些都是压缩所允许的。
  3. 效率和速度:在列式数据库中执行分析查询的速度更快。
  4. 自索引:基于列的 DBMS 的另一个好处是自索引,与包含相同数据的关系数据库管理系统相比,它使用的磁盘空间更少。

列式数据库的局限性:

  1. 对于加载增量数据,与面向列的数据库相比,传统数据库更相关。
  2. 对于在线事务处理 (OLTP) 应用程序,面向行的数据库比列式数据库更合适。