Halo 数据库介绍
Halo数据库是由 杭州易景科技公司 自主研发的一款高性能数据库产品。公司创始人是一位资深的数据库领域专家,基于对技术的深刻理解与热爱,带领团队精心打造了这款数据库,内部代号为“羲和”,业内亦称之为 Halo 数据库,并拥有多项核心技术。
易景科技采用世界领先的数据库技术,结合实际核心生产业务系统的丰富经验,自主研发出这款数据库产品。Halo数据库具备先进的多模数据库架构,能够高度兼容多种主流数据库系统,这一特性大大降低了系统迁移的成本与风险。根据实际生产环境的测试数据,使用 Halo 数据库可以减少95%以上的代码修改量,这意味着企业在系统迁移过程中,开发与调试的工作量几乎降至最低。
此外,Halo数据库完全兼容 PostgreSQL,确保基于 PostgreSQL 的应用系统可以无缝迁移至 Halo。这种高兼容性不仅减少了迁移的技术障碍,也为企业带来了更灵活的应用环境选择,充分展现了 Halo 数据库在兼容性与性能优化方面的领先优势。
这款数据库目前实力不容小觑,根据墨天轮数据库排行榜,截止到9月14日,Halo 数据库目前在关系型数据库队伍中排行第 25 位。
Halo数据库产品已成功入选工信部信创产品图谱;已经和麒麟、统信、中科方德、东方通、宝兰德、鲲鹏、飞腾、兆芯、海光等主流厂商几十个产品完成了产品互认证,同时也是工信部信创工委会的会员单位、工信部电子技术标准化研究院数据库标准工作组成员单位、中国高科技产业化研究会会员单位。
Halo 数据库特点
Halo数据库除了完全兼容PostgreSQL,也能很好的兼容Oracle和MySQL,这快在其官网文档里也有很全面的介绍,可登录其官网查阅这部分详细资料。
在前段时间和他们技术人员交流中得知,Halo 数据库对 DB2、SQL Server的兼容性也是很不错的。
Halo 数据库体系简介
在Halo 数据库官网资料中有副图比较详细的介绍了 Halo 数据库的体系结构,如下所示:
根据上述这幅图可以简单的对 Halo 数据库体系结构做个介绍,主要包含如下部分:
共享内存区域(Shared Memory Area, SMA):
共享缓冲池(Shared Buffer Pool, SBP):用于存储从磁盘读取的数据页,这些页会在执行查询时提供快速访问,以提高读写性能。
临时缓冲池(Temp Buffer Pool):存储临时表和其他短期数据,优化临时操作的执行速度。
WAL缓冲区(WAL Buffer):用于写前日志(WAL)的临时存储,确保数据修改在写入磁盘前被记录。
提交日志(Commit Log):记录事务提交的信息,用于确保数据一致性。
后台进程:
后台写入进程(Background Writer):负责将脏页从共享缓冲池异步写入磁盘,减少主进程的I/O负担。
WAL写入进程(WAL Writer):负责将WAL缓冲区中的日志数据写入磁盘,确保数据的持久性。
检查点进程(Check Pointer):定期将所有修改过的数据写入磁盘,并创建检查点,减少系统恢复时间。
统计收集器(Statistic Collector):
负责收集数据库运行的统计信息,这些信息有助于查询优化和系统监控。
自动清理进程(Autovacuum Launcher):
Vacuum Worker:用于自动清理过时的数据行和释放空间,防止表膨胀。
前端和后端进程:
客户端进程(Client Process):外部应用与数据库之间的连接和交互部分。
后端进程(Backend Process):处理来自客户端的查询请求,包括工作内存(Work Memory)、维护工作内存(Maintenance Work Memory)和临时缓冲区(Temp Buffer)等。
如何学习 Halo 数据库
在当前信创形式下,很多企事业单位,尤其以国企、事业单位面临去O、去M的要求,在这种情况下,不妨选择 Halo 数据库作为国产化选型对象。
当然对于很多运维和开发DBA 人员肯定更关注该如何学习 Halo 数据库。此处就给大家介绍几个好的学习途径。
1) 途径一: 官网文档
登录 Halo 数据库官网,易景科技-(HALO)羲和数据库 (halodbtech.com),在其首页点击 “文档”可进入 Halo 数据库官网文档页面,如下所示
点击进入后,可看到有比较详细的官网文档介绍,如下图所示:
2) 途径二: 公众号文档
这位博主来自 Halo 数据库公司,秉承对技术的热爱,更是为了很多初学者照相,这为博主精心打造了一个 Halo 数据库学习课程,目前已经在他的公众号写了多篇 小白零基础系列学习 Halo 数据库 的文章,非常适合大家从零基础学习 Halo 数据库,大家可以扫描其公众号二维码进行关注。
下面是这位博主的公众号,大家可以关注下。
另外他的文章也已同步到了墨天轮社区,链接地址:https://www.modb.pro/u/434587
以下是我整理了当前这位博主的课程详细链接,大家可以点开学习。
https://www.modb.pro/db/1742448541921009664 Halo DB 14 小白零基础系列(1)-基本操作指南
https://www.modb.pro/db/1744274937307815936 Halo DB 14 小白零基础系列(2)--用户的权限与管理
https://www.modb.pro/db/1744941686802423808 Halo DB 14 小白零基础系列(3)--用户的权限与管理
https://www.modb.pro/db/1746710507876864000 Halo DB 14 小白零基础系列(4)--系统基础视图介绍篇
https://www.modb.pro/db/1747866473246838784 Halo DB 14 小白零基础系列(5)--SQL语句以及基本概念熟知
https://www.modb.pro/db/1750075884547690496 Halo DB 14 小白零基础系列(6)--SQL语句的基本用法续篇
https://www.modb.pro/db/1751849390520225792 Halo DB 14小白零基础系列(7)--HaloDB中的体系结构
https://www.modb.pro/db/1753301588630392832 Halo DB 14 小白零基础系列(8)--HaloDB中的postgersql.conf文件简介
https://www.modb.pro/db/1761980457223745537 Halo DB 14 小白零基础系列(9)--HaloDB中的pg_hba.conf文件
https://www.modb.pro/db/1765272479002595328 Halo DB 14 小白零基础系列(10)--HaloDB中MySQL模式下的流复制实现
https://www.modb.pro/db/1775357062414929920 Halo DB 14 小白零基础系列(11)--在HaloDB中replace into 的实现
https://www.modb.pro/db/1778042301553643521 Halo DB 14 小白零基础系列(12)--在HaloDB中的备份与恢复浅谈
https://www.modb.pro/db/1780479187438080000 Halo DB 14 小白零基础系列(13)--在HaloDB中的恢复工具pg_restore
https://www.modb.pro/db/1782386338829520896 Halo DB 14 小白零基础系列(14)--HaloDB中的分区表
https://www.modb.pro/db/1783383814566924288 Halo DB 14 小白零基础系列(15)--HaloDB中使用Patroni实现高可用
https://www.modb.pro/db/1793208705533677568 Halo DB 14 小白零基础系列(16)--初探读写分离解决方案之DLB
https://www.modb.pro/db/1793886256698560512 Halo DB 14 小白零基础系列(17)--初探HaloDB的Oracle兼容性
https://www.modb.pro/db/1798720892062732288 Halo DB 14小白零基础系列(18)--欠债的子查询
https://www.modb.pro/db/1809126975438675968 Halo DB 14小白零基础系列(19)--HaloDB中如何玩转存储过程
https://www.modb.pro/db/1811635893480996864 Halo DB 14小白零基础系列(20)--HaloDB中如何玩转存储过程续篇
https://www.modb.pro/db/1828002658722078720 Halo DB 14小白零基础系列(21)--HaloDB中的DBMS包浅谈上篇
https://www.modb.pro/db/1836604799031193600 Halo DB 14小白零基础系列(21)--HaloDB中的DBMS包浅谈下篇
注:前段时间获悉,Halo 数据库在原有基础上又增加了很多新功能,大家可以关注这位博主留言,获取他们产品进行试用。
如果在试用过程中有什么问题,还可以跟这位博主反馈,让博主拉你进产品吐槽群,他们公司真的很open,没有像有些公司对产品问题藏着掖着,非常希望你能真实的反馈产品问题。