Feiox
V2EX  ›  数据库

大家一般用什么数据库作为数据仓库( 200+TB 级别)

  •  3
     
  •   Feiox · Dec 2, 2015 · 3681 views
    This topic created in 3991 days ago, the information mentioned may be changed or developed.

    功能很简单,存储大量纯文本数据( zip 压缩率能到 30%),并可以通过 ID 去查找的目标数据, 3 秒之内读出即可。自建集群,需要进行不太严格的备灾。
    但是,数百 TB 还在每天好多 G 的往上涨。。。
    那么,该选用什么什么数据库比较好呢?
    MongoDB 3 中的 WiredTiger ? Hbase ?还是什么?

    21 replies  •  2015-12-03 11:09:08 +08:00
    northisland
    northisland
    Dec 2, 2015
    1
    关注=_=
    yinheli
    yinheli
    Dec 2, 2015
    2
    我也有类似你这样的需求. 不过数据量大概是你的 80% 的样子... 也在考虑 mongodb

    同关注
    lhbc
    lhbc
    Dec 2, 2015❤️2
    3
    直接存文件,然后数据库记录存储路径
    存储层可以采用分层存储,冷数据丢 7200rpm 的硬盘上,热数据在 SSD 上,更热的在内存里
    文件的存储和灾备,比几百 TB 的数据库要易维护得多
    dong3580
    dong3580
    Dec 2, 2015
    4
    @yinheli
    这么多,还要 3s 之内的,上 mongodb 可不是一般的豪吧。

    @lhbc
    可行,
    c4pt0r
    c4pt0r
    Dec 2, 2015
    5
    HBase + TiDB
    Feiox
    Feiox
    OP
    Dec 2, 2015
    6
    @lhbc @dong3580 可是这么多数据,如何处理自动压缩、备份的这些杂事呢 ~
    abelyao
    abelyao
    Dec 2, 2015 via iPhone
    7
    好奇什么数据 200TB 之前却没有一个在用的方案…?
    Feiox
    Feiox
    OP
    Dec 2, 2015
    8
    @c4pt0r 项目很赞。。。。。不过,公司用的不敢上 alpha 版啊 ~
    jackysc
    jackysc
    Dec 2, 2015
    9
    要不楼主关注一下 greenplum? 最近开源了 可以压缩+列存储
    knktc
    knktc
    Dec 2, 2015
    10
    那就直接用 HBase 试试吧,建表时开启压缩
    Orzzzz
    Orzzzz
    Dec 2, 2015
    11
    如果数据是社工库的话那就好玩了~
    wy315700
    wy315700
    Dec 2, 2015
    12
    drill
    msg7086
    msg7086
    Dec 2, 2015
    13
    GlusterFS 直接丢文件系统呢?文件直接拿 xz 或者 gz 或者 lzma 搞一搞?
    likuku
    likuku
    Dec 2, 2015
    14
    @Feiox 压缩保存? ZFS 开启 lz4 压缩开关就很好了,对于内容重复性高,文本文件,压缩率很高,使用上完全透明,性能下降?几乎觉察不到。甚至在读大型单个文件时,比不开压缩的还要快(读取压缩数据+解压 耗时少于 直接读取巨大原始文件)
    lhbc
    lhbc
    Dec 2, 2015
    15
    @Feiox 压缩你可以在存储的时候直接压好再写入磁盘, gz 的计算量不大
    比如 a.txt ,直接压缩保存为 a.txt.gz

    使用文件就容易了,直接按目录来
    比如 /data/2015/12/01/<sha1>.txt.gz
    sha1 直接计算文件的值

    然后数据库记录
    id, filename, datastamp, sha1, location

    这样处理起来多方便,备份也简单

    现成的开源也有相应的方案,不过结构就复杂多了
    Andy1999
    Andy1999
    Dec 2, 2015 via iPhone
    16
    redis 试试看
    zeinipiyan
    zeinipiyan
    Dec 2, 2015
    17
    小说站?
    Muninn
    Muninn
    Dec 2, 2015
    18
    需要用 sql 语句带 where 之类的去查 就用 greenplum

    要是只是通过 id 查 上边说的用文件就可以了
    RangerWolf
    RangerWolf
    Dec 3, 2015
    19
    Cassandra + Spark 还可以~
    Cassandra 建表的时候直接使用 id 作为主键~ 返回时间估计连 1s 都不用

    MongoDb 之前我们也考虑过,不过听旁边的组说有丢数据的现象,不过也没确认是 MongoDB 的错
    Feiox
    Feiox
    OP
    Dec 3, 2015
    20
    @RangerWolf 那压缩率呢?不用文件系统主要是觉得很多都需要自己手动配置。。。
    MongoDB 。。。呃,为什么这么多年过去了,他还在背负着这个名声。。。
    RangerWolf
    RangerWolf
    Dec 3, 2015
    21
    @RangerWolf 我们存储的时候 并没有压缩数据, 以前做其他项目是在 app 层面对数据进行压缩。 比如就用 java 的 Gzip 来进行压缩与解压。

    不过 Cassandra 有自己的压缩文件、减少存储空间的策略~

    我们的 Cassandra 也是自己建的集群,感觉在管理上面还算比较方便。 IO 上面也很不错~
    我们用的是比较强力的台式机, I7 + 32G mem
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1473 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 58ms · UTC 18:36 · PVG 02:36 · LAX 10:36 · JFK 13:36
    ♥ Do have faith in what you're doing.