欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

DolphinDB基础概念理解:Orca

程序员文章站 2022-07-13 15:15:04
...
  • DolphinDB

    关于DolphinDB概况,参见《TSDB || DolphinDB || KDB+

    DolphinDB作为一个数据库以及一种分布式计算脚本语言,我用的是其高速的优点,然而现阶段很多人还意识不到Dol的价值及必要性,反应在工作中就是同事不了解,因此不能直接在生产环境中体验Dol的高速,现在有了Orca,会pandas的人都可以充分利用Dol的高性能及并发,为生产环境中使用Dol大大降低了门槛。

  • Orca设计理念

    1. Pandas易用但难处理TB级别的含量数据、高内存占用
    2. DolphinDB同等条件下比pandas快1-2数量级、内存占用小于pandas的1/2
    3. 两者部署方式及代码差别较大,不方便直接移植,Orca解决这个问题

    Orca作为基于DolphinDB引擎的pandas API,结合两者优点:分布式存储和计算低内存占用pandas编程风格

  • Orca设计架构

    DolphinDB基础概念理解:Orca

    Orca的DataFrame中只存储对应的DolphinDB的表的元数据。

    Orca的接口有部分限制:

    • OrcaDataFrame中的每个列不能是混合类型,列名也必须是合法DolphinDB变量名。
    • 如果DataFrame对应的DolphinDB表是一个分区表,数据存储并非连续,因此就没有RangeIndex的概念,且无法将一整个Series赋值给一个DataFrame的列。
    • 对于DolphinDB分区表,一部分没有分布式版本实现的函数,例如medianOrca暂不支持。
    • DolphinDB的空值机制和pandas不同,pandasfloat类型的nan作为空值,而DolphinDB的空值是每个类型的最小值。
    • DolphinDB是列式存储的数据库。对于pandas接口中,一些axis=columns参数还没有支持。
    • 目前无法解析Python函数,因此,例如DataFrame.apply,DataFrame.agg等函数无法接受一个Python函数作为参数。
  • Orca安装

    Orca集成在DolphinDB Python API中,通过pip安装DolphinDB Python API就可以直接使用Orca

    pip install dolphindb
    
  • References

  1. Orca: 基于DolphinDB的分布式pandas接口