首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
宝塔
V2EX  ›  PostgreSQL

求教 10T 的 postgresql 数据库应该怎么设计才能保证查询较快, 30s 级别?

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

    一个 10T 左右的 postgresql 数据库,怎么设计才能提升查询效率呢?如果硬件一定的情况下,目前单台服务器。 尝试过 elk,貌似速度是快了,就是查询,join 之类的有点麻烦。

    40 回复  |  直到 2019-06-19 20:06:28 +08:00
        1
    Chenamy2017   154 天前
    持续关注...
        2
    opengps   154 天前
    挑战单机极限,这个话题值得关注
        3
    endershadow   154 天前
    设计没用 上 citus data
        4
    huiyifyj   154 天前 via Android
    我在想,这么大数据,应该都用分布式了吧🙃
        5
    996icu   154 天前
    10T 的数据不考虑换架构吗?
        6
    abelce   154 天前 via iPhone
    持续关注,目前依然是用 pgsql
        7
    sjmcefc2   154 天前
    @huiyifyj 10T 只是一块硬盘。。。算起来也就是 2 块硬盘吧

    @endershadow cool,看起来很棒。
        8
    Rwing   154 天前
    关注
        9
    luozic   154 天前   ♥ 1
    推薦去看看阿里雲大佬 https://github.com/digoal/blog/blob/master/README.md 的 blog
        10
    sjmcefc2   154 天前
    Citus is an extension to Postgres that transforms Postgres into a distributed database.
    Pex uses Citus to ingest 80B data points per day and analyze that data in real-time. They use a 20+ node cluster on Google Cloud.
    Agari uses Citus to secure more than 85 percent of U.S. consumer emails on two 6-8 TB clusters.

    看起来 citus 好棒啊,有起是 agari 的案例,两个节点?
        11
    flytrap   154 天前
    这是一个值得探讨的问题
        12
    endershadow   154 天前
    方案很多, 你这个数据量 pivotal 家的 green plum 更适合
        13
    sjmcefc2   154 天前
    @luozic 特别棒, 当单库超过 100T 尚未完成写作。
    能提醒一下看哪一篇吗?
        14
    sjmcefc2   154 天前
    @endershadow 能告知下理由吗?
        15
    karenn   154 天前
    楼主你也得说一下你的机器的配置吧
        16
    sjmcefc2   154 天前
    机器也很弱机 DELL t630。
        17
    endershadow   154 天前
    @sjmcefc2 如果数据量就是这个规模的话, green plum 中文资料多,上手更容易.pivotal 国内也有研发中心
        18
    sjmcefc2   154 天前
    @endershadow 数据量基本是这个规模了,最多能再加一个节点。pivotal greenplum 貌似是个数据分析平台了?
    需要购买?还是开源呢?导入数据可以 pgloader 之类工具不?
        19
    est   154 天前   ♥ 1
    不讲数据结构和查询需求就可以银弹优化?
        20
    sjmcefc2   154 天前
    @endershadow Pivotal Greenplum 基于 PostgreSQL 和 Greenplum 数据库,可让用户更好地控制所部署的软件,减少供应商锁定,产品方向也更加开放。看起来 pivotal greenplum 和 greenplum 是不同的。
        21
    endershadow   154 天前
    @sjmcefc2 都是开源的,greenplum 有自己的导入工具 gpload.其实两种方案都可以,代表两种不同的架构,一种是传统的 MPP 架构,一种是分布式架构.本质区别我也在学习中.
        22
    endershadow   154 天前
    @sjmcefc2 greenplum 本来是商用的分析型数据库,后来被 pivotal 收购开源了
        23
    mooncakejs   154 天前
    只要优化好查询条件,10T 也不算问题啊
        24
    sjmcefc2   154 天前
    @mooncakejs 只要。。。。您这个要求其实特别高。

    @endershadow 感谢解答。看起来 citus 和 pivotal greenplum 好像都能够满足,citus 一直强调自己不是一个 fork,而 pivotal greenplum 应该是 fork 吧
        25
    passerbytiny   154 天前
    当初特意搜寻过 postgresql 能不能当大数据的物理存储,最后的结论是:虽然 postgresql 能支持超大文件,但它不支持分布式存储,所以不能作为大数据的物理存储。
        26
    maierhuang   154 天前
    100GB 的数据量,sql 写的烂的话照样反应慢。如果架构方面的优化,gp 会是个比较好的选择,mpp 架构会让你爽的不行,不过在表 join 方面会比较麻烦。如果继续用 postgresql 话,不知道能达到什么程度,还是要看的你 sql 是怎样的,不过多建几个备库,适当的读写分离能解决一些问题。
        27
    mooncakejs   154 天前
    @sjmcefc2 一般查询条件很复杂的,都是太追求一致性,不想存多份数据。
        28
    sjmcefc2   154 天前
    @maierhuang 应用中大量的 join,写动作很少,大量查询。主要应用就是查询、分析,看起来 gp 对口。

    @passerbytiny 如果不支持分布式存储,citus 又是如何实现呢?或者效果为何如它说的那么好?

    @mooncakejs 主要是不少的 join 操作。
        29
    encro   154 天前
    还是要分析 sql 吧,
    没有针对 sql 进行解析,都是扯淡,
    该触发器就触发器,
    减少 count,group by, file sort,
    慢查询日志都没有,没有优化的前提,
    阿里云 2000 一年的 MYSQL 数据库,放了数亿的数据,查询也是毫秒级啊。
        30
    maierhuang   154 天前
    gp 主打是 olap 场景,主打还是数据仓库的场景,主要是利用多台计算机的计算能力。citus 还是 oltp 的场景更多些,主打的还是 scale out 的功能。
        31
    cstj0505   154 天前
    10T,用 m2 组 raid 貌似 io 可解,剩下就是大内存,256,512 是必须的,然后多核。
        32
    rrfeng   154 天前
    不给数据结构只给数据量咋看,如果一个查询要 10T 全算一遍任谁也不行(
        33
    lbp0200   154 天前
    都 10T 了,应该上 Hive,或者花钱上 GoogleCloud 的 BigQuery、spanner
        34
    sjmcefc2   154 天前
    @maierhuang 非常感谢。gp 的网站貌似也是数据科学更多一些,citus 更像一个外挂?不知道理解的对不对
        35
    wanganjun   154 天前
    pg 版本是多少,先升级到 11,可以多核并行查询,并行排序,并行 join
        36
    cstj0505   154 天前
    @lbp0200 hive 30s 不可能的吧,hive 查询都是分钟级别的
        38
    opengps   154 天前
    刚反应过来:目前的 10T 是通过多块硬盘组 Raid 实现的吧,所以硬盘 io 性能才够用
        39
    sjmcefc2   154 天前
    @wanganjun 先试试这个升级,目前是 10. 现在 11 都有这特性了啊

    @endershadow 最后苏宁选择了 citus?
        40
    wanganjun   154 天前
    就看 9 楼提供的阿里云大佬的链接,里面有针对并行的简要总结,也有一些说明和实践
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1075 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 29ms · UTC 19:05 · PVG 03:05 · LAX 11:05 · JFK 14:05
    ♥ Do have faith in what you're doing.