简介:在MyBase中,PG引擎除了包含RDS所有的能力,还包含GIS、分词搜索、精准营销、复杂SQL、Oracle兼容扩展和图像识别等核心能力。

一、PostgreSQL引擎核心能力

PostgreSQL功能图

在MyBase中,PG引擎除了包含RDS所有的能力,还包含GIS、分词搜索、精准营销、复杂SQL、Oracle兼容扩展和图像识别等核心能力。

1.GIS

GIS是一个地理信息系统,随着移动的终端还有带GPS传感器的普及,实际很多的业务里都有经纬度的信息。

以共享单车为例,车内装有GPS系统,方便用户查看自己的行驶轨迹,同时后台可以做行为轨迹的分析,共享单车使用的热点等都与GIS相关。

针对GIS这块功能,我们有一个强大的时空内核研发团队在做支持,目前GIS相比较于开源的版本有50倍的性能提升,这里面主要体现在移动对象处理。

移动对象处理通常使用在公安缉查等方面,例如公安锁定了某位嫌疑人之后,可以通过移动对象信息查询到他的轨迹,根据嫌疑人的轨迹迅速锁定相似轨迹或有密切接触的对象,有效提高公安办案效率,是一个具有特殊社会价值的功能。

2.分词搜索

分词搜索是PG引擎里的一大特色。

分词搜索目前广泛存在于各个业务场景,如文档系统,社交聊天系统等。单独建一个搜索引擎需要很大的成本,包含硬件成本,软件成本,维护成本等。

对于企业来说,首先本身数据库的数据量并不算很大,其次单独建立一个搜索引擎,意味着要将数据库的数据同步到搜索引擎,将会引出许多问题,例如同步的延迟,如果是异构数据库的话可能导致数据不一致,因此单独建立一个搜索引擎对企业来说,性价比十分低。

PG引擎内置的分词搜索解决了企业的这个难题,且相较于传统关系型数据库,性能提升了1000倍。

3.精准营销

精准营销常见于销售业务相关场景。

精准营销通常涉及根据用户行为构造用户画像,然后查询用户的兴趣点,根据用户的兴趣点进行搜索,这里我们支持了向量相似的索引。

我们根据用户本身的特征或商品的特征进行数字化,就会储存浮点向量。然后我们基于浮点向量做相似检索,这种方式相较于全盘扫描,性能上有提升了1500倍,在千万级别的向量里可以做到毫秒级的相似召回。

4.复杂SQL

随着业务的发展,如今的业务已经不像以前那样 简单的增删改查,完全没有连表的查询。如今的业务,特别是企业上云,许多企业的ERP系统、CRM系统里的关系都特别复杂,可能存在几十上百张表的关联。

PG引擎针对这一块做出许多优化,相较于其他引擎,PG的性能提升20倍以上。

5.Oracle兼容扩展

目前PG在数据库领域的地位与Oracle旗鼓相当,是一个功能全面的产品,因此PG引擎内置Oracle兼容扩展包,可以兼容最常见的一些数据类型、函数和package。

6.图像识别

PG引擎与蚂蚁联合推出的图像识别插件:pase,这个插件相较于暴力计算的图像识别,性能提升了2万倍,已经被广泛应用于新零售商店、银行网点。

二、使用云数据库服务给DBA带来的问题

(一)问题一:架构、监控、优化等

  • 解决这些问题主要存在以下几个困难:
  1. 当无法解决架构问题时,许多用户会选择放弃原有数据库,选择其他类型的数据库产品重新构建数据库,这样往往导致原有的机器堆积,耗费高昂的人力、资源与精力,并且不一定能解决问题;
  2. 公司选择培养对应方面的人才来解决问题,但存在学习时间周期长,并且人才流失情况严重,对公司造成一定损失;
  3. 如果招聘相应的高端人才来解决问题,除了在招聘上的难度,还需要配备1对1的Backup防止特殊情况发生,这会造成工作强度不饱和,成本较高;
  4. 求助搜索引擎或者社区,响应时间过长,无法及时解决问题。
  • 针对以上问题,使用PostgreSQL有以下几个优点:
  1. 上千位资深PostgreSQL专家组成的资源池,7*24技术咨询;
  2. DBA可以将更多时间投入到业务优化、架构设计等关键事务,消除能效比较低的重复劳动,为企业创造更多价值。

(二)问题二:Bug

Bug分为社区内核Bug与插件Bug。

  • 常见的社区Bug解决方法:
  1. 报告给社区,用时1天左右;
  2. 等待社区修复,用时2~5天左右(理想情况);
  3. 下载社区Patch,自行验证,用时5天左右;
  4. 制定升级计划,升级,用时1天左右。
  • 常见的插件Bug解决方法:
  1. 报告插件作者,用时1天左右;
  2. 等待作者修复,用时5天以上,时长无法保证;
  3. 下载Patch,自行验证,用时5天左右;
  4. 升级插件,用时1天左右。
  • 针对Bug问题,使用阿里云PostgreSQL有以下好处:
  1. AliPG兼容开源PostgreSQL,阿里云专业内核团队为AliPG代码兜底;
  2. AliPG与公共云一套源码,大量商业用户应用的选择,有BUG尽早修复;
  3. 用户可在云端点升级版本按钮,或配置自动升级任务解决问题。

(三)问题三:无法满足业务需求

当前开源数据库在某些情况下可能无法满足业务需求,用户需要有内核研发能力才能自己添加功能,例如以下常见的社区版本无法满足的安全问题:

  1. DBA、SA有权查看、篡改、删除敏感数据;
  2. 普通用户可以通过Security Invoker属性来设置陷阱函数;
  3. 敏感信息(例如用户密码)可能明文出现在SQL审计日志、历史SQL命令、共享内存(例如会话状态、pg_stat_statements跟踪会话)、DBlink视图、外部表User Mapping的定义中。
  • 针对以上问题,使用PostgreSQL有以下几个优点:
  1. AliPG拥有大量商业用户,覆盖众多行业,AliPG围绕行业痛点,不断扩展实用功能;
  2. 自研插件18款(详见产品手册),覆盖GIS,冷热分离,分词搜索,图像识别,安全加固等场景。

三、PostgreSQL在MyBase的核心能力

阿里云提前洞察行业需求,用技术帮助客户突破商业边界。PostgreSQL核心能力主要体现在三个部分:更快的业务体验价值、更稳和更安全的核心业务必要能力,以下进行详细拆解分析。

(一)提升更快的业务体验价值:更快

阿里云在研发产品的同时一直与客户保持沟通与交流,了解行业场景存在的问题,阿里云基于这些场景问题做出如下优化:

  1. 图像识别、向量相似搜索
  2. 实时营销、用户画像
  3. 短视频、实时推荐
  4. GIS MOD移动对象处理

阿里云PostgreSQL使用了蚂蚁集团的人脸识别技术,在数据库里使用了新的索引结构。我们知道,如果要做到快速查询,需要在查询前做好预计算,或者让数据库存储适合查询。因此我们使用了两种图像搜索的算法,重新组织图像的特征值(即浮点),使得性能提升了20000倍。

我们通过与短视频或社交类行业的公司接触,根据用户的喜好在内核做了优化,在向量相似搜索方面取得了上千倍的性能提升。

实时营销中会有跟用户画像相关的数据组织,在移动对象的处理如协助公安办案等方面也有一个性能的大幅提升。

(二)核心业务必要能力:更稳

  • 更稳体现在Paas多租户场景:

大并发大量元数据、大量连接优化;

资源隔离优化。

在数据库中特别是在PG里面,如果连1万个连接再去跑TPCB的话,存在许多更新、插入的操作,导致性能直线下降。AliPG针对这个问题做了大量连接、进程内耗的优化。

所谓的租户业务场景如SaaS类的业务包含了许多企业,在这种数据库里会有上千万个Scheme,有许多原数据。这里可能出现资源之间相互争抢,某一企业使用时将资源全部用光,从而影响其他的企业。我们通过将资源隔离优化,从而使得企业在使用数据库时不会与其他企业产生资源争夺的情况。

(三)核心业务必要能力:更安全

  • 安全加固场景:

1)敏感信息加密, 函数调用陷阱规避;

2)SGX全加密;

3)最大保护、最高可靠、最高可用模式;

4)Slot Failover。

PG的社区版本存在函数调用陷阱的问题,例如某用户创建了一个视图,视图后面调用的Fuction设置为Security Invoke,表示判断这个函数的权限时是以调用这个函数的用户的权限判断的。当该用户为普通用户时,他执行Drop Database操作时,系统会报没有权限。但是如果用户将drop database封装到一个函数,并且把权限设置为上述模式,同时用户将它伪装为一个常见视图,当某位权限较大的用户,如DBA管理员上线看见这个视图并被迷惑且同意该操作后,则会完成Drop Database操作,造成重大损失。

阿里云PG解决了这样的问题,这样的函数陷阱在阿里云云端数据库是不存在的。

我们还支持保护模式,最高可靠、最高可用模式,这些在PG社区版本里面是不支持的。这意味着我们可以在两节点里实现全同步、半同步以及异步的效果,满足了不同行业对数据库可靠性的要求。

关于Slot Failover。用户在用一个开源数据库时,通常会用数据库的流复制做HA,在主节点里创建Slot做逻辑复制,例如业务里的某些表希望同步到另外的B业务中,只需要同步若干表而不是所有的数据。包括做增量的数据迁移、数据同步或异构同步,比如我要把你数据库里的数据同步到我们的消息队列,然后再通过消息队列同步到其他业务,这是目前业界非常通用的做法。

如果是以上情况,在PG社区版本一旦主备发生切换,Slot位点会丢失,因为在从库里没有那个位点,从而导致业务上的故障。

阿里PG在主库里面创建Slot会同步到从库,从而保证发生HA时Slot的信息不会丢失,从而解决了把数据库里的数据增量同步到其他业务的问题。

(四)MyBase

有些用户担心使用RDS后不过自由,那么PG引擎的MyBase是个不错的选择,它开放了OS权限,允许用户原来的系统整合到新系统,堪称RDS PLUS。

  • MyBase具备以下特点:

1)既要: 全自动(DB全生命周期管理,自动化运维、诊断),解放双手

-救DBA于水火

2)又要: 自主可控,随心所欲

-开放OS权限开放数据库ROOT用户

-开放调度策略,自定义超卖,实现超高性价比

3)还要:低成本、可定制、有内核兜(背)底(锅)

-内核Bug快速Fix,提新功能需求有研发支持。

原文链接:https://developer.aliyun.com/article/782615?

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

揭秘下一代云数据库引擎MyBasefor PostgreSQL相关推荐

  1. 阿里云数据库HybridDB for PostgreSQL使用教程

    2019独角兽企业重金招聘Python工程师标准>>> 云数据库HybridDB for PostgreSQL(ApsaraDB HybridDB for PostgreSQL)是一 ...

  2. 云数据库 RDS for PostgreSQL的优势和应用

    今天介绍的是:云数据库 RDS for PostgreSQL.华为云数据库 RDS for PostgreSQL.是一种典型的开源关系型数据库,在保证数据可靠性和完整性方面表现出色,支持互联网电商.地 ...

  3. 观点 | 云原生时代来袭 下一代云数据库技术将走向何方?

    全面云化的时代已经到来,面对一系列的新技术和挑战,数据库市场将面临怎样的变革?作为云服务提供商,如何帮助更多的企业级用户把握"云"潮,提供最高效.最具价值的数据库解决方案? 日前, ...

  4. 顶级数据库行会Percona阿里全面解析下一代云数据库技术

    摘要: 几年前,数据库管理系统的企业市场似乎还如同铜墙铁壁,除了老牌厂商外,其他厂商休想打进来. 随着移动互联.物联网技术的发展,多终端应用的时代悄然而至.结构化与非结构化数据的爆发,推动人类社会进入 ...

  5. 云原生时代来袭 下一代云数据库技术将走向何方?

    全面云化的时代已经到来,面对一系列的新技术和挑战,数据库市场将面临怎样的变革?作为云服务提供商,如何帮助更多的企业级用户把握"云"潮,提供最高效.最具价值的数据库解决方案? 日前, ...

  6. 观点 | 云原生时代来袭 下一代云数据库技术将走向何方?...

    全面云化的时代已经到来,面对一系列的新技术和挑战,数据库市场将面临怎样的变革?作为云服务提供商,如何帮助更多的企业级用户把握"云"潮,提供最高效.最具价值的数据库解决方案? 日前, ...

  7. 华为云数据库内核专家为您揭秘MySQL Volcano模型迭代器性能提升千倍的秘密

    林舒,20年以上数据库内核研发经验.原IBMDB2数据库内核专家,专长数据库内核性能优化.SQL查询优化.MPP分布式数据仓库技术等.现就职于华为加拿大研究所,全程参与了RDS for MySQL以及 ...

  8. 一个 Babelfish ,看懂云数据库的发展方向

    作为基础软件皇冠上的明珠,数据库技术一直以来都是开发者关注的焦点.这关注度是如此之高,几乎自然打通了学界和产业界的隔阂,以至于关于数据库技术的每一篇重要论文面世,都可能导致一批价值数十亿美金的公司出现 ...

  9. PG奥斯卡!云数据库专属集群MyBase荣获2020 PG亚洲大会“年度最佳产品奖”

    简介:云数据库专属集群MyBase荣获2020 PG亚洲大会"年度最佳产品奖"! 近日,在刚刚结束的2020 PG亚洲大会上,阿里云数据库专属集群MyBase荣获"PG年 ...

最新文章

  1. Oracle创建用户、表空间、导入导出、...命令
  2. angular2--pipe管道使用
  3. cmd导入mysql文件
  4. 安全性配置-定义任务流节点
  5. 95-241-102-源码-Flink语义-Flink的exectly-once系列之两阶段提交实现分析
  6. 借助xUnit减少了生产问题
  7. Java国际化概念和使用介绍
  8. 小米架构调整:拆分成立人工智能部,直接向CEO雷军汇报
  9. 天价部队到老家赶来java作文_天价与廉价作文800字
  10. 远程调试运行在Resin上面的Web应用程序
  11. 保存文件_正确保存Zbrush文件
  12. 百度开源深度学习框架【飞桨——PaddlePaddle】学习实践一
  13. LINUX下载编译libogg
  14. 2021-09-13Top-N 推荐系统,通常指的是个性化推荐系统,有别于热门推荐。
  15. BP神经网络学习总结
  16. 千方百剂创建账套服务器文件,千方百剂辅助工具使用手册图解
  17. pl sql面试题_PL SQL面试问答
  18. 应用时间序列分析(王燕)学习笔记2
  19. 互联网巨头竞逐客户端软件
  20. 惠普扫描应用程序当前正由此计算机上的其,惠普打印机 打印扫描的时候显示“由于另一个程序或另一台计算机正在使用联网的HP成像设备因此无法执行”...

热门文章

  1. Hive 内部表与外部表
  2. 监督学习——通用线性模型
  3. 20个Pandas数据实战案例,干货多多
  4. 阿里云网盘开放申请!非会员下载 10MB/s!
  5. python3输入框_Python3 tkinter基础 Entry get 点击按钮 将输入框中文字输出到控制台...
  6. PyTorch基础-交叉熵函数mnist数据集识别-04
  7. 【Erlang应用】消息队列RabbitMQ介绍以及应用案例
  8. SQL Server 查询数据库里所有表的行数
  9. [Lintcode]136. Palindrome Partitioning /[Leetcode]131. Palindrome Partitioning
  10. css grid布局