Apache Doris 查询分析功能使用

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: Doris提供了一个图形化的命令帮助用户方便分析一个具体的查询或者导入操作,在使用过程中的性能问题,本文主要介绍如何使用改功能.

Doris提供了一个图形化的命令帮助用户方便分析一个具体的查询或者导入操作,在使用过程中的性能问题,本文主要介绍如何使用改功能


1. 查询计划树


SQL 是一个描述性语言,用户通过一个 SQL 来描述想获取的数据。而一个 SQL 的具体执行方式依赖于数据库的实现。而查询规划器就是用来决定数据库如何具体执行一个 SQL 的。  比如用户指定了一个 Join 算子,则查询规划器需要决定具体的 Join 算法,比如是 Hash Join,还是 Merge Sort Join;是使用 Shuffle 还是 Broadcast;Join 顺序是否需要调整以避免笛卡尔积;以及确定最终的在哪些节点执行等等。


Doris 的查询规划过程是先将一个 SQL 语句转换成一个单机执行计划树。

image.pngimage.png

之后,查询规划器会根据具体的算子执行方式、数据的具体分布,将单机查询计划转换为分布式查询计划。分布式查询计划是由多个 Fragment 组成的,每个 Fragment 负责查询计划的一部分,各个 Fragment 直接会通过 ExchangeNode 算子进行数据的传输。

image.pngimage.png

image.png

如上图,我们将单机计划分成了两个 Fragment:F1 和 F2。两个 Fragment 之间通过一个 ExchangeNode 节点传输数据。


而一个 Fragment 会进一步的划分为多个 Instance。Instance 是最终具体的执行实例。划分成多个 Instance 有助于充分利用机器资源,提升一个 Fragment 的执行并发度。


查看查询计划


可以通过以下两种命令查看一个 SQL 的执行计划。


EXPLAIN GRAPH select ...;
EXPLAIN select ...;

其中第一个命令以图形化的方式展示一个查询计划,这个命令可以比较直观的展示查询计划的树形结构,以及 Fragment 的划分情况:


mysql> desc graph SELECT SUM(lo_revenue), d_year, p_brand
 -> FROM lineorder, date, part, supplier
 -> WHERE lo_orderdate = d_datekey
 -> AND lo_partkey = p_partkey
 -> AND lo_suppkey = s_suppkey
 -> AND p_brand BETWEEN  'MFGR#2221'
 -> AND 'MFGR#2228'
 -> AND s_region = 'ASIA'
 -> GROUP BY d_year, p_brand
 -> ORDER BY d_year, p_brand;
+------------------------------------------------------------------------------------------------------------+
| Explain String                                                                                                                                                                                |
+------------------------------------------------------------------------------------------------------------+
|                                   ┌────────────────┐                                                                                                                                          |
|                                   │[12: ResultSink]│                                                                                                                                          |
|                                   │[Fragment: 4]   │                                                                                                                                          |
|                                   │RESULT SINK     │                                                                                                                                          |
|                                   └────────────────┘                                                                                                                                          |
|                                            │                                                                                                                                                  |
|                                            │                                                                                                                                                  |
|                                ┌──────────────────────┐                                                                                                                                       |
|                                │[12: MERGING-EXCHANGE]│                                                                                                                                       |
|                                │[Fragment: 4]         │                                                                                                                                       |
|                                └──────────────────────┘                                                                                                                                       |
|                                            │                                                                                                                                                  |
|                                            │                                                                                                                                                  |
|                                 ┌────────────────────┐                                                                                                                                        |
|                                 │[12: DataStreamSink]│                                                                                                                                        |
|                                 │[Fragment: 0]       │                                                                                                                                        |
|                                 │STREAM DATA SINK    │                                                                                                                                        |
|                                 │  EXCHANGE ID: 12   │                                                                                                                                        |
|                                 │  UNPARTITIONED     │                                                                                                                                        |
|                                 └────────────────────┘                                                                                                                                        |
|                                            │                                                                                                                                                  |
|                                            │                                                                                                                                                  |
|                                     ┌─────────────┐                                                                                                                                           |
|                                     │[8: TOP-N]   │                                                                                                                                           |
|                                     │[Fragment: 0]│                                                                                                                                           |
|                                     └─────────────┘                                                                                                                                           |
|                                            │                                                                                                                                                  |
|                                            │                                                                                                                                                  |
|                           ┌────────────────────────────────┐                                                                                                                                  |
|                           │[7: AGGREGATE (update finalize)]│                                                                                                                                  |
|                           │[Fragment: 0]                   │                                                                                                                                  |
|                           └────────────────────────────────┘                                                                                                                                  |
|                                            │                                                                                                                                                  |
|                                            │                                                                                                                                                  |
|                            ┌───────────────────────────────┐                                                                                                                                  |
|                            │[6: HASH JOIN]                 │                                                                                                                                  |
|                            │[Fragment: 0]                  │                                                                                                                                  |
|                            │join op: INNER JOIN (BROADCAST)│                                                                                                                                  |
|                            └───────────────────────────────┘                                                                                                                                  |
|                                ┌───────────┴────────────────────────────────┐                                                                                                                 |
|                                │                                            │                                                                                                                 |
|                ┌───────────────────────────────┐                    ┌──────────────┐                                                                                                          |
|                │[4: HASH JOIN]                 │                    │[11: EXCHANGE]│                                                                                                          |
|                │[Fragment: 0]                  │                    │[Fragment: 0] │                                                                                                          |
|                │join op: INNER JOIN (BROADCAST)│                    └──────────────┘                                                                                                          |
|                └───────────────────────────────┘                            │                                                                                                                 |
|                     ┌──────────┴─────────────────────┐                      │                                                                                                                 |
|                     │                                │           ┌────────────────────┐                                                                                                       |
|     ┌───────────────────────────────┐        ┌──────────────┐    │[11: DataStreamSink]│                                                                                                       |
|     │[2: HASH JOIN]                 │        │[10: EXCHANGE]│    │[Fragment: 3]       │                                                                                                       |
|     │[Fragment: 0]                  │        │[Fragment: 0] │    │STREAM DATA SINK    │                                                                                                       |
|     │join op: INNER JOIN (BROADCAST)│        └──────────────┘    │  EXCHANGE ID: 11   │                                                                                                       |
|     └───────────────────────────────┘                │           │  UNPARTITIONED     │                                                                                                       |
|          ┌──────────┴─────────┐                      │           └────────────────────┘                                                                                                       |
|          │                    │           ┌────────────────────┐           ┌┘                                                                                                                 |
| ┌─────────────────┐    ┌─────────────┐    │[10: DataStreamSink]│           │                                                                                                                  |
| │[0: OlapScanNode]│    │[9: EXCHANGE]│    │[Fragment: 2]       │  ┌─────────────────┐                                                                                                         |
| │[Fragment: 0]    │    │[Fragment: 0]│    │STREAM DATA SINK    │  │[5: OlapScanNode]│                                                                                                         |
| │TABLE: lineorder │    └─────────────┘    │  EXCHANGE ID: 10   │  │[Fragment: 3]    │                                                                                                         |
| └─────────────────┘           │           │  UNPARTITIONED     │  │TABLE: supplier  │                                                                                                         |
|                               │           └────────────────────┘  └─────────────────┘                                                                                                         |
|                     ┌───────────────────┐           ┌┘                                                                                                                                        |
|                     │[9: DataStreamSink]│           │                                                                                                                                         |
|                     │[Fragment: 1]      │  ┌─────────────────┐                                                                                                                                |
|                     │STREAM DATA SINK   │  │[3: OlapScanNode]│                                                                                                                                |
|                     │  EXCHANGE ID: 09  │  │[Fragment: 2]    │                                                                                                                                |
|                     │  UNPARTITIONED    │  │TABLE: part      │                                                                                                                                |
|                     └───────────────────┘  └─────────────────┘                                                                                                                                |
|                               │                                                                                                                                                               |
|                               │                                                                                                                                                               |
|                      ┌─────────────────┐                                                                                                                                                      |
|                      │[1: OlapScanNode]│                                                                                                                                                      |
|                      │[Fragment: 1]    │                                                                                                                                                      |
|                      │TABLE: date      │                                                                                                                                                      |
|                      └─────────────────┘                                                                                                                                                      |
+------------------------------------------------------------------------------------------------------------+
75 rows in set (0.04 sec)

从图中可以看出,查询计划树被分为了5个 Fragment:0、1、2、3、4。如 OlapScanNode 节点上的 [Fragment: 0] 表示这个节点属于 Fragment 0。每个Fragment之间都通过 DataStreamSink 和 ExchangeNode 进行数据传输。


图形命令仅展示简化后的节点信息,如果需要查看更具体的节点信息,如下推到节点上的过滤条件等,则需要通过第二个命令查看更详细的文字版信息:


mysql> desc SELECT SUM(lo_revenue), d_year, p_brand FROM lineorder, date, part, supplier WHERE lo_orderdate = d_datekey AND lo_partkey = p_partkey AND lo_suppkey = s_suppkey AND p_brand BETWEEN  'MFGR#2221' AND 'MFGR#2228' AND s_region = 'ASIA' GROUP BY d_year, p_brand ORDER BY d_year, p_brand;
+--------------------------------------------------------------------------------------------------------------+
| Explain String                                                                                                                     |
+--------------------------------------------------------------------------------------------------------------+
| PLAN FRAGMENT 0                                                                                                                    |
|  OUTPUT EXPRS:<slot 15> <slot 12> sum(`lo_revenue`) | <slot 13> <slot 10> `d_year` | <slot 14> <slot 11> `p_brand`                 |
|   PARTITION: UNPARTITIONED                                                                                                         |
|                                                                                                                                    |
|   RESULT SINK                                                                                                                      |
|                                                                                                                                    |
|   12:MERGING-EXCHANGE                                                                                                              |
|      limit: 65535                                                                                                                  |
|                                                                                                                                    |
| PLAN FRAGMENT 1                                                                                                                    |
|  OUTPUT EXPRS:                                                                                                                     |
|   PARTITION: RANDOM                                                                                                                |
|                                                                                                                                    |
|   STREAM DATA SINK                                                                                                                 |
|     EXCHANGE ID: 12                                                                                                                |
|     UNPARTITIONED                                                                                                                  |
|                                                                                                                                    |
|   8:TOP-N                                                                                                                          |
|   |  order by: <slot 13> <slot 10> `d_year` ASC, <slot 14> <slot 11> `p_brand` ASC                                                 |
|   |  offset: 0                                                                                                                     |
|   |  limit: 65535                                                                                                                  |
|   |                                                                                                                                |
|   7:AGGREGATE (update finalize)                                                                                                    |
|   |  output: sum(`lo_revenue`)                                                                                                     |
|   |  group by: `d_year`, `p_brand`                                                                                                 |
|   |  cardinality=-1                                                                                                                |
|   |                                                                                                                                |
|   6:HASH JOIN                                                                                                                      |
|   |  join op: INNER JOIN (BROADCAST)                                                                                               |
|   |  hash predicates:                                                                                                              |
|   |  colocate: false, reason: Tables are not in the same group                                                                     |
|   |  equal join conjunct: `lo_suppkey` = `s_suppkey`                                                                               |
|   |  runtime filters: RF000[in_or_bloom] <- `s_suppkey`                                                                            |
|   |  cardinality=0                                                                                                                 |
|   |                                                                                                                                |
|   |----11:EXCHANGE                                                                                                                 |
|   |                                                                                                                                |
|   4:HASH JOIN                                                                                                                      |
|   |  join op: INNER JOIN (BROADCAST)                                                                                               |
|   |  hash predicates:                                                                                                              |
|   |  colocate: false, reason: Tables are not in the same group                                                                     |
|   |  equal join conjunct: `lo_partkey` = `p_partkey`                                                                               |
|   |  runtime filters: RF001[in_or_bloom] <- `p_partkey`                                                                            |
|   |  cardinality=0                                                                                                                 |
|   |                                                                                                                                |
|   |----10:EXCHANGE                                                                                                                 |
|   |                                                                                                                                |
|   2:HASH JOIN                                                                                                                      |
|   |  join op: INNER JOIN (BROADCAST)                                                                                               |
|   |  hash predicates:                                                                                                              |
|   |  colocate: false, reason: Tables are not in the same group                                                                     |
|   |  equal join conjunct: `lo_orderdate` = `d_datekey`                                                                             |
|   |  runtime filters: RF002[in_or_bloom] <- `d_datekey`                                                                            |
|   |  cardinality=0                                                                                                                 |
|   |                                                                                                                                |
|   |----9:EXCHANGE                                                                                                                  |
|   |                                                                                                                                |
|   0:OlapScanNode                                                                                                                   |
|      TABLE: lineorder                                                                                                              |
|      PREAGGREGATION: OFF. Reason: conjunct on `lo_orderdate` which is StorageEngine value column                                   |
|      runtime filters: RF000[in_or_bloom] -> `lo_suppkey`, RF001[in_or_bloom] -> `lo_partkey`, RF002[in_or_bloom] -> `lo_orderdate` |
|      partitions=0/7                                                                                                                |
|      rollup: null                                                                                                                  |
|      tabletRatio=0/0                                                                                                               |
|      tabletList=                                                                                                                   |
|      cardinality=0                                                                                                                 |
|      avgRowSize=20.0                                                                                                               |
|      numNodes=1                                                                                                                    |
|                                                                                                                                    |
| PLAN FRAGMENT 2                                                                                                                    |
|  OUTPUT EXPRS:                                                                                                                     |
|   PARTITION: HASH_PARTITIONED: `default_cluster:demo`.`supplier`.`s_suppkey`                                                       |
|                                                                                                                                    |
|   STREAM DATA SINK                                                                                                                 |
|     EXCHANGE ID: 11                                                                                                                |
|     UNPARTITIONED                                                                                                                  |
|                                                                                                                                    |
|   5:OlapScanNode                                                                                                                   |
|      TABLE: supplier                                                                                                               |
|      PREAGGREGATION: OFF. Reason: null                                                                                             |
|      PREDICATES: `s_region` = 'ASIA'                                                                                               |
|      partitions=0/1                                                                                                                |
|      rollup: null                                                                                                                  |
|      tabletRatio=0/0                                                                                                               |
|      tabletList=                                                                                                                   |
|      cardinality=0                                                                                                                 |
|      avgRowSize=20.0                                                                                                               |
|      numNodes=1                                                                                                                    |
|                                                                                                                                    |
| PLAN FRAGMENT 3                                                                                                                    |
|  OUTPUT EXPRS:                                                                                                                     |
|   PARTITION: HASH_PARTITIONED: `default_cluster:demo`.`part`.`p_partkey`                                                           |
|                                                                                                                                    |
|   STREAM DATA SINK                                                                                                                 |
|     EXCHANGE ID: 10                                                                                                                |
|     UNPARTITIONED                                                                                                                  |
|                                                                                                                                    |
|   3:OlapScanNode                                                                                                                   |
|      TABLE: part                                                                                                                   |
|      PREAGGREGATION: OFF. Reason: null                                                                                             |
|      PREDICATES: `p_brand` >= 'MFGR#2221', `p_brand` <= 'MFGR#2228'                                                                |
|      partitions=0/1                                                                                                                |
|      rollup: null                                                                                                                  |
|      tabletRatio=0/0                                                                                                               |
|      tabletList=                                                                                                                   |
|      cardinality=0                                                                                                                 |
|      avgRowSize=20.0                                                                                                               |
|      numNodes=1                                                                                                                    |
|                                                                                                                                    |
| PLAN FRAGMENT 4                                                                                                                    |
|  OUTPUT EXPRS:                                                                                                                     |
|   PARTITION: HASH_PARTITIONED: `default_cluster:demo`.`date`.`d_datekey`                                                           |
|                                                                                                                                    |
|   STREAM DATA SINK                                                                                                                 |
|     EXCHANGE ID: 09                                                                                                                |
|     UNPARTITIONED                                                                                                                  |
|                                                                                                                                    |
|   1:OlapScanNode                                                                                                                   |
|      TABLE: date                                                                                                                   |
|      PREAGGREGATION: OFF. Reason: null                                                                                             |
|      partitions=0/1                                                                                                                |
|      rollup: null                                                                                                                  |
|      tabletRatio=0/0                                                                                                               |
|      tabletList=                                                                                                                   |
|      cardinality=0                                                                                                                 |
|      avgRowSize=8.0                                                                                                                |
|      numNodes=1                                                                                                                    |
+--------------------------------------------------------------------------------------------------------------+
127 rows in set (0.01 sec)

2. 查看查询 Profile


用户可以通过以下命令打开会话变量

set enable_profile = true

然后执行查询,则 Doris 会产生该查询的一个 Profile。Profile 包含了一个查询各个节点的具体执行情况,有助于我们分析查询瓶颈。


执行完查询后,我们可以通过如下命令先获取 Profile 列表:

mysql> show query profile "/"\G
*************************** 1. row ***************************
 QueryId: 8676cf2c28ac4081-95ead4b1b734b0b3
 User: root
 DefaultDb: default_cluster:demo
 SQL: SELECT SUM(lo_extendedprice*lo_discount) AS REVENUE FROM  lineorder, date WHERE  lo_orderdate = d_datekey AND d_weeknuminyear= 6 AND d_year = 1994 AND lo_discount BETWEEN  5 AND 7 AND lo_quantity BETWEEN  26 AND 35
 QueryType: Query
 StartTime: 2022-05-13 11:47:57
 EndTime: 2022-05-13 11:47:57
 TotalTime: 19ms
QueryState: EOF
1 row in set (0.01 sec)

这个命令会列出当前保存的所有 Profile。每行对应一个查询。我们可以选择我们想看的 Profile 对应的 QueryId,查看具体情况。


查看一个Profile分为3个步骤:


2.1 查看整体执行计划树


这一步主要用于从整体分析执行计划,并查看每个Fragment的执行耗时。

mysql> show query profile "/26da5b3dbd5e42d8-8b5c39768b5b78f4"\G
*************************** 1. row ***************************
Fragments:                 
 ┌────────────────────────┐
 │[-1: DataBufferSender]  │
 │Fragment: 0             │
 │MaxActiveTime: 355.973us│
 └────────────────────────┘
 ┌┘
 ┌─────────────────────┐
 │[3: AGGREGATION_NODE]│
 │Fragment: 0          │
 └─────────────────────┘
 ┌───────────────────┐
 │[2: HASH_JOIN_NODE]│
 │Fragment: 0        │
 └───────────────────┘
 ┌───────────┴────────────────────────────┐
 │                                        │
 ┌───────────────────┐                    ┌──────────────────┐
 │[0: OLAP_SCAN_NODE]│                    │[4: EXCHANGE_NODE]│
 │Fragment: 0        │                    │Fragment: 0       │
 └───────────────────┘                    └──────────────────┘
 ┌─────────┴─────────────────┐                      │
 │                           │                      │
┌─────────────────────────────────┐   ┌─────────────┐   ┌──────────────────────┐
│[RuntimeFilter:in_or_bloomfilter]│   │[OlapScanner]│   │[4: DataStreamSender] │
│Fragment: 0                      │   │Fragment: 0  │   │Fragment: 1           │
└─────────────────────────────────┘   └─────────────┘   │MaxActiveTime: 4.219ms│
 │                                                      └──────────────────────┘
 │                     ┌┘
 ┌─────────────────┐            │
 │[SegmentIterator]│  ┌───────────────────┐
 │Fragment: 0      │  │[1: OLAP_SCAN_NODE]│
 └─────────────────┘  │Fragment: 1        │
                      └───────────────────┘
 ┌─────────────┐
 │[OlapScanner]│
 │Fragment: 1  │
 └─────────────┘
 ┌─────────────────┐
 │[SegmentIterator]│
 │Fragment: 1      │
 └─────────────────┘
1 row in set (0.00 sec)

如上图,每个节点都标注了自己所属的 Fragment,并且在每个 Fragment 的 Sender节点,标注了该 Fragment 的执行耗时(MaxActiveTime)。这个耗时,是Fragment下所有 Instance 执行耗时中最长的一个。这个有助于我们从整体角度发现最耗时的 Fragment。


2.2 查看具体 Fragment 下的 Instance 列表


比如我们发现 Fragment 1 耗时最长,则可以继续查看 Fragment 1 的 Instance 列表:

mysql> show query profile "/8676cf2c28ac4081-95ead4b1b734b0b3/1" ;
+-----------------------------------+-------------------+------------+
| Instances                         | Host              | ActiveTime |
+-----------------------------------+-------------------+------------+
| 8676cf2c28ac4081-95ead4b1b734b0b5 | 172.28.7.230:9060 | 4.219ms    |
+-----------------------------------+-------------------+------------+
1 row in set (0.00 sec)

这里展示了 Fragment 1 上所有的 1 个 Instance 所在的执行节点和耗时。


2.3 查看具体 Instance


我们可以继续查看某一个具体的 Instance 上各个算子的详细 Profile:


mysql> show query profile "/8676cf2c28ac4081-95ead4b1b734b0b3/1/8676cf2c28ac4081-95ead4b1b734b0b5" ;
┌───────────────────────────────────────┐
│[4: DataStreamSender]                  │
│(Active: 16.473us, non-child: 0.09)    │
│  - Counters:                          │
│      - BytesSent: 0.00                │
│      - IgnoreRows: 0                  │
│      - LocalBytesSent: 0.00           │
│      - OverallThroughput: 0.0 /sec    │
│      - PeakMemoryUsage: 10.66 KB      │
│      - SerializeBatchTime: 0ns        │
│      - UncompressedRowBatchSize: 0.00 │
└───────────────────────────────────────┘
 ┌─────────────────────────────────────┐
 │[1: OLAP_SCAN_NODE]                  │
 │(Active: 23.934us, non-child: 0.12)  │
 │  - Counters:                        │
 │      - BatchQueueWaitTime: 225ns    │
 │      - BytesRead: 0.00              │
 │      - NumDiskAccess: 0             │
 │      - NumScanners: 0               │
 │      - PeakMemoryUsage: 0.00        │
 │      - RowsRead: 0                  │
 │      - RowsReturned: 0              │
 │      - RowsReturnedRate: 0          │
 │      - ScannerBatchWaitTime: 0ns    │
 │      - ScannerWorkerWaitTime: 0ns   │
 │      - TabletCount : 0              │
 │      - TotalReadThroughput: 0.0 /sec│
 └─────────────────────────────────────┘
 ┌┘
 ┌─────────────────────────────────┐
 │[OlapScanner]                    │
 │(Active: 0ns, non-child: 0.00)   │
 │  - Counters:                    │
 │      - BlockConvertTime: 0ns    │
 │      - BlockFetchTime: 0ns      │
 │      - ReaderInitTime: 0ns      │
 │      - RowsDelFiltered: 0       │
 │      - RowsPushedCondFiltered: 0│
 │      - ScanCpuTime: 0ns         │
 │      - ScanTime: 0ns            │
 │      - ShowHintsTime_V1: 0ns    │
 └─────────────────────────────────┘
 └┐
 ┌────────────────────────────────────┐
 │[SegmentIterator]                   │
 │(Active: 0ns, non-child: 0.00)      │
 │  - Counters:                       │
 │      - BitmapIndexFilterTimer: 0ns │
 │      - BlockLoadTime: 0ns          │
 │      - BlockSeekCount: 0           │
 │      - BlockSeekTime: 0ns          │
 │      - BlocksLoad: 0               │
 │      - CachedPagesNum: 0           │
 │      - CompressedBytesRead: 0.00   │
 │      - DecompressorTimer: 0ns      │
 │      - IOTimer: 0ns                │
 │      - IndexLoadTime_V1: 0ns       │
 │      - NumSegmentFiltered: 0       │
 │      - NumSegmentTotal: 0          │
 │      - RawRowsRead: 0              │
 │      - RowsBitmapIndexFiltered: 0  │
 │      - RowsBloomFilterFiltered: 0  │
 │      - RowsConditionsFiltered: 0   │
 │      - RowsKeyRangeFiltered: 0     │
 │      - RowsStatsFiltered: 0        │
 │      - RowsVectorPredFiltered: 0   │
 │      - TotalPagesNum: 0            │
 │      - UncompressedBytesRead: 0.00 │
 │      - VectorPredEvalTime: 0ns     │
 └────────────────────────────────────┘

上图展示了 Fragment 1 中,Instance 8676cf2c28ac4081-95ead4b1b734b0b5 的各个算子的具体 Profile。


通过以上3个步骤,我们可以逐步排查一个SQL的性能瓶颈。




相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
10天前
|
存储 运维 监控
金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践
中信银行信用卡中心每日新增日志数据 140 亿条(80TB),全量归档日志量超 40PB,早期基于 Elasticsearch 构建的日志云平台,面临存储成本高、实时写入性能差、文本检索慢以及日志分析能力不足等问题。因此使用 Apache Doris 替换 Elasticsearch,实现资源投入降低 50%、查询速度提升 2~4 倍,同时显著提高了运维效率。
金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践
|
7天前
|
SQL 存储 分布式计算
Apache Doris 2.1.8 版本正式发布
该版本持续在湖仓一体、异步物化视图、查询优化器与执行引擎、存储管理等方面进行改进提升与问题修复,进一步加强系统的性能和稳定性,欢迎大家下载体验。
|
2月前
|
存储 SQL Apache
Apache Doris 创始人:何为“现代化”的数据仓库?
3.0 版本是 Apache Doris 研发路程中的重要里程碑,他将这一进展总结为“实时之路”、“统一之路”和“弹性之路”,详细介绍了所对应的核心特性的设计思考与应用价值,揭晓了 2025 年社区发展蓝图
Apache Doris 创始人:何为“现代化”的数据仓库?
|
2月前
|
SQL 存储 数据处理
别让你的CPU打盹儿:Apache Doris并行执行原理大揭秘!
别让你的CPU打盹儿:Apache Doris并行执行原理大揭秘!
91 1
别让你的CPU打盹儿:Apache Doris并行执行原理大揭秘!
|
28天前
|
存储 SQL 监控
计算效率提升 10 倍,存储成本降低 60%,灵犀科技基于 Apache Doris 建设统一数据服务平台
灵犀科技早期基于 Hadoop 构建大数据平台,在战略调整和需求的持续扩增下,数据处理效率、查询性能、资源成本问题随之出现。为此,引入 [Apache Doris](https://doris.apache.org/) 替换了复杂技术栈,升级为集存储、加工、服务为一体的统一架构,实现存储成本下降 60%,计算效率提升超 10 倍的显著成效。
计算效率提升 10 倍,存储成本降低 60%,灵犀科技基于 Apache Doris 建设统一数据服务平台
|
6月前
|
存储 消息中间件 Java
Apache Flink 实践问题之原生TM UI日志问题如何解决
Apache Flink 实践问题之原生TM UI日志问题如何解决
58 1
|
2月前
|
存储 人工智能 大数据
The Past, Present and Future of Apache Flink
本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024 上海站主论坛开场的分享,今年正值 Flink 开源项目诞生的第 10 周年,借此时机,王峰回顾了 Flink 在过去 10 年的发展历程以及 Flink社区当前最新的技术成果,最后展望下一个十年 Flink 路向何方。
363 33
The Past, Present and Future of Apache Flink
|
4月前
|
SQL Java API
Apache Flink 2.0-preview released
Apache Flink 社区正积极筹备 Flink 2.0 的发布,这是自 Flink 1.0 发布以来的首个重大更新。Flink 2.0 将引入多项激动人心的功能和改进,包括存算分离状态管理、物化表、批作业自适应执行等,同时也包含了一些不兼容的变更。目前提供的预览版旨在让用户提前尝试新功能并收集反馈,但不建议在生产环境中使用。
982 13
Apache Flink 2.0-preview released
|
4月前
|
存储 缓存 算法
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
160 3
|
5月前
|
SQL 消息中间件 关系型数据库
Apache Doris Flink Connector 24.0.0 版本正式发布
该版本新增了对 Flink 1.20 的支持,并支持通过 Arrow Flight SQL 高速读取 Doris 中数据。

热门文章

最新文章

推荐镜像

更多