暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

IvorySQL-WASM:免安装的数据库探索之旅

198

简介

为了降低社区用户的使用门槛,提升使用体验,IvorySQL 社区特别推出了 IvorySQL-WASM 项目,帮助用户快速在线 Demo。

IvorySQL-WASM 基于开源的 Postgres-WASM 框架开发。它允许用户直接在网页浏览器中体验 IvorySQL,无需本地安装或复杂部署。通过结合 WebAssembly 和虚拟化技术,IvorySQL-WASM 提供了一种简单、轻量且易于访问的方式,让开发者、测试人员和数据库爱好者能够轻松探索 IvorySQL 的强大功能。

技术分析

IvorySQL-WASM 核心技术:

  • V86:x86 模拟器,用于模拟虚拟操作系统所需的硬件环境,包括 CPU、内存、VGA、BIOS 和串口等组件。

  • BuildRoot:用于构建在 V86 上运行的精简 Linux 系统镜像,集成 IvorySQL 4.4 服务及其稳定运行环境。

  • WebAssembly (WASM):一种低级的类汇编二进制指令格式,通过 Emscripten[1] 等工具将 C/C++ 代码编译为 WASM 模块,从而将现有的 C 库生态系统移植到 Web 平台。WASM 具有紧凑的二进制格式和接近原生的运行性能,是 IvorySQL-WASM 项目运行数据库服务的核心技术。

快速部署

开发者若想在本地部署 IvorySQL-WASM 项目,可参考以下步骤:

Linux 环境

  1. 准备运行依赖工具:Node.js 和 npm。
  2. 克隆项目:git clone git@github.com:IvorySQL/ivorysql-wasm.git
  3. 进入 package/runtime
     目录,启动 http 服务:npx serve
  4. 在浏览器访问:http://server_ip:3000

Windows 环境

  1. 下载并安装 Node.js[2]
  2. 在 PowerShell 的相应目录下执行 npx.cmd serve
    ,启动 http 服务器。

体验

通过访问 http://192.168.31.186:3000/
,用户可以进行 IvorySQL 在线体验,例如创建 t1
 表格并列出表格。

运行精简 Linux 虚拟机时,浏览器需先下载相关镜像系统文件(约 35MB)和状态快照(15MB)。因此,首次打开页面可能需要等待几秒至二十几秒,具体时长取决于 http 服务位于内网还是外网环境。状态快照用于快速加载预配置的数据库。

通过任务管理器可以观察到,IvorySQL 在浏览器中的运行对 CPU 和内存的占用较为理想。

注意事项

  1. 数据库存储在内存中,刷新页面后数据库将被清空,系统恢复到初始状态。

  2. IvorySQL 采用双端口设计,默认连接端口为 1521。若需从 5432 端口登录,请在 shell 终端退出 psql,然后执行:psql -U postgres -p 5432 -d postgres


  3. 如果用户想保存当前的数据库怎么办?请点击“Save state to file”,浏览器会自动产生并下载 v86state.bin
     文件;再次使用保持的数据库时,点击页面“Restore from file”,上传 v86state.bin
     文件即可。

  4. V86 系统最小内存配置 128 MB,即当前为配置。

开发者可以改动源码,满足实际需求。

  1. BuildRoot 部分请参考 package/buildroot/README.md
  2. V86 部分请参考 https://github.com/copy/v86/releases/tag/latest
  3. Web 页面部分请参考 package/runtime/README.md

社区版即将发布

IvorySQL-WASM 社区版将会伴随 IvorySQL 4.5 一起发布,详情请关注 IvorySQL 官网[3]和本公众号信息。

HOW 2025 预告

围绕“PostgreSQL 技术生态” 这一核心命题,HOW 2025 生态大会将于 6 月 27 日在济南开幕,聚焦全球数据库技术发展趋势、开源创新与行业实践,打造产学研用深度融合的技术交流平台。大会为期两天,围绕 PostgreSQL 进行协作、学习和创新,共同推动 PostgreSQL 技术的未来。

目前,议题征集正在火热进行中!无论您是 PostgreSQL 内核开发者、DBA,还是 PostgreSQL 领域的技术专家,都欢迎来分享您宝贵的技术和经验。

  • 官网:https://howconf.cn/
  • 议题提交直达:https://jsj.top/f/Tr5eXn

引用链接

[1] 

Emscripten: https://emscripten.org/

[2] 

Node.js: https://nodejs.org/dist/v22.15.0/node-v22.15.0-x64.msi

[3] 

IvorySQL 官网: https://www.ivorysql.org/zh-cn/

关注公众号,了解更多社区动态

推荐阅读 -

PGConf.dev 2025 圆满落幕!HOW 2025 生态大会即将启航!
全球 PG 大咖相聚泉城!HOW 2025 生态大会邀您提交议题
深入解析 PostgreSQL 外部数据封装器(FDW)的 SELECT 查询执行机制
技术无界·共创未来|PG 全球开发者大会(PGConf.Dev)亮点前瞻
探索表访问方法功能:顺序扫描分析
- 关于 IvorySQL -
IvorySQL 是由瀚高股份主导研发的一款开源的兼容 Oracle 的 PostgreSQL。IvorySQL 与 PostgreSQL 国际社区紧密合作,保持与最新 PG 版本内核同步,为用户提供便捷的升级体验。基于双 Parser 架构设计,100% 与原生 PostgreSQL 兼容,支持丰富的 PostgreSQL 周边工具和扩展,并根据用户需求提供定制化工具。同时,IvorySQL 提供更全面灵活的 Oracle 兼容功能,具备高度的 SQL 和 PL/SQL 兼容性能够为企业构建更加高效、稳定和灵活的数据库解决方案。
官网:https://www.ivorysql.org
GitHub(欢迎点击 star 收藏哦):https://github.com/IvorySQL/IvorySQL
社群:微信搜索“ivorysql_official” 添加小助理进群


最后修改时间:2025-09-09 10:50:18
文章转载自IvorySQL开源数据库社区,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论