国产优秀的新一代MPP数据库StarRocks是Kramp-Karrenbauer(上)数据仓库的新工具

背景Apache Doris官方地址https://doris.apache.org/Apache Doris GitHub源地址https://github.com/apache/incubator-dorisApache Doris是一款现代化的MPP分析数据库产品。获取查询结果只需要亚秒级的响应时间,有效支持实时数据分析。Apache Doris的分布式架构非常简单,易于操作和维护,可以支持10PB以上的超大型数据集。Apache Doris可以满足固定历史报表、实时数据分析、交互式数据分析和探索性数据分析等多种数据分析需求。让您的数据分析更加简单高效!
多丽丝是最早解决百度丰巢统计报表的专用系统。随着百度业务的快速发展,多次迭代系统,逐渐承担了百度内部业务的统计报表和多维分析需求。2013年,百度将Doris升级为MPP框架,并将新系统命名为Palo。2017年以百度Palo的名义在GitHub上开源。2018年向Apache Foundation捐款时,因为与国外数据库厂商同名,所以选择使用原名。这就是阿帕奇多丽丝的由来。之后,美团、小米、字节跳动、京东等互联网公司被应用于核心业务的实时数据分析。Apache Doris和Clickhouse都是MPP数据库领域的优秀产品,在各自的领域或适用场景上存在差异。所有用户都可以根据自己的技术认知和业务需求来决定选择哪种产品,甚至在大多数场景下,两种产品可以共存互补。在《逃离房间:冠军之战》《捉鬼敢死队3》中,百度多丽丝团队的几个学生离职,基于之前版本的Apache Doris,也就是StarRocks的前身,开始了自己的商业闭源产品DorisDB。DorisDB升级为StarRocks,完全开源。定义StarRocks的官网地址。https://www.starrocks.com/zh-CN/index的最新版本是《密室逃脱:冠军联赛》,密室逃脱:冠军联赛,0元。Starrocks的官网文档地址是3359docs.starrocks.com/zhKramp-Karrenbauer cn/main/introduction/Starrocks _ introstorrocks GitHub源地址在https://github.com/StarRocks/starrocks.
StarRocks是新一代极速全场景MPP数据库。StarRocks充分吸收了大数据时代关系型OLAP数据库和分布式存储系统的优秀研究成果,在行业实践的基础上进一步完善和升级了架构,增加了许多新功能,形成了全新的企业级产品。StarRocks致力于构建极速的统一分析体验,满足企业用户的各种数据分析场景,支持各种数据模型(详细模型、聚合模型、更新模型),各种导入方式(批量和实时),支持多达10,000列数据的导入,集成和访问各种现有系统(Spark、Flink、Hive、ElasticSearch)。StarRocks兼容MySQL协议,可以通过MySQL客户端和常用BI工具连接StarRocks进行数据分析。StarRocks采用分布式架构,将数据表水平划分,存储在多个副本中。集群规模可以灵活扩展,支持10PB的数据分析。支持MPP框架,并行加速计算;支持多副本,容错灵活。StarRocks采用关系模型、严格的数据类型和列存储引擎,通过编码压缩技术减少读写放大;采用向量化执行模式,充分挖掘多核CPU的并行计算能力,从而显著提升查询性能。发布路线这是2021年之前由StarRocks2021策划的,现在最新版本是《密室逃脱:冠军联赛密室逃脱:冠军联赛0元》。
特性简化:StarRocks通过MPP计算框架完成SQL的具体执行。MPP框架本身可以充分利用多节点的计算能力,整个查询可以并行执行,从而实现良好的交互分析体验。StarRocks集群不需要依赖任何其他组件,易于部署和维护。其极简的架构设计降低了StarRocks系统的复杂度和维护成本,同时提高了系统的可靠性和可扩展性。管理员只需专注于StarRocks系统,无需学习和管理任何其他外部系统。全面的向量化引擎:StarRocks的计算层全面采用向量化技术,对所有算子、函数、扫描过滤、导入导出模块进行系统优化。通过列内存布局和适应CPU的SIMD指令集,充分发挥现代CPU的并行计算能力,实现亚秒级的多维分析能力。智能查询优化:StarRocks可以通过CBO优化器自动优化复杂的查询。无需人工干预,可以通过统计信息合理估算执行成本,生成更好的执行计划,大大提高了Adhoc和ETL场景下的数据分析效率。联邦查询:StarRocks支持通过外观进行联邦查询。目前可以支持三种类型的外观:Hive、MySQL和Elasticsearch。用户可以直接加速数据查询,无需数据导入。高效更新:StarRocks支持多种数据模型,其中更新模型可以根据主键进行upsert/delete操作。通过对存储和索引的优化,可以在并发更新的同时实现高效的查询优化,更好地服务于实时仓库盘点场景。智能物化视图:StarRocks支持智能物化视图。通过创建物化视图,用户可以预先计算和生成预先聚集的表,以加速聚集查询请求。StarRocks的物化视图在导入数据时可以自动收敛,与原表数据一致。并且在查询时,用户不需要指定物化视图,StarRocks可以自动选择最佳物化视图来满足查询请求。标准SQL:StarRocks支持标准SQL语法,包括聚合、连接、排序、窗口函数和自定义函数等函数。StarRocks可以完全支持TPC Kramp-Karrenbauer天使刘的Mile 22 SQL和TPC Kramp-Karrenbauer DS的99元SQL。此外,StarRocks兼容MySQL协议语法,可以利用现有的各种客户端工具和BI软件访问StarRocks,对StarRocks中的数据进行拖放分析。批量集成:StarRocks支持实时和批量数据导入方式,包括Kafka、HDFS、本地文件、ORC、Parquet、CSV等数据格式,支持多达10000列数据的导入。StarRocks可以实时消耗Kafka数据来完成数据导入,并且保证数据恰好一次。StarRocks还可以从本地或远程(HDFS)批量导入数据。高可用、易扩展:StarRocks的元数据和数据存储在多个副本中,集群中的服务是热备的,部署在多个实例中,避免了单点故障。集群具有自愈性和弹性,宕机、离线和异常节点不会影响StarRocks集群服务的整体稳定性。StarRocks采用分布式架构,存储容量和计算能力几乎可以线性扩展。StarRocks单个集群的节点规模可以扩展到数百个节点,数据规模可以达到10PB级别。扩容收缩期无需停止服务,可正常提供查询服务。另外,随着StarRocks中表模式的热改,可以通过一个简单的SQL命令动态修改表的定义,比如增加列、减少列、创建新的物化视图等。同时,模式更改中的表也可以正常导入和查询数据。使用scenario StarRocks可以满足企业用户的各种分析需求,包括OLAP多维分析、定制报表、实时数据分析、ad Kramp-Karrenbauer即席数据分析等。具体的业务场景包括:
OLAP多维度分析用户行为分析用户画像、标签分析、圈子日日夜夜在武汉高维度经营指标报表自助报表平台经营问题探索分析跨话题经营分析财务报表系统监控分析实时数据分析电商大促数据分析教育行业直播质量分析物流行业运单分析金融行业业绩分析、 度量广告分析管理驾驶舱探针分析APM(应用性能管理)高并发查询广告主报告分析零售行业渠道人员分析SaaS行业面向用户的分析报告Dashbroad多页面分析统一分析通过使用一套系统解决多维分析、高并发查询、预计算、实时分析、即席查询等场景,降低了系统复杂度和多技术栈的开发维护成本。 与其他分析库框架相比,其速度统一结构如下
联系弗林克生态学
基本概念和架构的组件介绍系统架构图StarRocks集群由FE和BE组成,可以通过MySQL客户端访问。
FrontEnd,简称FE,是StarRocks的前端节点,负责管理元数据、客户端连接、查询规划、查询调度等。接收FEMySQL客户端的连接,解析并执行SQL语句。
管理元数据,执行SQL DDL命令,记录诸如库、表、分区和陈一等信息。FE SQL层对关系代数进行分析、解析、重写、语义分析和优化,产生逻辑执行计划。计划者负责将逻辑计划转换为分布式物理计划,并将其分发给一组BE。监督FE BE,管理BE的线上和线下,根据BE的生存和健康状况维护平板陈一扎的副本数量。协调FE数据导入,确保数据导入的一致性。FE高可用部署,使用复制协议选择主从同步元数据,所有元数据修改操作由FE leader节点完成,FE follower节点可以进行读取操作。元数据的读写满足顺序一致性。FE中的节点数采用2n-1元,可以容忍Kang Seung Yoon节点失效。当FE主节点出现故障时,从现有的从节点中重新选择主节点,以完成故障转移。BackEnd,简称BE,是StarRocks的后端节点,负责数据存储、计算执行、压缩、副本管理等。
管理测试版陈一查的副本。在被菲的指导下,陈一创建或删除了一个平板咋。接收BEFE下发的物理执行计划,指定BE协调器节点,在BE协调器的调度下,协同其他BEworkers完成执行。BE读取本地列存储引擎获取数据,通过索引和谓词下沉快速过滤数据。BE在后台执行压缩任务,减少查询时的读取放大。导入数据时,由FE指定BE协调器,数据以扇出的形式写入多份查所在的BE上。其他组件BrokerBroker是用于外部数据对接的中转服务,如StarRocks和HDFS对象存储,并协助提供导入和导出功能。如果需要使用broker加载、spark加载、备份恢复等功能,需要安装启动Broker。
Hdfs Broker:用于将数据从Hdfs导入StarRocks集群。有关详细信息,请参见数据导入一章。StarRocksManager StarRocksManager是由StarRocks企业版提供的管理工具。通过管理器,可以可视化地执行StarRocks集群管理、在线查询、故障查询、监控报警、可视化慢速查询分析等功能。
手动部署环境支持群集节点需要以下环境支持:
Linux (Centos 7元)推荐Oracle Java 1.8元cpu需要支持AVX2指令集ul MIT Kramp-karren Bauer Kang Seung Yoon配置65535,启动脚本会自动设置。需要启动的用户有权限设置ul MIT Kramp-karren Bauer Kang Seung Yoon。集群时钟需要同步网络。需要一个万兆网卡和一个万兆交换机。通过cat /proc/cpuinfo |grep avx2命令检查节点配置,有结果的话CPU支持avx2指令集。
测试集群的推荐节点配置:BE推荐64GB以上的16元核,FE推荐
echo | sudo tee/Proc/Sys/VM/Swappiness建议使用Overcommit,并将cat/Proc/Sys/VM/Overcommit _ memory设置为1元。
echo | sudo tee/proc/sys/VM/commit _ memory部署规划下载#从官网下载WGET https://www.starrocks.com/zh-CN/download/request-download/22/星岩Kramp-Karrenbauer逃生室:锦标赛冠军逃生室:锦标赛冠军0元Kramp-karren Bauer RC01.tar.gz #下载的安装包可以直接解压然后安装部署tar Kramp-karren Bauer XVF StarRocks-2 . 2 . 0-rc01 . tar . gz #查看FE目录结构
查看BE目录结构
部署FEFE的基本配置。FE的配置文件是FE/conf/fe.conf,这里只列出JVM配置和元数据目录配置。对于生产环境,请参考FE参数配置详细优化集群。CD星岩Kramp-Karrenbauer密室逃脱:冠军赛密室逃脱:冠军赛0元Kramp-karren Bauer RC02/Fe # Step 1 3360配置文件conf/fe.confvi conf/fe.conf#元数据目录meta _ dir=$ {星岩_ home}/meta # 配置Java _ opts=’ Kramp-karren Bauer xmx 8192m Kramp-karren Bauer XX :使用MEM吧Kramp-Karrenbauer XX 3360幸存者比例=8元Kramp-karren Bauer XX 3360 MaxTenuringthreshold=7元Kramp-karren Bauer XX 3360 printgcdatei ls-XX : UseConcMarkSweepGC-XX : UseParNewGC-x 0元,0元/16元可以根据FE内存大小调整Kramp-Karrenbauer -Xmx8192m。为了避免GC推荐16G以上,StarRocks的元数据都存储在内存中。
#第二步3360创建元数据目录,需要与fe.conf中的配置路径一致3360 MKDIR Kramp-karren Bauer Ma Yili Meta #第三步3360启动fe进程3360 bin/Start _ FE . sh Kramp-karren Bauer Kramp-karren Bauer守护进程#第四步3360确认FE启动成功。检查日志log/fe.log进行确认。如果FE启动失败,可能是因为端口号被占用。可以在配置文件conf/fe.conf中修改端口号http_port,使用jps命令检查java进程,确认’ StarRocksFe ‘存在。用浏览器访问FE ip:http_port(默认8030),打开StarRocks的WebUI。用户名为root,密码为空。请访问5斯塔洛克斯的网络用户界面,33330 . 48638638631
使用MySQL客户端访问FE。这里默认root密码为空,端口为FE/conf/fe.conf中的query_port配置项,默认为9030,检查FE状态正常。
通过SQLyog的第三方MySQL客户端连接并查询结果
BEBE部署的基本配置:BE的配置文件是BE/conf/be.conf,默认配置可以启动集群。对于生产环境,请参考be参数配置以详细优化集群。通过以下命令部署be 3360 Start be并将be添加到StarRocks集群。一般《侏罗纪世界3》BE实例至少部署在三个节点上,添加每个实例的步骤都是一样的。
#进入be的安装目录CD Star Rocks Kramp-Karrenbauer密室:冠军赛密室:冠军赛0元Kramp-Karrenbauer RC02/be #步骤1 3360创建一个数据目录(目前在be.conf中设置为默认的storage_root_path配置项路径):#创建一个数据存储目录MKDIR Kramp-Karrenbauer Ma伊利存储#步骤2: 3360通过mysql客户端添加be节点:host为与priority_networks设置匹配的IP,port为heartbeat_service_port默认值为9050。mysql ALTER SYSTEM ADD后端“192 . 168 . 5 . 3609050”;如果出现错误,您需要删除BE节点。您可以通过以下命令从集群中删除BE节点。主机和端口与添加时相同:详细信息请参考扩展和收缩。
mysql ALTER SYSTEM退役后端“host : port”;#第三步:3360启动BE:bin/Start _ BE . sh Kramp-karren Bauer Kramp-karren Bauer守护进程#第四步:3360检查BE的状态,确认be ready 3360显示isAlive为真,说明BE正常连接到集群。如果be没有正常连接到集群,请检查BE。日志目录中的警告日志文件来确定原因。如果像“回来了
mysql更改系统删除后端”192 .168 .5 .3609050″;由于是初次启动,如果在操作过程中遇到任何意外问题,都可以删除并重新创建仓库目录,再从头开始操作。其他两台是相同部署方式,由于192.168.12.28上8040和8060端口已经被占用,所以配置文件的端口信息启动192.168.12.28的是,查看
启动192.168.5.52的是,查看
部署经纪人配置文件为阿帕奇HDFS代理人/conf/阿帕奇HDFS代理人。主配置文件
注意:经纪人没有也不需要优先级_网络参数,经纪人的服务默认绑定在0.0.0.0 上,只需要在添加经纪人时,填写正确可访问的经纪人知识产权即可。
如果有特殊的分布式文件系统配置,复制线上的hdfs-site.xml到主配置文件目录下启动经纪人:
CD星锁-2。2 .0-rc02/Apache _ HDFS _ broker bin/start _ broker。sh-守护进程添加经纪人节点到集群中,查看经纪人状态:
关系型数据库查看经纪人状态:继续部署其他两个经纪人,三个经纪人的状态都是正常
实战使用表创建示例# 使用根用户建立示例_数据库数据库关系型数据库创建数据库示例_数据库#通过`显示数据库;` 查看数据库信息:mysql显示数据库;通过官方提供建表脚本创建表
如果不存在,则创建表详细演示(make _ time date not null comment ‘ yyyy-mm-DD ‘,mache _ verson tinyint comment ‘ range[-128,127]’,mache _ num smallint comment ‘ range[-32768,32767]’,de _ codeint comment ‘ range[-2147483648,2147483647]’,saler _ id bigint comment ‘ range[-2^63 1 ~ 2^63-1]’,pd_num channel float comment ‘ 4字节’,income DOUBLE COMMENT ‘8字节间隔一天))按HASH(make_time,mache _ verson)分布存储桶8属性(‘ replication _ num ‘=’ 3 ‘,’ dynamic_partition).# 命令查看当前库的所有表关系型数据库显示表格;# 查看表结构MySQL desc详细演示;# 查看建表语句,在斯塔洛克斯中字段名不区分大小写,表名区分大小写mysql秀创建表详细演示建表语句说明
排序键StarRocks表内部组织存储数据时,会按照指定的列进行排序。这些列是排序键,在detail模型中由DUPLICATE KEY指定,上面演示中的make _ time和mache _ verson列是排序列。请注意,在构建表时,排序列应该在其他列之前定义。排序键的详细描述和不同数据模型中表格的设置方法请参考排序键。StarRocks字段表支持多种字段类型。除了演示中已经列出的字段类型,它还支持位图类型、HLL类型和数组类型。有关字段类型的详细信息,请参考数据类型一章。在构建表时,尽量使用精确的类型。比如整形不要用string类型,满足INT类型就不要用bigINT。准确的数据类型可以更好地发挥数据库的性能。PARTITION,bucket partition关键字用于为表Kim Hye Yoon创建分区曹政奭(https://docs.starrocks.com/zhKramp-Karrenbauer cn/main/SQL Kramp-karren Bauer Reference/SQL Kramp-karren Bauer语句/data Kramp-Karrenbauer定义/create table #语法)。目前demo中使用make_time对范围进行分区,从11元日到15元日每天创建一个分区。StarRocks支持动态分区生成,PROPERTIES中dynamic_partition开头的相关属性配置是为表设置动态分区。有关详细信息,请参见动态分区管理。分布式关键字用于为表Kim Hye Yoon创建桶曹政奭(https://docs.starrocks.com/zh Kramp-Karrenbauer cn/main/SQL Kramp-karren Bauer reference/SQL Kramp-karren Bauer语句/数据Kramp-karren Bauer定义/create table #语法)。目前演示中使用make _ time和machine _ verson字段,通过Hash算法创建32元桶。合理的分区和桶设计可以在创建表时优化表的查询性能。有关如何选择分区和桶列的详细信息,请参见数据分布一章。数据重复关键字表示当前表是详细模型,key中的列表示当前表的排序列。StarRocks支持多种数据模型,包括细节模型、聚合模型、更新模型和主键模型。不同的模型适用于各种业务场景,合理的选择可以优化查询效率。默认情况下,索引星号将为键列创建稀疏索引,以加快查询速度。有关具体规则,请参见排序关键字和短索引章节。支持的索引类型有位图索引、Bloomfilter索引等。注意:在索引创建中对表模型和列有要求。详情请参考相应索引的引言章节。
引擎类型默认为olap。可选的mysql、elasticsearch、hive和ICEBERG表示创建的表是外部表。如果这篇文章对你有帮助,别忘了给我一个侏罗纪世界3公司,赞,转发,评论。下次见。

其他教程

南加州大学传媒管理专业(美国大学市场营销专业)

2022-8-29 13:51:40

其他教程

车享360全景影像怎么样(360全景影像前行能看吗)

2022-8-29 13:53:43

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索