This is a read-only copy of the MariaDB Knowledgebase generated on 2024-11-15. For the latest, interactive version please visit https://mariadb.com/kb/.

ColumnStore Data 摄取

ColumnStore 提供了多种机制来摄取数据:

  • cpimport 提供了插入数据的最快性能和将数据路由到特定 PM 节点的能力。通常这应该是加载数据的默认选择
  • LOAD DATA INFILE 提供了另一种批量插入数据的方式。
    • 默认情况下,如果启用 autocommit,则会将数据内部流式传输到 cpimport 进程的实例。这需要 UM 服务器上的一些内存开销,因此对于非常大的导入可能不太可靠,比起 cpimport 来说。
    • 在事务模式下,将执行 DML 插入操作,这将明显较慢,而且它还会消耗 binlog 事务文件和 ColumnStore VersionBuffer 文件。
  • DML,即 INSERT、UPDATE 和 DELETE,提供行级更改。ColumnStore 优化了大批量修改,因此这些操作比在 InnoDB 中执行要慢。
    • 目前,ColumnStore 不支持作为复制从服务器运行。
    • 大批量 DML 操作通常比多个单独语句更好地执行。
      • INSERT INTO SELECT 在启用 autocommit 的情况下的行为类似于 LOAD DATE INFILE,因为在内部它被映射到 cpimport 以获得更高的性能。
      • 基于小型分段表的批量更新操作可能相对较快,特别是如果只更新单个列。
  • 使用 ColumnStore Bulk Write SDKColumnStore Streaming Data Adapters
  • No items found.
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.