让数据更「高效」一点!IvorySQL在Neon平台上的迅速部署和灵活应用

国产服务器上编译安装ivorysql开源数据库(简约) aarch架构+KylinV10 sp1系统,源码编译安装ivorysql 阅读详情

图片

IvorySQL本身就是一个100%兼容PostgreSQL最新内核的开源数据库系统,而Neon Autoscaling Platform通常支持多种数据库和应用程序。将IvorySQL集成到该平台后,可以进一步增强与其他系统和应用程序的兼容性,同时更全面的体验IvorySQL的Oracle兼容功能带来的便利和优势,为用户提供更加灵活和多样化的选择。

在这篇文章中,我们将演示如何将 IvorySQL集成到 Neon Autoscaling Platform 的过程,引导您完成每个步骤,并提供清晰的说明和演示。

01

什么是Neon Autoscaling?

Neon的弹性伸缩功能为付费用户提供了极大的便利,该功能能够根据当前负载动态调整分配给Neon计算节点的计算资源量,无需用户进行繁琐的手动干预。

Neon Autoscaling的基本架构如下所示。有关更多详细信息,您可以参考这里。

https://docs.ivorysql.org/en/ivorysql-doc/v3.2/v3.2/8#architecture-overview

图片

弹性缩放主要功能:

>>>实时迁移

当Kubernetes集群中的节点负载趋于饱和时,NeonVM会管理实时迁移VM的流程,确保以最小的中断(通常仅约100毫秒)将VM从一台计算机无缝转移至另一台计算机。这一实时迁移机制不仅能在节点达到容量极限前主动减少负载,还能极大地提升集群的灵活性和可靠性。

>>>内存扩展

通过使用cgroups,Postgres的内存使用情况可以实现动态调整,当需要时,它能够有效地通过Kubernetes集群中的弹性伸缩程序代理请求其他的资源,以确保数据库始终保持最佳性能。

>>>本地文件缓存

利用Postgres扩展,我们实现了本地文件缓存功能,该功能能够充分利用额外的VM内存和动态调整缓存大小来加速查询处理速度,确保在扩展事件期间实现无缝且高效的操作。

通常,Neon的垂直弹性伸缩功能可智能地管理NeonVM中基于Postgres的计算节点的性能,通过动态分配和解除vCPU与RAM资源,实现高效且灵活的资源调度。

02

将IvorySQL放入Neon Autoscaling平台

在本节中,我们将为您详细指导IvorySQL 3.2版本与Neon Autoscaling平台的集成流程。在开始之前,请运行相应的命令以获取并查看Autoscaling的源代码。

git clone https://github.com/neondatabase/autoscaling.git
cd autoscaling
git checkout v0.28.1 -b IvorySQL3.2-autoscaling

接下来,请按照以下步骤对Autoscaling平台发布tagv0.28.1进行相应的更改。

2.1 创建IvorySQL vm示例

要创建IvorySQL VM示例,需要先复制“vm-examples”目录下的“pg16-disk-test”文件夹,并将其命名为“ivy3-disk-test”,然后对“image-spec.yaml”文件进行主要修改,修改后的所有文件均可在指定位置获取。

2.2 创建IvorySQL部署文件

为了创建IvorySQL的部署文件,请复制“vm-deploy.yaml”文件并命名为“vm-deploy-ivy3.yaml”。接下来,请参照提供的示例文件,对“vm-deploy-ivy3.yaml”进行必要的修改。

2.3 将ivy3-disk-test添加到Makefile

将“ivy3-disk-test”添加到Makefile中,并合并所需的修改,以便能够通过执行“make ivy3-disk-test”命令来构建“ivy3-disk-test”镜像。

2.4 加载liboracle_parser库

要加载 “liboracle_parser” 库,请在 “postgresql.conf” 的末尾添加以下行:shared_preload_libraries = 'liboracle_parser'。

如果要跳过上述所有步骤,只需运行以下命令即可:

git clone https://github.com/HighgoSoftware/autoscaling-ivorysql.git
cd autoscaling-ivorysql
git checkout IvorySQL3.2

2.5 使用kind设置本地Kubernetes集群

使用kind设置本地Kubernetes集群。下面简要概述了使用kind设置垂直自动缩放的过程;详情请参考此处。

1)构建NeonVM Linux内核:

make kernel

2)构建docker镜像:

make docker-build

3)使用kind启动本地集群:

make kind-setup

4)部署NeonVM和Autoscaling组件:

make deploy

5)生成并加载测试VM:

make pg16-disk-test

6)启动测试VM:

kubectl apply -f vm-deploy.yaml

7)运行pgbench:

VM_NAME=postgres16-disk-test scripts/run-bench.sh

2.6 体验IvorySQL的弹性伸缩

如果您已经按照上述步骤,成功自动扩容了 “postgres16”,那么运行以下三个命令,即可体验 IvorySQL 3.2 的自动扩容功能。

make ivy3-disk-test
kubectl apply -f vm-deploy-ivy3.yaml 
VM_NAME=ivorysql3-disk-test scripts/run-bench.sh

一段时间后,您应该会看到每秒事务数(tps)自动增加,如下所示。

图片

如果要缩减计算资源,可以使用以下patch命令:

kubectl patch neonvm ivorysql3-disk-test --type='json' -p='[{"op": "replace", "path": "/spec/guest/cpus/use", "value":0.25}]'

一段时间后,您应该能够观察到每秒事务数(tps)减少,如下所示。

图片

除了使用patch命令之外,您还可以使用编辑命令 'kubectl edit neonvm ivorysql3-disk-test' 来扩展或缩减IvorySQL计算节点。只需更改“cpus”部分下的“use”值,如下所示:

spec:
    enableAcceleration: true
    guest:
        cpus:
            max: 1250m
            min: 250m
            use: 250m

2.7 体验 Oracle 与 IvorySQL 的兼容性

为了简化操作,避免使用复杂的Kubernetes命令,您可以选择直接登录运行IvorySQL的虚拟机。以下是登录IvorySQL VM、连接到IvorySQL数据库、检查版本以及测试Oracle兼容功能的详细步骤示例。

IVY_VM=$(kubectl get neonvm ivorysql3-disk-test -ojsonpath='{.status.podName}')

kubectl exec -it $IVY_VM -- screen /dev/pts/0

图片

上面的屏幕截图显示IvorySQL 3.2在Neon Autoscaling Platform 上运行,并支持使用Oracle DUAL Table 的sysdate 查询。您可以参考IvorySQL开发人员指南,探索更多Oracle兼容功能。

03

总结

这篇文章提供了将IvorySQL集成到Neon垂直弹性伸缩平台的指南。通过详细的说明和演示,希望您可以了解如何将基于IvorySQL的数据库合并到Neon弹性伸缩环境中,并体验IvorySQL与Oracle的兼容功能。

04

今后工作

未来,我们正在考虑:

  • 合并Postgres-16将Neon更改为IvorySQL作为无服务器分支。

  • 使IvorySQL 3.0成为Neon存储库的子模块。

  • 构建具有独立存储节点的IvorySQL 3.0计算节点。

当IvorySQL集成到Neon Autoscaling Platform后,最终用户将能够指定除PostgreSQL 14/15/16之外的IvorySQL计算节点,同时更全面的体验IvorySQL的Oracle兼容功能带来的便利和优势。

原文链接:

https://www.highgo.ca/2024/05/02/bringing-ivorysql-to-neon-autoscaling-platform/

IvorySQL内核的Serverless数据库——HGNeon适配国内云对象存储 🐘我们基于Neon的项目开源的核心部分,提供了部署脚本和k8s manifest,开发了proxy一写多读模式,丰富了REST API接口,适配了国内主流云厂商的对象存储,形成HGNeon产品。接下来,我们来验证一下用国内云厂商的云存储服务支撑HGNeon的存储部分,效果如何?存储节点启动完成后,启动第一个计算节点,启动后有1个pod、3个service、1个deployment。2.准备阿里云账号,开通OSS服务,创建一个桶(Bucket),创建账号ak、sk,授权OSS。 阅读详情

相关推荐

面积二次矩second moment of area 极惯性矩polar moment of area 转动惯量moment of inertia面积一次矩first moment of area

看论文记录一下力学的名词专业术语,后面可以查看。

subtitle_的博客 5371

IvorySQL系列:初始IvorySQL 3.0 在CentOS 7.9下源码安装及不同兼容模式验证测试

IvorySQL项目最初由瀚高公司发起,基于流行的PostgreSQL分支,发展成了一个遵循Apache 2.0开源协议的项目。截至到2024年1月,最新版本为IvorySQL Release 3.0 beta版。与PostgreSQL完全兼容,并且还集成了一些独特特性,这种融合让其在保持兼容性的同时增加了更多的功能。IvorySQL社区对于与PostgreSQL的兼容性非常重视,并且承诺可以直接替代最新版本的PostgreSQL。

shlei5580的专栏 1625

VNC Viewer建立多个图形界面,来远程访问同一个服务器(Ubuntu)

如题。目前已经有了一个VNC viewer连接,那么如果再开一个图形界面呢? 思路主要是:新建一个用户,从这个用户新建一个vnc连接,然后访问图形界面。

the Blog of 等不到天亮丶等时光 5901

“从0到1”指南 | IvorySQL数据库建模,助你快速实现数据操作!

IvorySQL支持标准的SQL类型int、smallint、real、double precision、char(N)、varchar(N)、date、time、timestamp 和 interval,同时还支持其他的通用功能的类型和丰富的几何类型。IvorySQL是在PostgreSQL数据库的基础上提供特有附加功能并兼容oracle特性的数据库,基于开源数据库解决方案之上为其终端用户提供价值,并为中小型企业提供一个具有高性能、可扩展性、可靠性和易于使用的解决方案。详细内容请咨询你的站点管理员。

IvorySQL的博客 609

FAGLB03余额显示异常排查与修复指南

本文针对SAP新总账中FAGLB03报表余额显示异常问题,提供了专业的排查与修复指南。文章深入剖析了数据不一致的核心原因,如FAGLFLEXT汇总表与凭证明细不同步、年度余额结转(FAGLGVTR)失败等,并详细介绍了使用FAGLF03进行精准诊断、通过SE38执行标准调整程序TFC_ADJUST_VZ进行修复的标准操作流程,帮助用户快速恢复数据一致性,确保财务报表的准确性。

weixin_29313423的博客 307

Cesium+Three.js融合实战:从零构建GIS与BIM一体化场景

本文详细介绍了如何将Cesium与Three.js进行技术融合,从零构建GIS与BIM一体化场景。通过环境配置、核心场景搭建、坐标转换、性能优化及交互处理等实战步骤,阐述了Cesium负责宏观地理空间渲染、Three.js处理微观精细BIM模型的协同方案,为智慧城市、数字孪生等应用提供关键技术实现路径。

weixin_29230865的博客 464

IvorySQL:兼容Oracle数据库的开源PostgreSQL

今天给大家介绍一款基于 PostgreSQL 开发、兼容 Oracle 数据库的国产开源关系型数据库管理系统:IvorySQL。

Tony.Dong的专栏 1169

CMOS锁相环核心:四种鉴频鉴相器(PFD)结构深度剖析与选型指南

本文深入剖析了CMOS锁相环中四种鉴频鉴相器(PFD)的结构与性能,包括传统RS触发器型、非时钟型、预充电型和边沿触发型PFD。通过详细的电路分析、实测数据和工程案例,提供了PFD选型的实用指南,帮助工程师根据速度、功耗和精度需求选择最优方案,提升锁相环设计效率。

weixin_42530458的博客 588

版本发布| IvorySQL 4.5 发布

2025 年 6 月 4 日,IvorySQL 4.5 正式发布!新版本全面支持 PostgreSQL 17.5,新增多项新功能,并修复了已知问题。

IvorySQL的博客 1018

AWR1642+DCA1000EVM 不使用mmWave Studio软件采集原始ADC数据 Timeout问题汇总

DCA1000 EVM Timeout问题汇总

Jesy_Hsu的博客 1476

GPU加速的容器化AI开发:AnolisOS/CentOS8中的NVIDIA驱动与CUDA最佳实践

本文详细介绍了在AnolisOS/CentOS8系统中配置NVIDIA驱动与CUDA的最佳实践,涵盖驱动安装、CUDA工具链配置、容器运行时设置及性能优化等关键步骤。特别针对容器化AI开发场景,提供了GPU透传和资源管理的实用方案,帮助开发者构建高效的GPU加速开发环境。

weixin_27791839的博客 341

「2024 年度技术精华盘点」IvorySQL & PostgreSQL 技术干货全解析!

2024 年,IvorySQL 持续输出高质量技术内容,涵盖 PostgreSQL 核心技术解析 和 IvorySQL 创新实践 两大方向。无论您是数据库领域的初学者,还是经验丰富的开发者,这些干货文章都能为您带来新的启发与实用价值。现在,让我们一起回顾这些精彩内容,探索数据库技术的无限可能!

IvorySQL的博客 661

JAVA审批流程,一个简单表结构设计方案By OU

一、表结构设计1.流程表(process)用于存储审批流程的基本信息。字段名类型描述idBIGINT主键,流程IDname流程名称TEXT流程描述DATETIME创建时间DATETIME更新时间statusTINYINT(1)流程状态(0: 停用, 1: 启用)2.节点表(process_node)用于管理流程中的每个审批节点。字段名类型描述idBIGINT主键,节点IDprocess_idBIGINT流程ID,外键关联process.id。

1901

瀚高IvorySQL Operator项目正式开源

是一种特定于应用的控制器,可扩展Kubernetes API 的功能,来代表Kubernetes 用户创建、配置和管理复杂应用的实例。,希望IvorySQL Operator在以数据价值驱动发展的新竞争时代中能够助推企业数字化转型,助力开源数据库生态的创新与成长。2021年,瀚高开源了基于PostgreSQL并兼容Oracle数据库的IvorySQL项目,随着IvorySQL的发布及更新,文档规范化,参考IvorySQL的管理方式,将ivory-operator文档规范化;IvorySQL单机数据库功能。

IvorySQL的博客 375

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

从 PostgreSQL 升级至 IvorySQL 4.0

除了上述步骤外,还需要同步确认数据库高可用组件的升级,扩展插件的升级,监控项的调整,应用程序的连接驱动、安全认证,数据库功能变化和参数变化带来的影响,其他兼容性变更,以及对应用程序可能造成影响的其他因素等等。因此,在进行数据库升级和迁移之前,建议制定详细的升级计划和方案,并进行充分的测试和验证,以确保升级过程的顺利进行和业务的稳定运行。在选择升级方案时,可以从这几个角度方面进行考虑和对比:数据库数据量大小,对应用停机时间的影响,新版本数据库是否支持现、新软硬件环境,对人员的技能要求和成本控制。

少安事务所 1041

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

应用指南 | 在IvorySQL中使用pglogical扩展模块

pglogical 是 PostgreSQL 的逻辑复制插件,专注于PostgreSQL数据库间高效复制和同步数据。它支持选择性复制特定表或数据,而非整个数据库,从而提供灵活性和低延迟的实时更新。与物理复制相比,逻辑复制能够跨不同版本的 PostgreSQL,便于版本升级和数据迁移,同时支持多源复制,将多个源数据库的数据整合到同一目标数据库。这使得 pg_logical 特别适用于负载均衡、实时数据分析、灾难恢复和数据整合等多种场景。

IvorySQL的博客 747

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

IvorySQL 3.2 贡献独门秘籍,可以平滑迁移Oracle???

这样的设计使得当IvorySQL遇到updatexml函数调用时,能够调用相应的c函数来处理,从而实现了对Oracle中updatexml函数的兼容。它是一种轻便的,可扩展的,标准的且简学易懂的保存数据的语言。由于UPDATEXML函数的参数数量是不确定的,因此采用了表达式方式来实现,这要求为其编写专门的语法分析代码和执行器代码,以确保其功能的正确性和灵活性。这些XML函数作为ivorysql_ora插件的一个子插件提供,确保了与PostgreSQL数据库在XML处理方面的兼容性和一致性。

IvorySQL的博客 1198

IvorySQL 4.2 发布

IvorySQL 4.2 已于 2025 年 1 月 13 日正式发布。新版本全面支持 PostgreSQL 17.2,并修复了多项 bug。

IvorySQL的博客 564

esp-hal医疗设备开发:低功耗与可靠性的设计要点

在医疗设备开发领域,低功耗与可靠性是保障设备稳定运行的核心要素。esp-hal作为面向ESP32微控制器的no_std硬件抽象层,为医疗设备开发者提供了高效的硬件控制能力。本文将深入探讨基于esp-hal开发医疗设备时的低功耗优化策略与可靠性设计要点,帮助开发者构建符合医疗行业标准的嵌入式系统。 ## 一、低功耗设计:延长医疗设备续航的核心策略 ### 1.1 深度睡眠模式的精准控制 esp-

gitblog_00052的博客 711

IvorySQL之Oracle兼容性

上文介绍并演示了IvorySQL的几个兼容特性

IvorySQL的博客 807

IvorySQL新增命令及有关配置参数介绍

如果想要切换为Oracle,则输入命令:set ivorysql.comatible_mode=Oracle,此时客户端仍然处于PG parser,需要再次输入命令\parser,此时才能更新parser为PG parser;如果想要切换为PG,则输入命令:set ivorysql.comatible_mode=PG,此时客户端仍然处于Oralce parser,需要再次输入命令\parser,此时才能更新parser为PG parser;默认该变量的值为0,表示日期格式不受NLS参数的影响。

IvorySQL的博客 448

IvorySQL 4.0 发布:全面支持 PostgreSQL 17

IvorySQL 开源社区小伙伴们,大家好,IvorySQL 开源社区今天激动的向大家宣布:IvorySQL 4.0 发布了!这是 2024 年以来发布的最新版本,相较于上个版本,有了较大的变化。该版本有多项增强:全面支持 PostgreSQL 17,新增和完善多种 Oracle 兼容特性,如不可见列特性和包功能等。下面将会为大家详细解读。

IvorySQL的博客 977

从零到一!CLup助你秒建IvorySQL4.0高可用集群

在CLup数据库管理系统中可以快速便捷地创建IvorySQL4.0数据库高可用流复制集群。泡杯茶的时间,轻松创建IvorySQL数据库高可用流复制集群,快来试试吧!

csudata的博客 841

IvorySQL: 开源世界里的Oracle兼容之王

在数据库领域,选择一款既强大又具备广泛兼容性的解决方案实属不易。而今天,我们将要推荐的IvorySQL,正是这样一位集大成者,它不仅拥有PostgreSQL的强大功能,还实现了对Oracle的高度兼容,成为众多企业和开发者的新宠。 ## 项目介绍 IvorySQL是一款先进的开源数据库系统,它致力于提供一个既与最新版本PostgreSQL完全兼容,又支持Oracle语法和特性的全方位解决方案。...

gitblog_00801的博客 978
上一篇: IvorySQL 3.2 发版 | 基于PG16.2,新增Oracle XML函数兼容功能
下一篇: 五一劳动节:聚力开源,致敬劳动的力量
IvorySQL
博客等级 码龄5年 745粉丝 565原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值