2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

AxonIQ 发布最新的事件存储数据库 AxonDB

  • 2018-03-20
  • 本文字数:1229 字

    阅读完需:约 4 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

AxonIQ 公司最近发布了 AxonDB ,一款用于事件溯源的数据库,支持事务和基于推送的事件发布模式。为了确保数据库的性能不受存储容量的影响,AxonDB 的架构在读取数据方面下了功夫。AxonIO 方面的评测表明,即使在处理大量事件时,AxonDB 的性能仍然十分稳定。

AxonDB 支持完整的 ACID 事务模型,也就是说,可以在单个事务中插入多个事件。一致性是通过单调增长的唯一性序列号来实现的,所有事件必须持有一个这样的序列号。为了在高吞吐的情况下保证持久性,需要搭建 AxonDB 集群。

在往 AxonDB 插入事件时,事件不仅会被保存起来,还会被发送给事件监听器和事件处理器,从而避免了定时轮询,降低了延迟。

AxonDB 的其他特性包括:

  • 使用 Java 开发。
  • 直接操作文件,不使用任何底层的数据库系统。
  • 只允许以追加的方式插入事件。
  • 内置支持快照。
  • 支持临时的查询,包括使用 XPath——可以通过这种方式达到调试等目的。
  • 支持集群,集群只有一个主节点,写入事件时采用法定节点数原则。
  • 支持从传统数据库或 MongoDB 迁移到 AxonDB。

AxonIQ 的商务总监 Frans van Buul 在一次演讲中强调,甘特的研究数据表明,基于事件的架构(Event-Driven Architecture,EDA)是 2018 年的十大技术趋势之一,而事件溯源就属于 EDA 的一种。

AxonIQ 的团队之所以要设计这款全新的数据库,是因为他们找不到一款可以支持以下特性的事件存储数据库,比如:

  • 支持读取单个聚合中的所有事件,或者读取从某个时间点之后的所有事件。
  • 按照写入顺序读回事件。
  • 一次写入多个事件,并保证原子性,只能读取已提交的事件。
  • 性能不受存储大小的影响,支持快照。
  • 只支持追加方式写入,没有必要支持随机性的插入,不允许更新或删除,因为它们是不可变的。
  • 将存储过的事件发布给事件监听器。

RDBMS 对原子性有很好的支持,但性能是硬伤。当需要存储的事件很多时,性能就得不到保证。

文档数据库(如 MongoDB)可以存储大量的数据,但对事务的支持不太好。解决办法是将多个事件保存在同一个文档中,但这样会导致其他方面的问题。

Kafka 高度可伸缩,虽然是为保存临时消息而设计,但也可以无限制地保存消息。但在读取一个聚合中的事件时仍然存在问题,虽然可以使用 topic,但无法扩展到数百万个聚合。

由 Greg Young 领导开发的 Event Store 是另一个为事件溯源而设计的存储引擎。它把大部分的逻辑包含在了引擎当中,而 van Buul 希望能够把逻辑与存储分开。

基于上述的几点原因,他们最后决定自己开发一个新的数据库,专注于支持事件溯源。于是,AxonDB 诞生了——一款商业数据库,提供了 4 个版本,其中一个是免费的开发者版本(包含了文档)。

注:即将发布的 MongoDB 4.0 将支持跨文档事务

AxonIQ 提供了一个 GDPR 模块,确保事件中的个人数据使用加密秘钥进行加密,通过删除秘钥就可以移除个人数据。

2018 年 9 月 21 号将会有一场关于 Axon 产品的推介会

查看英文原文: AxonDB, a New Implementation of an Event Store

2018-03-20 19:001982
用户头像

发布了 731 篇内容, 共 467.2 次阅读, 收获喜欢 2006 次。

关注

评论

发布
暂无评论
发现更多内容

智能标注原理揭秘,一文读懂人工智能如何解决标注难题

百度大脑

人工智能 百度 学习 AI 百度大脑

LeetCode 题解:122. 买卖股票的最佳时机 II,JavaScript,一遍循环,详细注释

Lee Chen

大前端

多线程为了同个资源打起架来了,该如何让他们安定?

小林coding

并发编程 多线程 操作系统 计算机基础

第七周总结

andy

极客大学

存储性能加速引擎之预读

焱融科技

Linux sds 焱融科技 分布式存储 预读

阿里云高级技术专家李晓成:面向5G的云网一体及云原生应用实践

阿里云Edge Plus

字节跳动李本超:一年成为 Committer,我与 Flink 社区的故事

Apache Flink

flink

架构师训练营」第 7 周作业

edd

极客大学架构师训练营

程序员开启社交和打造影响力的最佳方式

非著名程序员

程序员 提升认知 写作 社交

一个简单的物联网设备接入网关高可用方案

凸出

Java nginx Netty

[POJ 1000] A+B Problem 经典水题 JAVA解题报告

一直AC一直爽

POJ OJ ACM 水题

面向进化的软件架构

星际行者

软件架构 进化

常见的emit实现AOP demo

八苦-瞿昙

随笔 随笔杂谈 aop

[POJ 1001] Exponentiation JAVA解题报告

一直AC一直爽

算法 刷题 POJ ACM

【API进阶之路】因为不会创建云服务器,我被实习生摆了一道

华为云开发者联盟

虚拟机 服务器 API 华为云 API接口管理

三分钟热度的干劲

落曦

Python好找工作吗?

cdhqyj

你的个人博客网站该上线了!

北漂码农有话说

第七周作业

andy

极客大学

【小白学YOLO】一文带你学YOLOv1 Testing

华为云开发者联盟

人工智能 算法 图像识别 什么是多线程

kubernetes 集群升级,备份,故障恢复(kubeadm)

小小文

Kubernetes 群集安装 故障 kubeadm

又被逼着优化代码,这次我干掉了出入参 Log日志

程序员小富

Java

数据分析师 ”痛“ 谁能了解

松子(李博源)

数据分析 产品经理 数据产品 数据模型

提速数字化!区块链加速应用落地,新制造与服务不断推出

CECBC

【源码系列】Spring Cloud Gateway

Alex🐒

源码 SpringCloud Gateway

饿了么4年 + 阿里2年:研发路上的一些总结与思考

程序员生活志

阿里 饿了么 经验总结

天府之国迎来数字经济发展高地新契机

CECBC

数字货币 区块链技术 应用落地 人才政策产业

密码学的随机性与区块链随机数

CECBC

JAVA算法

Bruce Duan

排序算法 Java算法

Fastjson到了说再见的时候了

YourBatman

Jackson Fastjson JSON库

BIGO | Likee深度推荐模型的特征工程优化

DT极客

AxonIQ发布最新的事件存储数据库AxonDB_语言 & 开发_Jan Stenberg_InfoQ精选文章