主要模块与功能

DolphinDB提供以下主要模块及功能:

高性能数据库

  • 高吞吐低延迟的列式内存引擎。

  • 列式混合引擎(基于内存和磁盘)给海量数据库提供了优越性能。

  • 灵活的分区方案:值分区、范围分区、列表分区、哈希分区和组合分区。

  • 支持单表百万级别的分区数,大大缩减对海量数据的检索响应时间。

  • 库内分析:可在数据库中直接进行复杂的编程和运算,显著减少数据迁移所耗费的时间。

  • 原生支持纳秒级精度时序数据。

  • 扩展了标准的SQL功能,包括面板数据处理、非同时连接、窗口连接、窗口函数、透视表、复合列等。

  • 支持同分区多表快速连接。

  • 支持数据压缩。

  • 支持动态增加数据表字段。

多范式编程语言

  • 表达能力强。支持命令式编程、函数化编程、向量化编程、元编程、SQL编程和RPC编程。

  • 易于学习。DolphinDB编程语言的语法与SQL和Python非常相似。

  • 提供近600个内置函数,实现时间与字符串处理、文件处理、函数化编程、时间序列运算、矩阵运算、统计分析、机器学习等功能。

  • 可通过用户自定义函数和插件扩展现有功能。

分布式计算

  • 通过内存引擎、数据本地化、细粒度数据分区和并行计算实现高速的分布式计算。

  • 内置流水线、map-reduce和迭代计算等多种计算框架。

  • 为动态数据的分布式计算提供快照级别的隔离。

  • 通过在内存中共享数据副本,大幅提升并发任务的吞吐量。

  • 高效的分布式编程。在单个节点上编写脚本后,无需编译和部署即可在整个集群上执行。

  • 使用内嵌的分布式文件系统自动管理分区数据及其副本,为分布式计算提供负载均衡和容错能力。

  • 便捷的存储和计算能力水平扩展。

流数据计算

  • 启用发布—订阅流数据计算模型,支持多级级联订阅。

  • 支持流表对偶性。发布一条信息相当于在表中增加一条记录。可以使用SQL查询本地流数据或分布式流数据。

  • 亚毫秒级的消息延迟。

  • 使用流数据实时更新数据仓库。

  • 可以从任意偏移量重现历史消息。

  • 内置流数据聚合引擎,通过简单配置即可实现高性能的流计算。

系统管理及接口

  • 内置Web服务器,用于集群管理、性能监控和数据访问。

  • 通过内置函数、Web接口或Prometheus实现系统监控。

  • 提供便捷的集成开发环境。

  • 提供常用编程语言接口,包括C++, C#, Java, Python, R, JavaScript和Excel。

  • 提供表级与函数级的用户权限管理,可按用户分配计算资源。

  • 可定时执行用户自定义作业。

我们会在将来的版本中推出以下功能:

  • 使用即时编译技术来提高迭代计算的性能。

  • 增加系统自带的机器学习功能。

  • 提供对其他分布式文件系统的支持。