Logo

ReductStore: 为边缘计算和物联网优化的高性能时序对象存储数据库

ReductStore简介

ReductStore是一款专为存储和管理大量非结构化数据而设计的高性能时序数据库。它在写入和实时查询方面都具有出色的表现,同时还提供了数据批处理功能,这使得它成为边缘计算、计算机视觉和物联网等网络延迟较高应用场景的理想解决方案。

为什么需要ReductStore?

目前市场上已有众多时序数据库,它们提供了出色的功能和可扩展性。然而,这些数据库主要集中于处理数值型数据,对非结构化数据的支持有限。另一方面,S3等对象存储解决方案虽然适合存储blob对象,但缺乏在时间域内操作数据的API。

在许多应用场景中,我们需要收集图像、高频传感器数据、二进制包或大型文本文档等非结构化数据,并提供对其历史记录的访问。许多公司为这些应用构建的存储解决方案都是基于TSDB和Blob存储的组合。虽然这种方案可行,但要保持两个数据库的数据一致性、实现保留策略并提供良好性能的数据访问,是一项具有挑战性的开发任务。

ReductStore项目旨在为需要在特定时间间隔内存储和访问非结构化数据的应用提供完整的解决方案。它保证您的数据不会溢出硬盘,并通过批处理记录来减少高延迟网络中的关键HTTP请求数量。

ReductStore架构

ReductStore的主要特性

  1. 时序Blob存储: 专为边缘计算、计算机视觉和物联网设计,可捕获和访问作为时间序列的blob数据。

  2. 无Blob大小限制: ReductStore可处理任意大小的blob数据,唯一的限制是您的磁盘容量。

  3. 实时FIFO配额: 基于大小的实时FIFO桶配额,避免磁盘空间不足。

  4. 数据标记和过滤: 轻松管理时序blob数据:注释、过滤并保存AI标签或元数据。

  5. 高级HTTP(S) API: 使用功能丰富且安全的API与ReductStore集成和通信。

  6. 高效数据批处理: 通过在批量HTTP响应中获取记录,最大限度地减少高延迟区域的网络开销。

  7. 数据复制: 通过复制在桶之间同步数据,实现高可用性和灾难恢复。

  8. 迭代数据查询: 以最小负载高效查询大型数据集,用于实时和历史数据处理。

  9. 令牌授权: 使用基于令牌的授权保护数据访问,防止未经授权的访问。

ReductStore特性

快速入门

ReductStore提供了多种安装和使用方式,以满足不同用户的需求:

使用Docker镜像

最快速的启动方式是使用Docker镜像:

docker run -p 8383:8383 -v ${PWD}/data:/data reduct/store:latest

使用Cargo安装

如果您更喜欢使用Cargo,可以按以下步骤操作:

apt install protobuf-compiler
cargo install reductstore
RS_DATA_PATH=./data reductstore

使用客户端SDK

ReductStore提供了多种编程语言的客户端SDK,使集成更加简便:

以下是一个使用Python SDK的简单示例:

import time
import asyncio
from reduct import Client, Bucket

async def main():
    # 创建客户端连接ReductStore服务
    async with Client("http://localhost:8383") as client:
        # 创建一个桶并存储引用
        bucket: Bucket = await client.create_bucket("my-bucket", exist_ok=True)

        # 写入数据到桶
        ts = time.time_ns() / 1000
        await bucket.write("entry-1", b"Hey!!", ts)

        # 从桶中读取数据
        async with bucket.read("entry-1", ts) as record:
            data = await record.read_all()
            print(data)

# 运行主函数
loop = asyncio.get_event_loop()
loop.run_until_complete(main())

ReductStore生态系统

除了核心数据库功能,ReductStore还提供了一系列工具来简化管理、监控和优化过程:

  1. CLI客户端: 提供命令行界面,用于直接与ReductStore交互。
  2. Web控制台: 提供Web界面,用于管理ReductStore实例。

ReductStore Web控制台

应用场景

ReductStore在多个领域都有广泛应用,尤其适合以下场景:

  1. 边缘AI: 在边缘设备上存储和管理AI模型所需的大量数据。
  2. 计算机视觉: 高效存储和检索图像和视频数据。
  3. 物联网(IoT): 管理来自大量传感器的时序数据。
  4. 高频振动数据存储: 存储和分析工业设备的振动数据。

社区与支持

ReductStore拥有活跃的社区支持:

  • 问题和想法: 加入Discourse社区提问、分享想法并与其他ReductStore用户合作。
  • Bug报告: 在GitHub仓库上提交问题。

结语

ReductStore为非结构化数据的时序存储提供了一个强大而灵活的解决方案。无论您是在开发边缘计算应用、处理大规模IoT数据,还是构建复杂的计算机视觉系统,ReductStore都能为您提供所需的性能和功能。通过其丰富的特性集、多语言支持和活跃的社区,ReductStore正在重新定义blob数据存储的未来。

我们诚挚邀请您加入ReductStore社区,一起探索和推动时序对象存储的新边界。无论您是想分享项目、寻求帮助,还是贡献代码,ReductStore社区都欢迎您的参与。让我们共同努力,为数据密集型应用创造更美好的未来! 🚀

最新项目

Project Cover
豆包MarsCode
豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。
Project Cover
AI写歌
Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。
Project Cover
商汤小浣熊
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。
Project Cover
有言AI
有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。
Project Cover
Kimi
Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。
Project Cover
吐司
探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。
Project Cover
SubCat字幕猫
SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。
Project Cover
AIWritePaper论文写作
AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。
Project Cover
稿定AI
稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。
投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号