Doris是一个基于MPP架构的高性能、实时的分析型数据库。
文章目录
1. Doris简介
Doris是一个基于MPP架构的高性能、实时的分析型数据库。
1.1. 核心特性
- 高性能:仅需亚秒级响应时间即可获得查询结果,支持高并发查询场景和高吞吐的复杂分析场景。
- 实时性:满足实时数据分析需求,有效支持多种数据分析方式,如固定历史报表、实时数据分析等。
- 高兼容性:采用MySQL协议,高度兼容MySQL语法,支持标准SQL,方便与各类客户端和BI工具对接。
1.2.技术架构
- MPP架构:将任务并行的分散到多个服务器和节点上,每个节点计算完成后汇总结果,实现高性能和可扩展性。
- 极简设计:Doris的架构非常简洁,不依赖任何第三方系统,降低了运维成本。
- 进程分类:包括FE(管理节点)和BE(数据存储和查询执行节点),两类进程均可横向扩展。
2. Doris数据库的应用场景
2.1. 日志存储与分析
Doris可以高效地存储和分析大量的日志数据,如用户浏览日志、购买记录等,实现对数据的快速查询和分析,助力企业实现用户行为分析和个性化推荐1。
2.2. 实时数据分析
凭借其低延迟和高并发的特性,Doris特别适用于实时数据分析场景,如电信行业的实时监控用户流量、网络质量等,帮助运营商及时发现和解决问题。
2.3. OLAP分析
Doris支持SQL查询和OLAP分析,方便企业进行复杂的数据分析,如金融行业的交易数据多维度分析,包括时间、地域、产品等维度。
2.4. 数据仓库
Doris可作为数据仓库的存储引擎,集中存储和管理企业的各类数据,如销售数据、库存数据、顾客数据等,实现数据的统一管理和快速查询,为业务分析和决策提供支持。
2.5. 报表分析
Doris能够满足面向企业内部分析师和管理者的报表需求,以及面向用户或客户的高并发报表分析,如网站主的站点分析、广告主的广告报表等。
2.6. 数据湖联邦查询加速
Doris能够加速数据湖中的联邦查询,提高数据湖的数据分析效率,为企业提供更全面的数据支持。
3 .Doris 部署
3.1. 操作系统配置初始化
3.1.1. 配置 vm.max_map_count
sudo vim /etc/sysctl.conf
追加以下配置:
vm.max_map_count=2000000
3.1.2. 关闭swap
vim /etc/fstab
注释配置如下:
# /dev/mapper/centos-swap swap swap defaults 0 0
完成后,重启服务器。
3.2 安装docker,docker-compose环境。
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
curl -L "https://github.com/docker/compose/releases/download/1.14.0-rc2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 2>&1
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose -version
3.3. 安装doris
mkdir -p /home/doris && cd /home/doris
cat > /home/doris/docker-compose.yml << EOF
version: "3"
services:
fe:
image: selectdb/doris.fe-ubuntu:2.1.3
hostname: fe
environment:
- FE_SERVERS=fe1:192.168.0.50:9010
- FE_ID=1
volumes:
- ${PWD}/data/fe/doris-meta/:/opt/apache-doris/fe/doris-meta/
- ${PWD}/data/fe/log/:/opt/apache-doris/fe/log/
network_mode: host
be:
image: selectdb/doris.be-ubuntu:2.1.3
hostname: be
environment:
- FE_SERVERS=fe1:192.168.0.50:9010
- BE_ADDR=192.168.0.50:9050
volumes:
- ${PWD}/data/be/storage/:/opt/apache-doris/be/storage/
- ${PWD}/data/be/script/:/docker-entrypoint-initdb.d/
depends_on:
- fe
network_mode: host
EOF
docker-compose up -d
说明:
- 192.168.0.50:为 当前机器的内网IP
启动doris:
docker-compose up -d