阿里云云原生数据仓库

阿里云云原生数据仓库

专用API
【更新时间: 2024.08.12】 云原生数据仓库AnalyticDB PostgreSQL版(原HybridDB for PostgreSQL)提供简单、快速、经济高效的PB级云端数据仓库解决方案。
浏览次数
21
采购人数
0
试用次数
0
! SLA: N/A
! 响应: N/A
! 适用于个人&企业
收藏
×
完成
取消
×
书签名称
确定
<
产品介绍
>

什么是阿里云云原生数据仓库?

云原生数据仓库AnalyticDB PostgreSQL版(原HybridDB for PostgreSQL)提供简单、快速、经济高效的PB级云端数据仓库解决方案。兼容Greenplum开源数据仓库,MPP全并行架构,广泛兼容PostgreSQL/Oracle的语法生态,新一代向量引擎性能超越传统数据库引擎10倍以上,分布式SQL优化器实现复杂查询语句免调优。实现了对海量数据的即席查询分析、ETL 处理及可视化探索,是各行业有竞争力的云上数据仓库解决方案。

什么是阿里云云原生数据仓库接口?

由服务使用方的应用程序发起,以Restful风格为主、通过公网HTTP协议调用阿里云云原生数据仓库 ,从而实现程序的自动化交互,提高服务效率。

阿里云云原生数据仓库有哪些核心功能?

1. 易适配,免调优

支持SQL 2003,部分兼容Oracle语法,支持PL/SQL存储过程。新一代SQL优化器,实现复杂分析语句免调优。

2. PB级数据秒级分析

MPP水平扩展架构,支持PB级数据查询秒级响应。向量化计算及列存储智能索引,相比较传统数据库引擎在性能方面约有十倍的提升。

3. 高可用,服务永远在线

支持分布式事务,数据ACID一致性支持,所有节点和数据跨机器冗余部署,具备自动化监控和故障切换机制,确保在任何硬件故障情况下服务能持续在线。

4. 广泛生态兼容

支持主流BI、ETL工具。通过PostGIS插件支持地理信息数据分析,MADlib库内置超过300个机器学习算法库。

5. 数据互联互通

支持通过DTS、DataWorks等工具,实现多种数据源的实时同步与批量导入;支持高并发访问OSS,构建数据湖分析。

阿里云云原生数据仓库的技术原理是什么?

AnalyticDB for PostgreSQL分为存储弹性模式和Serverless两种产品形态。存储弹性模式是基于ECS+ESSD云盘的Shared-Nothing架构采用MPP架构,Serverless是基于ECS+本地缓存+OSS远端存储的存储计算分离的Shared-Storage架构。

AnalyticDB for PostgreSQL实例包含一个协调节点(又称Master节点)和多个工作节点(又称Segment节点)。协调节点负责集群的元数据管理、负载均衡等。工作节点负责数据处理,工作节点内部包含Orca优化器、自研的Laser执行引擎和Beam存储引擎,实现查询的高性能,同时结合IMV实时物化视图组件,打造实时数仓。工作节点挂载的ESSD云盘负责热数据存储,而冷数据则存储在OSS中,通过冷热数据分层存储,兼顾查询性能和存储成本。工作节点的计算资源和存储资源,可独立扩缩容。image

阿里云云原生数据仓库的核心优势是什么?

1. ETL离线数据处理

面对复杂SQL优化和海量数据大规模聚合分析等挑战,云原生数据仓库AnalyticDB PostgreSQL版具有如下技术优势:

    • 支持标准SQL、OLAP窗口函数和存储过程。
    • ORCA分布式SQL优化器,复杂查询免调优。
    • MPP多节点全并行计算,PB级数据秒级响应。
    • 基于列存储的高性能大表扫描,极高压缩比。

2. 在线高性能查询

面对任意维度数据即时探索和数据实时入库更新等挑战,云原生数据仓库AnalyticDB PostgreSQL版具有如下技术优势:

    • 高吞吐数据写入及更新(如INSERT、UPDATE、DELETE)。
    • 行存储及多种索引(如B-tree、Bitmap),点查询毫秒级返回。
    • 支持分布式事务,标准数据库隔离级别,支持HTAP混合负载。

3. 多模数据分析

面对多种非结构化数据源的挑战,云原生数据仓库AnalyticDB PostgreSQL版具有如下技术优势:

    1. 支持PostGIS插件扩展,实现地理数据分析处理。
    2. 通过MADlib插件扩展,内置多种机器学习算法,实现AI Native DB。
    3. 支持通过向量检索,实现非结构化数据(如图片、语音、文本)的高性能检索分析。
    4. 支持JSON等格式,支持日志等半结构化数据处理分析。

在哪些场景会用到阿里云云原生数据仓库?

1. 数据仓库服务

您可以通过数据传输服务(DTS)或数据集成服务(DataX),将云数据库(例如RDS、PolarDB)或自建数据库批量同步到云原生数据仓库AnalyticDB PostgreSQL版。云原生数据仓库PostgreSQL版支持对海量数据的复杂ETL进行处理,这些操作任务也可以被DataWorks调度。同时它还支持高性能的在线分析能力,可以通过Quick BI、DataV、Tableau、帆软等即时查询数据,并将数据以报表形式展现。

2. 大数据分析平台

对于MaxCompute、Hadoop和Spark中保存的海量数据,可通过采用数据集成服务(DataX)或通过对象存储服务(OSS),快速批量导入到云原生数据仓库AnalyticDB PostgreSQL版,帮助您实现高性能分析处理和在线数据探索。

3. 数据湖分析

云原生数据仓库AnalyticDB PostgreSQL版可以通过外部表机制,高并行直接访问海量云存储OSS上的数据,构筑阿里云统一数据湖分析平台。

<
产品价格
>
适用范围:
个人&企业
免费方式:
不提供
定价方式:
FreeMarker template error (DEBUG mode; use RETHROW in production!): For "${...}" content: Expected a string or something automatically convertible to string (number, date or boolean), or "template output" , but this has evaluated to a sequence (wrapper: f.t.SimpleSequence): ==> serviceInfo.pricingWayList [in template "view/api/info/tab/package-price.ftl" at line 54, column 51] ---- FTL stack trace ("~" means nesting-related): - Failed at: ${serviceInfo.pricingWayList} [in template "view/api/info/tab/package-price.ftl" at line 54, column 49] - Reached through: #include "view/api/info/tab/package-p... [in template "view/api/info/special/index.ftl" at line 353, column 25] ---- Java stack trace (for programmers): ---- freemarker.core.NonStringOrTemplateOutputException: [... Exception message was already printed; see it above ...] at freemarker.core.EvalUtil.coerceModelToTextualCommon(EvalUtil.java:525) at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:401) at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:370) at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:100) at freemarker.core.DollarVariable.accept(DollarVariable.java:63) at freemarker.core.Environment.visit(Environment.java:334) at freemarker.core.Environment.visit(Environment.java:340) at freemarker.core.Environment.include(Environment.java:2925) at freemarker.core.Include.accept(Include.java:171) at freemarker.core.Environment.visit(Environment.java:334) at freemarker.core.Environment.visit(Environment.java:340) at freemarker.core.Environment.process(Environment.java:313) at freemarker.template.Template.process(Template.java:383) at org.springframework.web.servlet.view.freemarker.FreeMarkerView.processTemplate(FreeMarkerView.java:391) at org.springframework.web.servlet.view.freemarker.FreeMarkerView.doRender(FreeMarkerView.java:304) at org.springframework.web.servlet.view.freemarker.FreeMarkerView.renderMergedTemplateModel(FreeMarkerView.java:255) at org.springframework.web.servlet.view.AbstractTemplateView.renderMergedOutputModel(AbstractTemplateView.java:179) at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:316) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1373) at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1118) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1057) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) at javax.servlet.http.HttpServlet.service(HttpServlet.java:626) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.ruoyi.common.filter.RepeatableFilter.doFilter(RepeatableFilter.java:43) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:118) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:158) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at com.ruoyi.framework.security.filter.JwtAuthenticationTokenFilter.doFilterInternal(JwtAuthenticationTokenFilter.java:42) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:92) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:77) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) 错误

404页面错误,error


请求出错,再试一次,或使用浏览器的返回按钮,导航到您之前访问的网页。

或者您可以点击下面这个小按钮:

返回首页