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访问权限。
项目详情
arcticdb-4.5.0-cp311-cp311-win_amd64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 090a7f4a01a4c435ab0f36582dc5a855f96411fe6bf9e7ff62b9497d4082931a |
|
MD5 | ae0de908df2d41112c809084cee9ad13 |
|
BLAKE2b-256 | 637bce36ad1792142edefedf3d4392c999b78bb829673f1324300b83fcc058dc |
arcticdb-4.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 691e46f62f6e2632cf54cffd13e4cba5ebbc356a06d86b567a6d105fdf4a4507 |
|
MD5 | e876b9931ba4c3168fe508961f30969b |
|
BLAKE2b-256 | 841cdc85757092ec5b74f210b8d76b0ff56d982d53bae485c06a66f556fe22c3 |
哈希值 用于 arcticdb-4.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7205b9f1ddbe79687be12f58353fc766d5e3395e1e57760e7873ec334c6c6b08 |
|
MD5 | af410d2313ac5c594e94787cb810474f |
|
BLAKE2b-256 | b043d41a42f58883f8b2c01e0d7149cc7ccd8882e905502390a546204eba89f1 |
哈希值 用于 arcticdb-4.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2d37551689edb35e7dfd4cdbf7eec45463a62de37873350ec3aeec44422a31da |
|
MD5 | c95b0ad887beec05397b7a5abea67da4 |
|
BLAKE2b-256 | 63921c5025f6f33c44ee22ddaecd354ecea51b1b913eae16460620706836fc37 |
哈希值 用于 arcticdb-4.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0402853f13451069e79dbd20ce755211bdf03f17df34cb68eb1c1bacb28ae434 |
|
MD5 | eca8b7486acc209c8137ada59eb5dae2 |
|
BLAKE2b-256 | adcf1bf37347ad1070ffd37cc04a89a9eff26a46198a40cb269a8df1b7abaaa4 |
哈希值 用于 arcticdb-4.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8e7aa1ba6c0630ea83bbda00ba83b251a94ed582893119441a054f2f5d84fc6e |
|
MD5 | 0ed4835b19a907bd77c5e00f39226121 |
|
BLAKE2b-256 | cee67e933bbe17d0b2eb3ee3b4394f80557cc95fdd935cf30c2107b82f67963e |
哈希值 用于 arcticdb-4.5.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bbc153a40e5194244a9c3d7c7401f104b99e0cef4b0d66dfd5586b9f89dcb777 |
|
MD5 | b0052ce646553fa9679a709f0a57d69d |
|
BLAKE2b-256 | 88e3879e1655af532d18d322ce8e822c608f84cc91368eaf028722490b9ce2df |