✨
Singularity
中文
中文
  • 概述
    • 什么是Singularity
    • V1或V2
  • 安装
    • 下载二进制文件
    • 通过Docker安装
    • 从源代码构建
    • 部署到生产环境
  • 数据准备
    • 快速入门
    • 性能调优
  • 内容分发
    • 分发CAR文件
  • 交易处理
    • 创建交易计划
  • 主题
    • 内嵌准备
    • 基准测试
  • 💻CLI 参考
    • 菜单
    • Ez准备
    • 版本
    • 管理员
      • 初始化
      • 重置
      • 迁移数据集
      • 迁移计划
    • 下载
    • 提取Car
    • 交易
      • 计划
        • 创建
        • 列表
        • 更新
        • 暂停
        • 恢复
      • 手动发送
      • 列表
    • 运行
      • API
      • 数据集处理器
      • 内容提供者
      • 交易跟踪器
      • 交易发布者
      • 下载服务器
    • 钱包
      • 导入
      • 列表
      • 删除
    • 存储
      • 创建
        • Acd
        • Azureblob
        • B2
        • Box
        • Drive
        • Dropbox
        • Fichier
        • Filefabric
        • Ftp
        • Google Cloud Storage
        • Gphotos
        • Hdfs
        • Hidrive
        • Http
        • Internetarchive
        • Jottacloud
        • Koofr / Digi Storage
          • Digistorage
          • Koofr / Digi Storage
          • 其他
        • 本地
        • Mailru
        • Mega
        • Netstorage
        • Onedrive
        • Opendrive
        • Oos
          • Env_auth
          • Instance_principal_auth
          • No_auth
          • Resource_principal_auth
          • User_principal_auth
        • Pcloud
        • Premiumizeme
        • Putio
        • Qingstor
        • AWS S3和兼容存储
          • Aws
          • 阿里云
          • Arvancloud
          • Ceph
          • Chinamobile
          • Cloudflare
          • Digitalocean
          • Dreamhost
          • 华为云
          • Ibmcos
          • Idrive
          • Ionos
          • Liara
          • Lyvecloud
          • Minio
          • 网易云
          • 其他
          • Qiniu
          • Rackcorp
          • Scaleway
          • Seaweedfs
          • Stackpath
          • Storj
          • 腾讯云
          • Wasabi
        • Seafile
        • Sftp
        • Sharefile
        • Sia
        • Smb
        • Storj
          • 已存在
          • 新建
        • 蓝奏云
        • Swift
        • Uptobox
        • Webdav
        • Yandex
        • Zoho
      • 浏览
      • 列表
      • 删除
      • 更新
        • Acd
        • Azureblob
        • B2
        • Box
        • Drive
        • Dropbox
        • Fichier
        • Filefabric
        • Ftp
        • Google Cloud Storage
        • Gphotos
        • Hdfs
        • Hidrive
        • Http
        • Internetarchive
        • Jottacloud
        • Koofr / Digi Storage
          • Digistorage
          • Koofr / Digi Storage
          • 其他
        • 本地
        • Mailru
        • Mega
        • Netstorage
        • Onedrive
        • Opendrive
        • Oos
          • Env_auth
          • Instance_principal_auth
          • No_auth
          • Resource_principal_auth
          • User_principal_auth
        • Pcloud
        • Premiumizeme
        • Putio
        • Qingstor
        • AWS S3和兼容存储
          • Aws
          • 阿里云
          • Arvancloud
          • Ceph
          • Chinamobile
          • Cloudflare
          • Digitalocean
          • Dreamhost
          • 华为云
          • Ibmcos
          • Idrive
          • Ionos
          • Liara
          • Lyvecloud
          • Minio
          • 网易云
          • 其他
          • Qiniu
          • Rackcorp
          • Scaleway
          • Seaweedfs
          • Stackpath
          • Storj
          • 腾讯云
          • Wasabi
        • Seafile
        • Sftp
        • Sharefile
        • Sia
        • Smb
        • Storj
          • 已存在
          • 新建
        • 蓝奏云
        • Swift
        • Uptobox
        • Webdav
        • Yandex
        • Zoho
      • 重命名
    • 准备
      • 创建
      • 列表
      • 状态
      • 重命名
      • 附加来源
      • 附加输出
      • 分离输出
      • 开始扫描
      • 暂停扫描
      • 开始打包
      • 暂停打包
      • 开始Daggen
      • 暂停Daggen
      • 列表片段
      • 添加片段
      • 浏览
      • 附加钱包
      • 列表钱包
      • 分离钱包
  • 🌐Web API 参考
    • 交易计划
    • 交易
    • 文件
    • 作业
    • 片段
    • 准备
    • 存储
    • 钱包关联
    • 钱包
    • 规范
  • ❓常见问题
    • 数据库已锁定
Powered by GitBook
On this page
  • 概述
  • CAR获取的工作原理
  • 额外开销
  • 启用在线数据准备

Was this helpful?

Edit on GitHub
  1. 主题

内嵌准备

Previous创建交易计划Next基准测试

Last updated 1 year ago

Was this helpful?

概述

传统的数据准备方法是将原始数据源(通常是本地文件系统上的一个文件夹)转换为小于32GB的CAR文件集合。这种方法要求数据准备者拥有两倍的存储容量,这可能非常昂贵。例如,准备1 PB的数据集还需要另外1 PB的存储空间来存储CAR文件,总共需要2 PB的存储空间。

通过在线数据准备,可以将CAR文件的块映射回原始数据源,因此不需要存储导出的CAR文件。

传统数据准备图示
在线数据准备图示

CAR获取的工作原理

通过在线数据准备,可以使用元数据数据库和原始数据源通过HTTP提供CAR文件,因为它知道如何将CAR文件的字节范围映射回原始数据源。

要通过HTTP提供CAR文件,只需启动内容提供程序

singularity run content-provider

注意:该命令将运行一个本地的HTTP服务器。如果你打算使其通过互联网访问,你可能希望将其放在一个反向代理后面,例如nginx。

如果数据源已经是一个远程存储系统(即S3或FTP),那么这将创建一个潜在的瓶颈,因为文件内容将通过Singularity内容提供程序代理到存储提供程序。

我们有一个解决这个挑战的方法,使用Singularity元数据API和Singularity下载工具。

要运行Singularity元数据API:

singularity run api

然后,使用Singularity下载工具(在存储提供程序上):

singularity download <piece_cid>

Singularity元数据API将返回一个从原始数据源组装CAR文件的计划,Singularity下载工具将解释这个计划,并将数据从原始数据流式传输到本地CAR文件中。中间不会进行任何转换或组装,一切都以流的形式工作。

元数据API不会返回访问原始数据源所需的任何凭据。存储提供程序需要获取他们自己的访问数据源的凭据,并将这些凭据提供给singularity download命令。

额外开销

在线数据准备引入了一些极小的开销,主要是存储空间的需求。此外,计算和带宽开销也非常小。

每个数据块的元数据以数据库行的形式存储,对于每1 MiB的准备数据,需要100字节来存储映射元数据。对于1 PiB的数据集,需要10 TiB的磁盘空间来存储映射元数据。虽然这通常不是问题,但是具有大量小文件的数据集可能会导致显著的磁盘开销。

当需要从原始数据源动态重新生成CAR文件时,需要在数据库中交叉引用这些映射。然而,这通常不是一个问题。1 GB/sec的带宽等于1,000次数据库条目查找,远远没有所有支持的数据库后端的能力极限。此外,未来的优化可能进一步减少此开销。

启用在线数据准备

对于不需要加密的数据集,将自动启用在线数据准备。在创建数据集时,指定输出目录后,CAR文件将导出到该位置。CAR文件检索请求将优先考虑这些目录。如果用户删除了CAR文件,系统将回退到从原始数据源获取。