写点什么

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:001803
用户头像

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

关注

评论

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

5W1H聊开源之Who和How——谁、如何参与开源?

禅道项目管理

开源 开源文化

Windows 11 这项亮点功能源自英特尔Bridge技术支持

E科讯

社群编码识别黑灰产攻击实践

百度Geek说

数仓备机DN重建:快速修复你的数仓DN单点故障

华为云开发者联盟

数据仓库 主机 华为云 备机 DN

iOS面试残篇-辟邪剑谱

程序员 面试 编程之路 移动开发 iOS 知识体系

CloudQuery 安全系列(一): Http 与 Https

BinTools图尔兹

数据库 网络安全 https 数据安全 数据库管理

奇亚矿机系统源码,Bzz节点分币系统搭建

41 位 Contributor 参与,1574 个 PR,不容错过的版本更新!

SphereEx

存储大师班:NFS 的诞生与成长

青云技术社区

存储 分布式存储 NFS

透过 3.0 Preview 看 Dubbo 的云原生变革

try catch

我的新书《C++服务器开发精髓》终于出版啦

张小方

c++ 网络编程 Linux服务器开发 C++后端开发 网路通信

网络攻防学习笔记 Day55

穿过生命散发芬芳

网络攻防 6月日更

在北鲲云超算平台上做球体落入水中的流固耦合仿真模拟记录

北鲲云

未来法律科技发展现五大趋势,区块链、AI、大数据吸引资本目光

CECBC

深入C语言中数据的存储

小写丶H

多路三线RTD电阻温度采集电路设计方案

不脱发的程序猿

电路设计 硬件开发 RTD电阻 温度采集电路

阿里最新秋招面经,腾讯/美团/字节1千道Java中高级面试题

Java 编程 程序员 架构 面试

字节跳动三面拿offer:网络+IO+redis+JVM+GC+红黑树+数据结构

Java 编程 程序员 架构 面试

CloudQuery 使用教程之《No.2数据查询(上)》

BinTools图尔兹

sql dba 数据库管理工具 国产数据库 开发运维

深度学习分类任务常用评估指标

华为云开发者联盟

机器学习 深度学习

Vue Conf关于Vite的分享给我带来的启发

前端森林

vite esm Vue 3

有没有字节工牌,Java并发安全的根本原因都得懂

慕枫技术笔记

Java 高并发

技术解密 |阿里云多媒体 AI 团队拿下 CVPR2021 5 冠 1 亚成绩的技术分享

阿里云CloudImagine

阿里云 AI 计算机视觉 经验分享 CVPR

解密开源技术的污点

BeeWorks

安卓工控主板显示接口有哪些呢?

双赞工控

安卓主板 工控主板 ARM开发主板

数字人民币双层运营架构下缘何衍生出2.5层?看完才明白,原来这么重要!

CECBC

dubbo 2.7应用级服务发现踩坑小记

捉虫大师

dubbo 服务发现

性能利器Takin来了!首个生产环境全链路压测平台正式开源

TakinTalks稳定性社区

开源 高可用 性能测试 压力测试

让AI发展避开“暗礁”,索信达控股推出自研区块链+联邦学习解决方案

索信达控股

区块链 金融科技 联邦学习 金融监管 风控

数字化时代,为什么解决信任问题是科技公司最重要的事情?

CECBC

Java 的函数式接口(必懂知识点!)

Java MySQL 程序员 面试

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