跳转到主要内容

ArcticDB DataFrame 数据库

项目描述



ArcticDB 网站 | 📘 ArcticDB 文档 | 📰: ArcticDB 博客 | 新闻稿 | 新闻稿 | 社区


ArcticDB 是一个高性能、无服务器的 DataFrame 数据库,专为 Python 数据科学生态系统构建。于 2023 年 3 月推出,是 Arctic 的继任者。

ArcticDB 提供了一个直观的以 Python 为主的 API,使您能够利用快速的 C++ 数据处理和压缩引擎将 Pandas DataFrame 读取和写入 S3 或 LMDB。

ArcticDB 让您可以

  • Pandas 输入,Pandas 输出:在 Python 中读取和写入 Pandas DataFrame、NumPy 数组和原生类型到 S3 和 LMDB,无需离开 Python。
  • 专为时间序列数据构建:高效地对数十亿行时间序列数据进行索引和查询
  • 时间旅行:回到过去查看数据的先前版本,并创建可定制的数据库快照
  • 无模式数据库:无需受现有模式限制即可追加、更新和修改数据
  • 针对流数据优化:内置对高效稀疏数据存储的支持
  • 强大的处理能力:使用类似 Pandas 的语法即时过滤、聚合和创建新列
  • C++ 效率:通过 C++ 数据处理引擎中的并发加速分析

ArcticDB 可以处理行数和列数都很大的数据,因此 20 年以上的 40 万多种独特证券的历史记录可以存储在一个单独的 符号 中。每个 符号 都作为独立的实体维护,没有共享数据,这意味着 ArcticDB 可以跨 符号 横向扩展,最大化计算、存储和网络性能潜力。

ArcticDB 从一开始就被设计成具有容错性;没有单点故障,存储中的持久数据结构意味着一旦一个 符号 的版本被写入,它就不会被后续更新所损坏。直接从存储中将压缩数据拉取到客户端意味着没有服务器会过载,因此您的数据始终可用。

快速入门

预构建的二进制文件可用性

PyPI (Python 3.6 - 3.11) conda-forge (Python 3.8 - 3.11)
Linux (Intel/AMD) ✔️ ✔️
Windows (Intel/AMD) ✔️
MacOS Beta️

有关 conda-forge 的信息,请参阅 发布信息

存储兼容性

Linux Windows Mac
S3 ✔️ ✔️ ✔️
LMDB ✔️ ✔️ ✔️
Azure Blob 存储空间 ✔️ ✔️

我们对以下 S3 后端进行了测试

  • AWS S3
  • Ceph
  • Linux 上的 MinIO
  • Pure Storage S3
  • Scality S3
  • VAST Data S3

安装

安装 ArcticDB

$ pip install arcticdb

或使用 conda-forge

$ conda install -c conda-forge arcticdb

导入 ArcticDB

>>> import arcticdb as adb

在您的 S3 存储上创建一个实例(带或不带明确的凭据)

# Leave AWS to derive credential information
>>> ac = adb.Arctic('s3://MY_ENDPOINT:MY_BUCKET?aws_auth=true')

# Manually specify creds
>>> ac = adb.Arctic('s3://MY_ENDPOINT:MY_BUCKET?region=YOUR_REGION&access=ABCD&secret=DCBA')

或在本地磁盘上创建一个实例

>>> ac = adb.Arctic("lmdb:///<path>")

创建您的第一个库并列出实例中的库

>>> ac.create_library('travel_data')
>>> ac.list_libraries()

创建一个测试 DataFrame

>>> import numpy as np
>>> import pandas as pd
>>> NUM_COLUMNS=10
>>> NUM_ROWS=100_000
>>> df = pd.DataFrame(np.random.randint(0,100,size=(NUM_ROWS, NUM_COLUMNS)), columns=[f"COL_{i}" for i in range(NUM_COLUMNS)], index=pd.date_range('2000', periods=NUM_ROWS, freq='h'))

获取库,写入一些数据,并读取它

>>> lib = ac['travel_data']
>>> lib.write("my_data", df)
>>> data = lib.read("my_data")

有关数据处理的更多信息,请访问我们的 文档


文档

ArcticDB 文档的源代码位于 docs 文件夹中,并在 docs.arcticdb.io 上托管。

许可证

ArcticDB 在 商业源代码许可证 1.1 (BSL) 下发布。

BSL功能可以免费使用,源代码也公开,但用户在没有与Man Group Operations Limited达成协议的情况下,不得将ArcticDB用于生产或作为数据库服务。

将ArcticDB用于生产或作为数据库服务需要从Man Group Operations Limited购买许可证,并受ArcticDB软件许可协议的约束。如需更多信息,请联系arcticdb@man.com

BSL不是认证的开源许可证,但大多数开源软件促进会(OSI)的标准都已满足。请参见下表中的版本转换日期。

ArcticDB版本 许可证 转换为Apache 2.0
1.0 商业源代码许可1.1 2025年3月16日
1.2 商业源代码许可1.1 2025年5月22日
1.3 商业源代码许可1.1 2025年6月9日
1.4 商业源代码许可1.1 2025年6月23日
1.5 商业源代码许可1.1 2025年7月11日
1.6 商业源代码许可1.1 2025年7月25日
2.0 商业源代码许可1.1 2025年8月29日
3.0 商业源代码许可1.1 2025年9月13日
4.0 商业源代码许可1.1 2025年9月27日
4.1 商业源代码许可1.1 2025年11月1日
4.2 商业源代码许可1.1 2025年11月12日
4.3 商业源代码许可1.1 2026年2月7日
4.4 商业源代码许可1.1 2026年4月5日

行为准则

行为准则

本项目已采用行为准则。如果您对行为准则有任何疑问,或在该项目中遇到任何行为问题,请通过arcticdb@man.com与我们联系。

贡献/从源码构建

我们欢迎您的贡献,帮助我们改进和扩展此项目!

请参阅贡献页面,并在GitHub上自由地提出问题。

我们始终欢迎来自我们忠实社区的反馈!如果您已经使用过ArcticDB,请告诉我们,我们非常愿意了解您的使用体验!

我们的发布过程在此记录

社区

我们非常乐意了解您的ArcticDB之旅如何发展,请通过arcticdb@man.com或在我们Twitter上与我们聊天!

想了解更多关于ArcticDB的信息?请访问我们的博客

您有任何问题或问题吗?通过我们的专用Slack工作区与其他用户聊天 - 在我们的网站上注册Slack访问权限。

项目详情


发布历史 发布通知 | RSS源

下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装软件包的信息。

源代码分发

此版本没有可用的源代码分发文件。请参阅生成分发归档文件的教程。

构建分发

arcticdb-4.5.0-cp311-cp311-win_amd64.whl (6.7 MB 查看哈希值)

上传时间 CPython 3.11 Windows x86-64

arcticdb-4.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.0 MB 查看哈希值)

上传时间 CPython 3.11 manylinux: glibc 2.17+ x86-64

arcticdb-4.5.0-cp310-cp310-win_amd64.whl (6.8 MB 查看哈希值)

上传时间 CPython 3.10 Windows x86-64

arcticdb-4.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB 查看哈希值)

上传时间 CPython 3.10 manylinux: glibc 2.17+ x86-64

arcticdb-4.5.0-cp39-cp39-win_amd64.whl (6.7 MB 查看哈希值)

上传时间 CPython 3.9 Windows x86-64

arcticdb-4.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB 查看哈希值)

上传时间 CPython 3.9 manylinux: glibc 2.17+ x86-64

arcticdb-4.5.0-cp38-cp38-win_amd64.whl (6.8 MB 查看哈希值)

上传时间 CPython 3.8 Windows x86-64

arcticdb-4.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB 查看哈希值)

上传时间 CPython 3.8 manylinux: glibc 2.17+ x86-64

arcticdb-4.5.0-cp37-cp37m-win_amd64.whl (6.7 MB 查看哈希值)

上传时间 CPython 3.7m Windows x86-64

arcticdb-4.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.2 MB 查看哈希值)

上传时间 CPython 3.7m manylinux: glibc 2.17+ x86-64

arcticdb-4.5.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB 查看哈希值)

上传时间 CPython 3.6m manylinux: glibc 2.17+ x86-64

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面