jackdu
V2EX  ›  数据库

腾讯基于 PostgreSQL 历时 8 年研发的 HTAP 分布式数据库 TBase 开源了,对数据库有兴趣的同学可以去了解体验一下

  •  
  •   jackdu · Nov 14, 2019 · 7561 views
    This topic created in 2549 days ago, the information mentioned may be changed or developed.
    57 replies  •  2020-10-19 10:44:27 +08:00
    jackdu
    jackdu
    OP
    Nov 14, 2019
    1
    TBase 是腾讯基于 PostgreSQL 历时 8 年研发的 HTAP 分布式数据库,能同时提供高性能的 OLTP 和 OLAP 能力,原名 PostgreSQL-XZ,2017 年更名 TBase。

    TBase 开源之所以引人关注,是因为其已在微信支付、保险、公安、税务、电信等行业解决方案中大量应用。

    什么是 TBase
    TBase 是一个提供写可靠性,多主节点数据同步的关系数据库集群平台。你可以将 TBase 配置一台或者多台主机上,TBase 数据存储在多台物理主机上面。数据表的存储有两种方式, 分别是 distributed 或者 replicated,当向 TBase 发送查询 SQL 时,TBase 会自动向数据节点发出查询语句并获取最终结果。

    TBase 采用分布式集群架构, 该架构分布式为无共享(share nothing)模式,节点之间相应独立,各自处理自己的数据,处理后的结果可能向上层汇总或在节点间流转,各处理单元之间通过网络协议进行通信,并行处理和扩展能力更好,这也意味着只需要简单的 x86 服务器就可以部署 TBase 数据库集群
    jackdu
    jackdu
    OP
    Nov 14, 2019❤️1
    2
    喜欢的点个小星星
    dbskcnc
    dbskcnc
    Nov 14, 2019
    3
    不知具体是基于 Pg 那个版本,pg12 提升了不少
    jackdu
    jackdu
    OP
    Nov 14, 2019
    4
    介绍链接 Base64:aHR0cHM6Ly9tcC53ZWl4aW4ucXEuY29tL3Mvb2h4a3FaRmNqSTE2VHBQdzRSYXMyQQ==
    jackdu
    jackdu
    OP
    Nov 14, 2019
    5
    @dbskcnc 没有具体哪个版本是在开源的 PostgreSQL 基础上自己有所修改
    areless
    areless
    Nov 14, 2019 via Android
    6
    这不是未来的方向。未来的方向是用 gpu 执行 sql 处理显存里的载入数据。cpu 只提供载入数据的通道及整合运算资源的最后输出。sql 执行速度加快了,kv 缓存便不需要了,构建开始转变,前端通过加密直接传 sql,后端提供 sql 本身,多么烂的程序都能单机跑上亿日 pv。你这种只有腾讯自己能用。
    xupefei
    xupefei
    Nov 14, 2019 via iPhone❤️1
    7
    @areless 你这个目前还是小说里的应用…
    azh7138m
    azh7138m
    Nov 14, 2019 via Android
    8
    @xupefei 什么小说敢这么写?可以介绍一下吗?
    iPhoneXI
    iPhoneXI
    Nov 14, 2019 via Android
    9
    和 tidb 比哪个好用
    areless
    areless
    Nov 14, 2019 via Android
    10
    @xupefei 那个,16 年搞 gpu 数据库开源的都有七八家。商业的很多很多了。目前该领域还没有真正的巨头出现。其实只要 mod 显卡数,单机 gpu 分布式构架真的是超牛逼了,而且现在显存又大~gpu 跟显存的通道无敌大。mapd,BlazingDB,PG-Strom~~~gpuexdsql 自己编译下就能把 sqlite 跑在 gpu 里面。
    palfortime
    palfortime
    Nov 14, 2019 via Android
    11
    @areless 现在数据库的瓶颈不是存储吗
    areless
    areless
    Nov 14, 2019 via Android
    12
    @azh7138m 一个 12 显卡 12g 显存的单机能提供上百 g 高速查询缓冲区。每个显卡是独立执行查询,是单显卡执行 sql 的 12 倍。现在一张英伟达运算卡是普通高配主机数据库速度的 20 倍左右。即便是笔记本的渣独显这个方面也快 cpu~2 倍以上。
    @palfortime sql 慢导致 nosql 啊缓存大量涌现。缓存分布式各种的兼容方案,要是 sql 不慢了,就不用去折腾构架了,储存只要每隔几分钟增减量快照 dump 到外部储存就可以了,普通企业上百 g 显存用完很难~~~业务直接写成 sql,完全跑在运算卡里~~~cpu 内存主要处理 http 之类的请求~~~这将是未来主流构架。
    mtrec
    mtrec
    Nov 15, 2019 via Android
    13
    @areless gpu 可以提升性能不假 但 io 还是瓶颈 几分钟 dump 一次 数据丢失了怎么办
    optional
    optional
    Nov 15, 2019 via iPhone
    14
    @areless nosql 的优点是分布式,不但性能可以类似于线性增长,而且可以多写。
    des
    des
    Nov 15, 2019
    15
    @palfortime
    同问,数据库瓶颈不是在存储吗?
    xupefei
    xupefei
    Nov 15, 2019
    16
    @areless GPU 有没有用估计要看运行什么查询。GPU 优势在并行,但是并行写肯定要牺牲 ACID。在只读不写的 data lake 场景下 GPU 加速应该会更快,但一旦写数据,GPU 估计性能雪崩。
    PCI 总线传输数据没 CPU 到内存快吧?
    xupefei
    xupefei
    Nov 15, 2019
    17
    @areless 另外,分布式不只是因为 SQL 慢才搞的,HA 也是非常重要的原因。
    palfortime
    palfortime
    Nov 15, 2019 via Android
    18
    @areless 先不说你的显 nei 存数据库性能有多厉害,楼主发的 tbase 怎么也不像是解决 100gb 级别数据的问题。用买 12 显卡的服务器的钱来买普通服务器,装个单机的 MySQL 或者 PostgreSQL,怎样也能解决 100gb 级别的数据吧。
    areless
    areless
    Nov 15, 2019 via Android
    19
    @xupefei 有内存一半速度的,pci-e 挺快的,以后会更快~而且越来越灵活,你想想一下 usb 的灵活性,插张卡速度就升级了。甚至能实现热拔插。写不慢的,因为固态硬盘走的 pci-e 才跑 1gb 每秒,但是显卡是可以跑满 32gb 的。比普通固态硬盘快 16 倍左右。pcie 通道只比普通内存慢一半,而且显卡读是处理好的数据,相当于内存型 nosql 的速度却能快速执行各种 sql。PG-Strom 是 PostgreSQL 的 gpu 辅助~~~可以试试
    crclz
    crclz
    Nov 15, 2019❤️4
    20
    @areless 你还是没搞清楚何时使用 mongo 这类的 nosql,何时要使用传统的 sql。基于脆弱的知识,一切推论都是白搭(有点像民科)

    sql 属于万精油型:由于其粒度小,所以干小规模的事情,都不会很差。
    mongo 因为其数据粒度大,所以适合分布式。并且,由于现在的大部分业务场景中,数据的粒度都很大,所以即使单机,mongo 也有速度优势。

    何谓粒度大? sql 的粒度很小,要获取一个业务操作所需要的数据,需要到很多不同的地方取数据。磁盘随机 IO 负担重,甚至一次操事务会涉及好几台机器,甚至是分布在不同地域的机器。mongo 则相反,在设计文档结构的时候可以挑选适合自己业务的数据粒度,可以将高频使用的东西聚合在一起,这样大多数事务只会涉及到一个文档。

    内存再快,遇到网络延迟,尤其是 sql 需要从几个不同的服务器上面取数据、加锁、判断每份数据的改变是否传播到了特定数量的节点,响应时间和吞吐量都很差。
    annielong
    annielong
    Nov 15, 2019
    21
    各有优劣,看业务场景,没必要上纲上线非要分出个一二三,
    stabc
    stabc
    Nov 15, 2019
    22
    @areless 别乱说误导人,SQL 数据库 reliable write 速度都在硬盘。延迟 commit 无法应用到支付领域的。
    jackdu
    jackdu
    OP
    Nov 15, 2019
    23
    TBase 初篇文档:主要讲解安装部署相关内容,有兴趣的小伙伴们可以行动起来了链接 Base64:aHR0cHM6Ly9tcC53ZWl4aW4ucXEuY29tL3MvM1JoRmIzTld1MGk5LXVub3FnckFDdw==
    jackdu
    jackdu
    OP
    Nov 15, 2019
    24
    TBase 定位:OLTP + 轻量级(OLAP),如果是需要专业 OLAP 数仓,需要使用列存储 + MPP
    jackdu
    jackdu
    OP
    Nov 15, 2019
    25
    有对该数据库感兴趣的或者有疑问的和可留下微信我添加你们进腾讯 tbase 产品开发组成员建立的 Tbase 官方技术群进行交流,里面汇集各大厂开发人员。
    joyeu
    joyeu
    Nov 15, 2019
    26
    赞啊!
    ty4z2008
    ty4z2008
    Nov 15, 2019
    27
    开源!=代码公开
    还是有日后的维护、社群。开源之后两个月,代码还停留在第一次同步。这个和发一个源码压缩包没有什么区别。
    之前的 phxsql 就是一个例子
    Mithril
    Mithril
    Nov 15, 2019
    28
    阿里的 OceanBase 当年一样吵吵着开源,然后 Github 上挂尸体挂了好几年,现在连尸体都没了。
    就是不知道当年被骗上车的公司现在怎么样了。
    wyw223
    wyw223
    Nov 15, 2019
    29
    能不能存储空间数据啊,postgresql 有 postgis,
    datafeng
    datafeng
    Nov 15, 2019❤️1
    30
    发现这里很喜欢 base64 转换一下?
    要是说邮箱啥的我理解,但一个公开的超链接为什么也要转换一下。。
    sujin190
    sujin190
    Nov 15, 2019
    31
    @areless #19 数据库瓶颈难道不是在 acid 一致性要求下,很容易受单核极限性能影响,核多用处不大,再者就是一致性落盘 io 性能影响,以现在 cpu 性能来说,单机并行化计算性能不算是一个核心限制吧,而就现实来说,对并行化计算性能要求又要求的几乎都是超大数据集,单机 io 和单机内存缓存本身就是极大限制,aci 一致性要求弱,单机并行计算性能要求高但是数据量不大的场景并不多吧,对于大多数通用场景来说,事务、高一致性、高稳定性、可拓展迁移才是性能问题所在吧,而这些都不是显卡并行计算强能有更大用处的
    datafeng
    datafeng
    Nov 15, 2019
    32
    @ty4z2008 开源不公开代码 ??
    这是什么时候新出的理论么。。
    jackdu
    jackdu
    OP
    Nov 15, 2019
    33
    @datafeng 链接发不出来,这个账号没满 90 天,不让发只能换种方式发,抱歉。
    markgor
    markgor
    Nov 15, 2019
    34
    @sujin190 其實 OLAP 型的跑 GPU 不錯,但 OLTP 的跑 gpu,現在就是存在你說的這些問題,可就像 areless 說的,GPU 是未來方向,而不是現在就能進行替換.......

    不過他說的“前端通过加密直接传 sql,后端提供 sql 本身,多么烂的程序都能单机跑上亿日 pv。”我就不是怎麼讚同,畢竟前端加密本來就等於沒加密,而且重點是這一領域只有更快沒有足夠快.
    jackdu
    jackdu
    OP
    Nov 15, 2019
    35
    Tbase 复用了 PGXL 的框架,新建可扩展健壮的分布式事务,增加三权分立安全,优化高性能执行器,新增在线扩容,分区表。。。。
    markgor
    markgor
    Nov 15, 2019
    36
    @ty4z2008
    @jackdu
    搭建:
    https://mp.weixin.qq.com/s/3RhFb3NWu0i9-unoqgrACw

    倉庫:
    https://github.com/Tencent/TBase

    幫你發出來了,話說你們註冊那麼多賬號幹嘛....
    jackdu
    jackdu
    OP
    Nov 15, 2019
    37
    @markgor 赞啊
    leeg810312
    leeg810312
    Nov 15, 2019 via Android
    38
    使用国内大公司的开源要谨慎,放了一个版本,然后很久不更新,都是 KPI,只是做个姿态
    sujin190
    sujin190
    Nov 15, 2019
    39
    @markgor #34 我跟你认为的恰恰相反,任何期望用单一技术作为银弹都是作死,信息技术进步带来企业合作改变,未来无论企业还是信息系统必然向着分离式大型联合体发展,小型高性能单体系统既不利于大型联合体协作,也无法支撑复杂问题解决,单机性能或许不高,但是耦合度低的超大型分布式系统才是未来更好的方向,所以 GPU 作为高性能计算单元,作为支撑单元,在有限可控场景下提供高性能并行计算支撑确实不错,未来使用必然越来越广泛,但是以 GPU 为基础设计单体或有限分布式数据库确实不是一个好选择
    Mithril
    Mithril
    Nov 15, 2019
    40
    @leeg810312 有几个贡献给 Apache 的还可以,其他的就算了。
    hkitdog
    hkitdog
    Nov 15, 2019 via iPhone
    41
    @leeg810312 源码不难看,自己从头到尾看几篇就搞懂原理和结构了,个人开发者还是可以自己维护的
    joyeu
    joyeu
    Nov 15, 2019
    42
    请问是不是基于 PGXL ( Postgres-XL ) 开发的?
    jackdu
    jackdu
    OP
    Nov 15, 2019
    43
    感兴趣或者有疑问可以留下微信我拉你们进入官方技术群,在群里有人统一答疑,我也是被别人拉进去的
    jackdu
    jackdu
    OP
    Nov 15, 2019
    44
    @joyeu 复用了 PGXL 的框架
    joyeu
    joyeu
    Nov 15, 2019
    45
    之前关注过 PGXL,当时的版本 Postgres-XL 9.5 R1.3 基于 PG 9.5 的,现在看到有最近版是 Postgres-XL 10R1.1,应该是 PG10 吧。有些滞后,更不上 PG 的节奏啊😄
    FS1P7dJz
    FS1P7dJz
    Nov 15, 2019
    46
    @datafeng 他的意思是,开源不等于仅仅公开原代码
    很多项目"开源"
    无文档,无维护
    Ryan7sz
    Ryan7sz
    Nov 15, 2019
    47
    @jackdu 我感兴趣,麻烦拉我进群 scott_tiger, 谢谢!
    BIAOXYZ
    BIAOXYZ
    Nov 15, 2019
    48
    github 开源第一天就 star 了,毕竟之前也是做 PG 的。看到 cn dn gtm 就是 pgxc 扑面而来的感觉啊~希望这个项目能好好维护开源,不要像 oceanbase 那样的 KPI 开源。。。微信号( Ymlhb3h5eg==),麻烦拉我入群了,谢谢~
    lolizeppelin
    lolizeppelin
    Nov 15, 2019
    49
    跟不上 pg 自身更新节奏的都得死 2333

    因为都会被 pg 干死....
    keenkiller
    keenkiller
    Nov 15, 2019
    50
    @areless ???请不要自己脑补好么,单节点瓶颈不通过分布式数据库解决,你还想怎么解决…ACID 不要了么
    jhdxr
    jhdxr
    Nov 15, 2019
    51
    去看了 oceanbase 的仓库,还真是就剩下一个 readme 了。关键里边说自己不再开源不再维护的声明加了又删( https://github.com/alibaba/oceanbase/commit/61354c60856274760625fc5ae4214f7fe3ba32b9 )

    之前有人说阿里开源只是为了 KPI,我还说不是的,还是有一些东西的。现在看,真的就是呵呵,要么干脆弃坑,要么干脆丢给 apache 基金会去养着。自己名声<del>赚</del>骗到了转脸就把东西丢了。
    -----
    可能会有人要说阿里内部变化太快之类的(很可能原有团队都没了之类的),但从外面看阿里这就是又要当婊子又要立牌坊,恶心至极。
    areless
    areless
    Nov 15, 2019 via Android
    52
    @tairan2006 我不是说分布式不好,多 gpu 数据库同样是单机分布式构架。我只是不支持傻傻的用百兆网线把十几台服务器串起来,而这就是目前分布式的主流做法。你知道傻在哪里吗?百兆网线~~~高 io 数据库~~~串起来,你以为是烤串啊~美味加倍。
    ivechan
    ivechan
    Nov 15, 2019
    53
    华为的高斯数据库也是基于 pg 的,有没有对比一下?
    endintro
    endintro
    Nov 15, 2019
    54
    @jackdu 所以和 greenplum 的差别在于更轻量级的 OLAP ?
    timbotetsu
    timbotetsu
    Nov 15, 2019
    55
    这贴让我意识到现在什么神经病都有
    ty4z2008
    ty4z2008
    Nov 16, 2019
    56
    @datafeng 我的意思是开源不只是单单把源码发布出来,还有开源社区。新成员的加入,后续的代码更新

    别没看明白就开始喷喷喷,好好讨论不好么?
    soulzz
    soulzz
    Oct 19, 2020
    57
    @xupefei
    @mtrec
    现在的显卡增加了 DirectStorage 技术,之后真的没准是显卡跑数据库了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1884 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 72ms · UTC 07:20 · PVG 15:20 · LAX 23:20 · JFK 02:20
    ♥ Do have faith in what you're doing.