# 关于 DolphinDB **URL**: https://docs.dolphindb.cn/zh/about/ddb_intro.html **来源**: DolphinDB 官方文档 --- 关于 DolphinDB 欢迎阅读 DolphinDB 技术文档! DolphinDB 是一款基于高性能时序数据库,支持复杂分析与流计算的实时计算平台。DolphinDB 针对数据存储、统计分析、实时计算和机器学习等多种需求,提供高效读写、快速查询、复杂分析、分布式并行计算、低延迟流处理等功能,支持高可用与水平扩展。 如下为 DolphinDB 的系统架构图: 图 1 . DolphinDB 系统架构图 结合架构图,以下对 DolphinDB 的核心组件进行详细介绍。 分布式架构 自研的 分布式存储机制 ,数据有序分散存储在不同的数据节点上,由控制节点统一精准地管理所有分区的元数据信息,包括分区和副本信息、分区版本号等要素,从而确保各节点上分区数据和副本的一致性,以提升集群的容错性和可扩展性。 提供在线和离线扩展方式、支持横向(添加更多节点)和纵向(增加单个节点的资源)的扩展系统、并且提供无缝高效的 数据迁移 和 再平衡 技术。 提供控制节点、数据节点和客户端的 高可用 方案,以确保系统在任何单节点故障下都能提供稳定的服务,从而有力保障业务的连续性。 具备全面灵活的 备份与恢复 机制,以保障数据安全,为业务保驾护航。 提供高容错性的 异步复制 方案,其具有低延迟、高吞吐量的特点,方便实现数据跨节点、跨地域的异步复制,从而增强数据资产的安全性。 多模存储引擎 支持 TSDB、OLAP、 PKEY、 IMOLTP 、VECTORDB 存储引擎。分别满足不同场景需求: TSDB 引擎 采用 PAX 行列混存,提供性能卓越的大数据分析与点查分析。 OLAP 引擎 采用列式存储,与 TSDB 引擎相比,更适合用于对时间跨度较长的某些列数据进行聚合计算。 PKEY 引擎 是提供主键唯一性保证的,支持实时更新和高效查询的存储引擎,能够有效满足从 OLTP 数据库的主键表 CDC 到 DolphinDB 中进行数据分析的需求。 IMOLTP 引擎 是内存数据库,以行存的形式来组织数据,不仅支持事务,同时通过创建 B+ 树索引 (主键索引和二级索引) 的方式来应对高频度、高并发的更新和查询操作,该引擎将所有数据都存储在内存中。 VECTORDB 引擎 支持对向量数据创建索引,并实现了快速的近似最近邻搜索,满足对大规模向量数据高效检索和响应的需求。 保证事务 ACID 特性,提供快照级别的隔离机制。 支持多种无损数据 压缩 算法,包括 LZ4, delta-of-delta, zstd, chimp,字典压缩等,压缩率可达 4:1~10:1。 支持 分级存储 ,区分热数据和冷数据存储,减少存储成本。 批计算处理 使用内嵌的 分布式文件系统 ,不仅简化数据管理流程,还显著增强了分布式计算环境的负载均衡能力,同时提供了强大的容错机制,确保数据的高可用性和计算任务的连续执行。 内置 2000+ 多领域、多种类、多功能的 函数 ,覆盖广泛的数据处理需求,并开放接口支持用户自定义函数,帮助用户轻松应对各类复杂应用场景的挑战。 分布式计算框架集成了 pipeline 、 Map-Reduce 和迭代计算等多种计算模型,为用户提供性能最优的一站式多样化数据解决方案。 通过 SQL 语言与函数、表达式的无缝结合,以及 向量化计算 ,开拓性地助力用户直接在数据库层面进行复杂的数据分析及运算,从而显著提升数据处理的速度和效率。 充分利用多机多核 CPU 资源,凭借精细的 并行处理 策略与高效的任务调度算法,实现了对海量数据的快速处理。 流数据处理 支持通过流数据表进行 流数据 订阅与发布。 内置 时间序列聚合 、 横截面处理 、 响应式状态处理 、 异常检测 、 会话窗口 、 多表关联 等流式计算引擎,提供 滑动窗口 、 累计窗口 、 统计函数 等算子。用户可通过串联调用计算引擎构建高效强大的计算流水线,或借助流数据引擎解析器(streamEngineParser)自动构建计算流水线,从而满足复杂多变的业务需求。 支持 回放历史数据 ,支持 1 对 1,N 对 N,N 对 1 三种回放形式。 支持 流批一体 ,即将研发环境中基于历史数据建模分析得到的因子或表达式直接应用于生产环境的实时数据中,并保证流计算的结果和批量计算完全一致。该功能可为用户的测试、验证和回溯分析提供极大便利。 支持从多种数据源 接入实时流数据 实时写入 DolphinDB 中,并自动处理数据格式转换和同步问题。 内置 CEP 引擎 (Complex Event Processing,复杂事件处理),能够接收实时数据流,定义事件并从事件流中检测特定事件,进而对满足指定规则的事件执行预设的操作。 实现亚毫秒级的延迟,确保实时数据处理的极致性能。 多范式编程语言 DolphinDB 内置图灵完备的编程语言。其支持命令式编程、函数式编程、向量化编程、SQL 编程等 多范式编程语言 ,凭借语言简洁灵活、表达能力强的优势,帮助用户实现开发效率的飞跃式提升。 支持 SQL-92 标准 ,更在此基础上扩展了如组内计算、透视表等多种功能。同时兼容 Oracle 和 MySQL 等主流 SQL 方言。 良好生态 提供丰富全面的 SDK 生态,包括 Python , C++ , C# , Go , R 和 JavaScript 等多种主流编程语言。 多种客户端,包括 Web 集群管理器 、 DolphinDB VS Code 、 JAVA GUI 、 Jupyter Notebook 、 DolphinDB 终端 。 多领域、多种类、多方式的 插件 ,涵盖数据存取、行情接入、金融相关、消息队列、数值计算、机器学习、网络、云存储、文件等。 提供 模块 化设计,为用户提供便捷的 技术分析指标库 、 指标库 、 因子库 、 因子指标库 、 运维函数库 、 历史数据导入 、 行情数据接入模块 、 多因子风险模型 、 交易日历 等,旨在简化功能代码的调用流程和优化系统维护效率。 集成专属的 DataX 、 Grafana 等第三方工具,可衔接数据传输与可视化等多种解决方案。