V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
maichael
V2EX  ›  数据库

35TB 左右的区块链”链数据“,用什么姿势存最合适?

  •  
  •   maichael · 83 天前 · 2697 次点击
    这是一个创建于 83 天前的主题,其中的信息可能已经有所发展或是发生改变。

    OLTP 操作很少,基本只增不改不删,基本只用于 OLAP 操作。

    希望综合下机器成本、运维成本以及开发成本来推荐一下。

    18 条回复    2024-09-12 17:26:55 +08:00
    eluotao
        1
    eluotao  
       83 天前
    我的 60TB 数据(非视频)保存经验分享:

    16TB 硬盘*5 and (oss or cos) and 网盘
    halo123112
        2
    halo123112  
       83 天前
    115 呗,几十 T 的账号也不贵,我前些天才买了个 43T 大好像 130 ,空间是永久的,但是需要会员,挂载到 unraid 上
    littlewing
        3
    littlewing  
       83 天前
    oceanbase?
    rimutuyuan
        4
    rimutuyuan  
       83 天前
    如果 leveldb 35T ,序列化到数据库就不止了
    t3zb2xzvjm4yvmn
        5
    t3zb2xzvjm4yvmn  
       83 天前
    OLAP 是指要写 query 分析?
    云数据仓库应该是最便宜的
    snowflake + S3
    国内就 Maxcompute + OSS
    Jinnrry
        6
    Jinnrry  
       83 天前 via iPhone
    不知道“链数据”是啥样的数据,但是你说 OLAP ? OLAP 有专门的解决方案啊,比如 clickhouse starrocks ,对这两个数据库来说,35T 才够热身而已
    Jinnrry
        7
    Jinnrry  
       83 天前 via iPhone
    不过看你的描述,这两个数据库可能不满足你的机器成本考虑。目前我业务上用的集群,4 台 be 2 台 fe ,都是七八十核的机器,内存大几百 G ,磁盘不知道多少块。

    这是我们公司最小规模的 sr 集群
    pfffs
        8
    pfffs  
       83 天前
    @eluotao 老哥 你的 oss or cos 用的哪家的对象储存,网盘是哪家的? 这么看成本不低呀
    tyhunter
        9
    tyhunter  
       83 天前
    本地冷存储 + 压缩包分包加密放 115 (记得添加恢复信息),现在硬盘价格不贵,115 大空间也不贵
    hefish
        10
    hefish  
       83 天前
    找个 U 盘,量产到 128T ,然后就能复制的下了。
    AlphabetRanger
        11
    AlphabetRanger  
       83 天前
    @hefish 天才哈哈哈
    c0mm4nd
        12
    c0mm4nd  
       83 天前
    不知道你的 OLAP 场景怎么样,是就节点 query 还是怎么。

    如果只是节点 query 我看人家 Solana 就是用 GCP 的 bigquery 做 archive node 的 historical data 。

    如果是需要数据库那样任意检索。我们实验室里我解析各个链的数据是自购企业级 u2 大硬盘(淘宝二手),用各个链的 erigon 版做节点省 archive node 存储空间,用单机 clickhouse 存数据与分析(因为没啥机器,单机情况就这个用下来性能最好,而且直接 bytes 存能省下很多空间),另外有机械和私人阿里网盘以及一些说出来怕被骂滥用的服务做备份。全都是 raid0 ,反正区块链数据不怕丢再同步解析一遍就好了。机器成本很低,网络用的学校学院机房。开发成本因为纯粹自己 solo 有点高 hhh
    Yadomin
        13
    Yadomin  
       82 天前 via Android
    你这个 35T 是什么样的数据呢?是 geth 的数据库大小吗?
    maichael
        14
    maichael  
    OP
       82 天前
    @Yadomin 并不是全量,只涉及区块以及交易数据,但是会有很多条链
    maichael
        15
    maichael  
    OP
       82 天前
    @c0mm4nd 主要场景大概是交易各种花式 count (跟某 dapp 交互,跟某地址交互之类的),还有地址行为跟踪之类的
    maichael
        16
    maichael  
    OP
       82 天前
    @Jinnrry 你这个成本太高了,我就是像知道这个数据量的需求怎么做比较实惠,或者基于 CK 用什么样的配置能比较好的支撑。
    Jinnrry
        17
    Jinnrry  
       82 天前
    @maichael #16 看了下 sr 的文档

    CPU 和内存
    通常,FE 服务不会消耗大量的 CPU 和内存资源。建议您为每个 FE 节点分配 8 个 CPU 内核和 16 GB RAM 。

    与 FE 服务不同,如果您的应用程序需要在大型数据集上处理高度并发或复杂的查询,BE 服务可能会使用大量 CPU 和内存资源。因此,建议您为每个 BE 节点分配 16 个 CPU 内核和 64 GB RAM 。

    这个是官方推荐的配置。同时 CPU 还要支持 avx2 指令集。理论上服务器配置只影响计算速度和查询并发,用官方推荐这个配置跑起来应该没问题
    c0mm4nd
        18
    c0mm4nd  
       82 天前
    @maichael

    那就是和我们的 clickhouse 需求一样的,检索其实主要就是 transaction 、internal txs 和 event logs 。比如 3.1T 的 eth mainnet erigon 放进数据库就 2T 多(因为没那种 global state 数据)。
    https://github.com/njublockchain/web3research-etl

    我写了个额外的 python 库方便组里小白检索(没太多时间写,还是残缺的)
    https://github.com/njublockchain/web3research-py
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1192 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:27 · PVG 02:27 · LAX 10:27 · JFK 13:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.