PostgreSQL 与对象存储的结合: 在 MinIO 中访问外部数据

数据领域最激动人心的发展之一是湖仓一体功能在所有主要数据库供应商中的兴起。Snowflake 和 SQL Server 长期以来一直采用这一点,现在 PostgreSQL 正在通过 pg_lakehouse 拥抱这种范式转变,使得利用现代数据湖进行分析、AI 等比以往任何时候都更容易。随着越来越多的传统数据库继续允许您查询对象存储中的数据,AWS 选择弃用 Amazon S3 Select,这也许并非巧合。该领域有更多的进入者可以成功地为客户提供此功能以及更多功能。

虽然绿地化提供了为特定用例定制技术堆栈的快感,但完整的淘汰和替换策略很少可行,也不明智。相反,前进的道路在于利用现有的数据库技术进行计算,同时投资于世界一流的对象存储。在这个现代时代,数据和存储才是真正的价值,因为查询引擎虽然很重要,但已经变得商品化和可互换。pg_lakehouse使目前使用PostgreSQL的许多企业能够采用这种策略,使他们能够在不牺牲现有投资的情况下使用现代数据湖为未来进行构建。pg_lakehouse 是由 ParadeDB 开发的开源扩展。此扩展利用了 PostgreSQL 现有的外部数据包装器功能,并通过与 Apache DataFusion 的集成进行了增强,以提供对各种数据源的高性能分析。

从 SQL 到对象存储:新前沿

PostgreSQL长期以来一直支持外部表和扩展,使其能够与外部数据源进行交互。新的 pg_lakehouse 扩展延续了这一传统,使 PostgreSQL 能够查询存储在 MinIO 等对象存储系统中的数据。这不仅仅是一个附加组件,而是 PostgreSQL 现有功能的扩展,允许用户将外部对象存储视为其数据库中的本机表。与 MinIO Enterprise Object Store 配对,用户可以存储大量数据,同时将其与现有的 SQL 工作流集成。数据工程师们欢欣鼓舞,因为PostgreSQL已经成为对象存储的查询引擎。

为什么这很重要

在现代数据环境中,有效存储和分析数据的能力至关重要。就其本身而言,传统数据库在可扩展性和灵活性方面存在局限性,尤其是在处理大型数据集或多样化的数据格式时。现代数据湖架构结合了数据湖和数据仓库的优点,可以解决这些挑战。通过分解计算和存储,此体系结构使企业能够独立扩展资源,从而优化性能和成本。此外,现代数据湖支持各种 AI/ML 工作负载,确保数据始终可访问、具有弹性且安全,即使在地理位置分散的大型部署中也是如此。

PostgreSQL 和 MinIO 企业对象存储

将 PostgreSQL 与 MinIO 的企业对象存储 (EOS) 集成为构建现代数据湖奠定了坚实的基础,提供的功能可确保您的数据具有可扩展性、安全性和高性能。

1 . 使用 MinIO 跨数据源查询:使用 pg_lakehouse 扩展直接查询存储在 MinIO 中的数据。目前,与 S3 兼容的对象存储(如 MinIO)支持 CSV 格式。PostgreSQL 可以将这些文件视为本机表,使您能够执行复杂的分析,而无需移动数据。ParadeDB 表示,对 Iceberg 的支持将很快可用,进一步扩展数据湖的多功能性。对 Iceberg 的支持将很快推出,进一步扩展数据湖的多功能性。

2 . 企业级可扩展性:MinIO 的架构专为大规模而设计,可以毫不费力地管理 EB 级数据。MinIO 使用基于服务器池的分布式架构,允许水平扩展,这意味着您可以添加更多池以增加容量和性能,而不会造成中断。这种设计非常适合处理现代企业的大规模数据需求,确保您的基础设施能够随着数据需求的增长而增长。

3 . 高级安全性:安全性在现代数据架构中至关重要。MinIO EOS 提供强大的安全功能,包括用于服务器端加密的 MinIO Enterprise KMS(密钥管理系统)。EOS KMS确保您的数据在静态和传输过程中都得到加密,从而保持最高级别的数据保护。

4 . 高性能:MinIO Enterprise Cache 功能通过将频繁访问的数据存储在更靠近应用程序的位置,显着提高了数据访问速度。这对 PostgreSQL 查询特别有利,因为在 PostgreSQL 查询中,减少延迟可以加快查询执行速度,尤其是对于存储在数据湖中的大型数据集。世界上只有一种最快的对象存储,并且使用 NVMe SSD 的 GET 操作超过 325 GiB/s,PUT 操作超过 165 GiB/s,因此只有一种真正的对象存储选择来支持 PostgreSQL 作为查询引擎。

5 . 使用 MinIO 控制台简化管理:MinIO Enterprise Console 提供了一个基于 Web 的直观界面,用于在一个地方管理所有对象存储,包括监控、用户管理和策略执行。在构建现代数据湖时,这种易管理性至关重要,因为它允许管理员从单一界面有效地监督存储层。

通过利用 MinIO 企业对象存储的这些功能,结合 PostgreSQL 的强大功能,您很快将能够构建一个现代、安全且高度可扩展的现代数据湖,以满足当今数据密集型环境的需求。此设置不仅可以增强您的分析能力,还可以为面向未来的数据策略奠定坚实的基础,确保您的基础架构能够适应不断变化的数据管理环境。

开始使用 pg_lakehouse

安装过程很简单,官方 ParadeDB 文档中提供了详细的设置说明。作为 AGPL-3.0 许可的开源项目,pg_lakehouse 鼓励社区贡献并确保扩展保持免费和可访问性,使其成为希望使用 PostgreSQL 和 MinIO 实现数据基础设施现代化的组织的重要工具。

继续构建

通过 pg_lakehouse 将湖仓一体功能集成到 PostgreSQL 中,结合 MinIO 强大的对象存储,为现代数据需求提供了强大的解决方案。此举不仅仅是增加功能,而是反映了行业中更广泛的趋势,即数据湖和数据仓库融合在一起,提供两全其美的服务。随着越来越多的数据库采用类似的功能,数据分析的未来看起来比以往任何时候都更加光明和集成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/52494.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vscode开发小程序

1 安装 "微信小程序开发工具" 2 安装 "WXML - Language Service" 3 安装 "wxmp-api-plugin" 或 "wechat-snippet" 4 安装"WXSS"

一句话概括TMMi的每个PA

TMMi(Test Maturity Model Integration,测试成熟度模型集成)是一个由TMMi基金会开发的非商业化的测试成熟度模型,是对CMMI模型的一个补充。它可以帮助组织使测试过程从未管理的状态进化为已管理、已定义、已测量和优化的状态。 T…

BeautifulSoup4通过lxml使用Xpath定位实例

有以下html。<a>中含有图片链接&#xff08;可能有多个<a>&#xff0c;每一个都含有一张图片链接&#xff09;。最后一个<div>中含有文字。 上代码&#xff1a; import requests from bs4 import BeautifulSoup from lxml import etreeurlhttps://www.aaabb…

springboot物流信息管理系统—计算机毕业设计源码23895

摘要 科技进步的飞速发展引起人们日常生活的巨大变化&#xff0c;电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流&#xff0c;人类发展的历史正进入一个新时代。在现实运用中&#xff0c;应用软件的工作规…

智能计算方法与实现1|禁忌搜索算法|Rastrigin函数|压力容器设计问题

智能计算也有人称之为“软计算”&#xff0c;人们受自然&#xff08;生物界&#xff09;规律的启迪&#xff0c;根据其原理&#xff0c;模仿求解问题的算法。从自然界得到启迪&#xff0c;模仿其结构进行发明创造&#xff0c;这就是仿生学。这是我们向自然界学习的一个方面。另…

vue.js3+element-plus+typescript add,edit,del,search

vite.config.ts server: {cors: true, // 默认启用并允许任何源host: 0.0.0.0, // 这个用于启动port: 5110, // 指定启动端口open: true, //启动后是否自动打开浏览器 proxy: {/api: {target: http://localhost:8081/, //实际请求地址&#xff0c;数据库的rest APIschangeOr…

MySQL索引(二)

MySQL索引(二) 文章目录 MySQL索引(二)MySQL有哪些索引&#xff1f;MySQL的主键是聚簇索引吗&#xff1f;聚簇索引和非聚簇索引的区别什么是覆盖索引什么是回表主键问题 外键约束什么是外键什么是外键约束外键带来的问题 联合索引最左匹配原则如何建立联合索引索引下推 学习地址…

Android Auto推出全新Google助手设计

智能手机与汽车的无缝整合已成为现代驾驶的重要组成部分&#xff0c;而 Android Auto 一直在这一领域处于领先地位。谷歌通过不断推出新功能和更新&#xff0c;体现了其致力于提升 Android Auto 体验的决心。最近&#xff0c;Android Auto 引入了 Google助手的全新设计。 当系…

微信小程序代码目录结构介绍

文件描述app.js小程序的入口文件&#xff0c;负责监听和处理小程序的生命周期函数&#xff0c;以及定义一些全局的公共方法和数据。app.json公共全局配置文件。app.wxss公共全局样式文件。project.config.json项目的配置文件&#xff0c;包含一些项目级别的配置&#xff0c;如项…

科研绘图系列:R语言对角线矩阵图(corrplot plot)

介绍 对角线矩阵图(Diagonal Matrix Plot)是一种特殊类型的图表,用于可视化对角线矩阵中的元素。对角线矩阵是一种方阵,其中非对角线上的元素都是零,而对角线上的元素可以是任意值。这种矩阵在数学和计算机科学中非常有用,尤其是在线性代数、特征值问题和对角化等操作中…

使用 OpenCV 组合和缩放多张图像

在图像处理领域&#xff0c;我们经常需要将多张小图像组合成一张大图。例如&#xff0c;将多张图像按一定布局排列在一起&#xff0c;或者创建一个缩略图画廊。在这篇博客中&#xff0c;我将向你展示如何使用 Python 的 OpenCV 库来完成这一任务。 代码 下面是一段完整的 Pyt…

IO进程线程8月27日

1&#xff0c;思维导图 2&#xff0c;使用两个线程分别复制文件的上下两部分到同一个文件 #include<myhead.h> sem_t fastsem; //pthread_mutex_t fastmutex; void *capy_up(void *c) { // pthread_mutex_lock(&fastmutex);int len*(int *)c;int fp1open("./1…

代码随想录 刷题记录-18 动态规划(2)01背包问题、习题

一、01背包理论基础 例题&#xff1a;46. 携带研究材料 01 背包 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i]&#xff0c;得到的价值是value[i] 。每件物品只能用一次&#xff0c;求解将哪些物品装入背包里物品价值总和最大。 暴力解法&#xff1a…

SparkShop开源商城 uploadFile 任意文件上传漏洞复现

0x01 产品简介 SparkShop开源商城(也被称为星火商城)是一款基于ThinkPHP6和Element UI的开源免费可商用的高性能商城系统。适用于各类电商场景,包括但不限于B2C商城、新零售、分销商城等。无论是初创企业还是成熟品牌,都可以通过SparkShop快速搭建个性化独立商城,实现线上…

PHPShort轻量级网址缩短程序源码开心版,内含汉化包

需要网址缩短并且想获得更多有关链接点击率和流量的数据分析&#xff0c;那么 PHPShort 可能是一个非常好的选择。PHPShort 是一款高级的 URL 缩短器平台&#xff0c;可以帮助你轻松地缩短链接&#xff0c;并根据受众群体的位置或平台来定位受众。 该程序基于 Laravel 框架编写…

【Python机器学习】NLP分词——利用分词器构建词汇表(一)

在NLP中&#xff0c;分词&#xff08;也称切词&#xff09;是一种特殊的文档切分过程。而文档切分能够将文本切分成更小的文本块或片段&#xff0c;其中含有更集中的信息内容。文档切分可以是将文本分成段落&#xff0c;将段落分成句子&#xff0c;将句子分成短语&#xff0c;或…

GUI编程03:3种布局管理器

本节内容视频链接&#xff1a;https://www.bilibili.com/video/BV1DJ411B75F?p5&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5https://www.bilibili.com/video/BV1DJ411B75F?p5&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 1.FlowLayout 流式布局 代码&#xff1a;…

c++类的继承

1.直接继承父类的方法 #include <iostream> #include <string>using namespace std; class Person{ public:void eat(){cout<<"在吃饭"<<endl;} }; class Student : public Person{ private:int age; public:string name;Student() {cout &…

echarts倾斜横向堆叠柱状图

代码如下 option: {backgroundColor: "transparent",tooltip: {trigger: "axis",axisPointer: {lineStyle: {color: {type: "linear",x: 0,y: 0,x2: 0,y2: 1,colorStops: [{offset: 0,color: "rgba(126,199,255,0)", // 0% 处的颜色}…

J.U.C Review - 基本概念:进程、线程、线程组、优先级

文章目录 进程与线程的故事1.1 进程的诞生对操作系统的要求进一步提高为什么我们要使用多线程&#xff1f; 1.2 上下文切换的故事 Java多线程入门1. 继承Thread类代码示例 2. 实现Runnable接口代码示例 3. Thread类的构造方法和常用方法构造方法常用方法 4. Thread类与Runnable…