Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FlaxKV:Python高性能磁盘字典,简单易用 #2674

Open
phymathics opened this issue Jan 15, 2024 · 2 comments
Open

FlaxKV:Python高性能磁盘字典,简单易用 #2674

phymathics opened this issue Jan 15, 2024 · 2 comments

Comments

@phymathics
Copy link

phymathics commented Jan 15, 2024

推荐项目

  • 类别:Python

  • 项目标题:FlaxKV:Python高性能磁盘字典,简单易用

  • 项目描述:flaxkv 提供了一个非常类似字典的接口,用于与高性能键值数据库进行交互。 你可以直接将它当成python字典来使用而不必担心在任何时候操作数据库时会阻塞你的用户进程。

  • 亮点:

    • 保持最新,永不阻塞:它被设计的初衷便是不让任何写入操作阻塞用户进程,同时用户永远可以读取到最新写入的数据。

    • 易于使用:与数据库交互,就像使用 Python 字典一样!你甚至不用关心它的资源释放

    • 缓冲写入:数据将被缓冲写入及计划写入数据库,减少数据库频繁写入的开销。

    • 高性能数据库后端: 使用高性能键值数据库 LevelDB 作为默认后端。

    • 原子操作:确保写入操作是原子的,保证数据完整性。

    • 线程安全:仅使用必要的锁来确保安全的并发访问同时又能兼顾性能。

  • 示例代码:

# 这段代码描述了 flaxkv 字典数据库的写入与读取。
from flaxkv import FlaxKV
import numpy as np
import pandas as pd

db = FlaxKV('test_db')
db['a dict'] = {'a': 1, 'b': [1, 2, 3]}
db['numpy array'] = np.random.randn(100, 100)
db['df'] = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})

print(db['numpy array'])
print(db['df'])
  • Benchmark 截图
    img

适用场景

  • 键-值型结构
    适用于保存简单的键值结构数据
  • 高频写入
    适合需要高频插入/更新数据的场景
  • 机器学习
    适用于保存机器学习中的各种嵌入向量、图像、文本和其它键-值结构的大型数据集。
@phymathics phymathics changed the title FlaxKV:Python高效磁盘字典,简单易用,性能卓越 FlaxKV:Python高性能磁盘字典,简单易用 Jan 15, 2024
@521xueweihan
Copy link
Owner

@phymathics 建议给出使用场景,方便用户了解

@phymathics
Copy link
Author

@phymathics 建议给出使用场景,方便用户了解

已更新适用场景

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants