主要模块与功能
DolphinDB提供以下主要模块及功能:
高性能数据库
高吞吐低延迟的列式内存引擎。
列式混合引擎(基于内存和磁盘)给海量数据库提供了优越性能。
灵活的分区方案:值分区、范围分区、列表分区、哈希分区和组合分区。
支持单表百万级别的分区数,大大缩减对海量数据的检索响应时间。
库内分析:可在数据库中直接进行复杂的编程和运算,显著减少数据迁移所耗费的时间。
原生支持纳秒级精度时序数据。
扩展了标准的SQL功能,包括面板数据处理、非同时连接、窗口连接、窗口函数、透视表、复合列等。
支持同分区多表快速连接。
支持数据压缩。
支持动态增加数据表字段。
多范式编程语言
表达能力强。支持命令式编程、函数化编程、向量化编程、元编程、SQL编程和RPC编程。
易于学习。DolphinDB编程语言的语法与SQL和Python非常相似。
提供近600个内置函数,实现时间与字符串处理、文件处理、函数化编程、时间序列运算、矩阵运算、统计分析、机器学习等功能。
可通过用户自定义函数和插件扩展现有功能。
分布式计算
通过内存引擎、数据本地化、细粒度数据分区和并行计算实现高速的分布式计算。
内置流水线、map-reduce和迭代计算等多种计算框架。
为动态数据的分布式计算提供快照级别的隔离。
通过在内存中共享数据副本,大幅提升并发任务的吞吐量。
高效的分布式编程。在单个节点上编写脚本后,无需编译和部署即可在整个集群上执行。
使用内嵌的分布式文件系统自动管理分区数据及其副本,为分布式计算提供负载均衡和容错能力。
便捷的存储和计算能力水平扩展。
流数据计算
启用发布—订阅流数据计算模型,支持多级级联订阅。
支持流表对偶性。发布一条信息相当于在表中增加一条记录。可以使用SQL查询本地流数据或分布式流数据。
亚毫秒级的消息延迟。
使用流数据实时更新数据仓库。
可以从任意偏移量重现历史消息。
内置流数据聚合引擎,通过简单配置即可实现高性能的流计算。
系统管理及接口
内置Web服务器,用于集群管理、性能监控和数据访问。
通过内置函数、Web接口或Prometheus实现系统监控。
提供便捷的集成开发环境。
提供常用编程语言接口,包括C++, C#, Java, Python, R, JavaScript和Excel。
提供表级与函数级的用户权限管理,可按用户分配计算资源。
可定时执行用户自定义作业。
我们会在将来的版本中推出以下功能:
使用即时编译技术来提高迭代计算的性能。
增加系统自带的机器学习功能。
提供对其他分布式文件系统的支持。