eygle.com   eygle.com
eygle.com eygle
eygle.com  
 

November 1, 2019

2019-11-15 数据技术嘉年华北京盛大开启

时光匆匆,转眼 『数据技术嘉年华』已走过了九个年华。时代在发展,技术的进步同样日新月异,转眼又来总结一年的时刻,第九届数据技术嘉年华大会 将于2019年11月15日-16日在北京新云南皇冠假日酒店盛大开启。

本次大会以 "开源 • 智能 • 云数据 - 自主驱动发展 创新引领未来" 为主题,打造 "开源自研,云和数据,智能运维,智能业务,数据前沿,用户实践" 六大模块,汇聚学术精英、国产数据库领袖、行业数据库专家、互联网卓越产品,相邀数据英雄,探索数据价值,共论智能未来

把握数据库技术发展脉络,了解国产数据库精华,约会行业领袖偶像,见证转折蓬勃之机,决策职业未来领先一步,这机遇仅此不容错过,2019 数据技术嘉年华,扫码现在加入,尽享超低票价优惠:

1572494682487018294.jpg

大会汇聚国内数据领域的领袖精英,只为一场年度技术盛宴,接下来让我们一起来看看本次大会的嘉宾阵容!


大咖嘉宾抢先看

主会场嘉宾


微信图片_20191029143537.png

CCF数据库专业委员会主任

微信图片_20191029143601.png

阿里巴巴副总裁

微信图片_20191029143604.png

华为智能数据与存储总裁

微信图片_20191029143606.png

SequoiaDB 巨杉数据库 CTO

微信图片_20191029143609.png
平安科技数据库产品及存储产品部总经理


微信图片_20191029143611.png

ACOUG 联合创始人,云和恩墨首席架构师


1. 开源自研:国产和自研数据库技术

微信图片_20191029182300.png

阿里巴巴数据库团队高级专家

微信图片_20191029150137.png

PingCAP大学校长

微信图片_20191029150139.png
腾讯科技高级技术专家

微信图片_20191029150142.png
OceanBase总架构师,蚂蚁金服研究员

微信图片_20191029150144.png

华为GaussDB生态与标准CTO


2. 智能运维:自动化运维与AlOps实战

微信图片_20191029153651.png

优维科技CEO

微信图片_20191030112444.png

李圣陶
阿里巴巴数据库专家


微信图片_20191029153655.png
南开大学助理教授

微信图片_20191029154559.png

云和恩墨应用架构产品部总经理

1572406109351080169.jpg

刘迪
腾讯高级产品经理

3. 云和数据:企业级数据云平台演进

1572406170692008591.png

云和恩墨副总经理,Oracle ACE 总监

微信图片_20191029155541.png
新数科技研发总监

微信图片_20191029155544.png
沃趣科技技术中心负责人

微信图片_20191029155546.png

爱可生 研发主管

微信图片_20191029190557.png
中国电信云计算公司资深架构师


4. 用户实践:性能优化和案例诊断

微信图片_20191029160807.png

Oracle ACE 数据诊断优化专家

微信图片_20191029160743.png
中国Oracle RWP部门经理

微信图片_20191029160747.png
Oracle ACEA,性能优化专家

微信图片_20191029160750.png

Orace ACEA,数据库技术专家

5. 开源自研:国产和开源数据库技术

微信图片_20191029161820.png

阿里云数据库架构师

微信图片_20191029161825.png
达梦公司产品技术总监

微信图片_20191029161823.png
腾讯TBase数据库技术总监

微信图片_20191029161817.png
甲骨文MySQL专家

1572406613268043046.jpg
陆天炜
中兴通讯GoldenDB分布式数据库架构师


6. 智能业务:数据驱动的企业业务实践

1572406737686081083.png

四川省人民医院首席信息官

微信图片_20191029193604.png
中国移动苏研院 技术专家

1572406788248097958.jpg
天坛医院 技术专家

1572406814683042918.jpg
吴建民
京东方 ITC智能制造事业部总经理

1572406896223004087.jpg
西门子 智能制造 技术专家


7.云和数据:云数据库的架构和应用

微信图片_20191029163945.png

阿里云数据库架构师

微信图片_20191029163949.png
金山云数据库架构师

aws.png
技术专家


8. 用户实践:金融科技行业实践

微信图片_20191029164826.png

腾讯科技副总监

微信图片_20191029164824.png
甜橙金融技术创新中心平台技术架构师

1572407139536079674.jpg
技术专家


1572407228385063525.jpg
技术专家


9.开源实践:互联网数据应用实战

微信图片_20191029170158.png

腾讯数据库高级工程师


微信图片_20191029170203.png

PostgreSQL社区核心成员

1572407390712013497.jpg

李凯
美团点评数据库团队负责人


1572407432161088597.jpg

张亮
京东金融数据研发负责人


10. 数据前沿:数据库新特征与技术方向

微信图片_20191029170817.png

ACOUG 核心专家,Oracle ACE 总监

微信图片_20191029170815.png
华为高级技术专家

微信图片_20191029170819.png
云和恩墨软件开发部研究院研究员

微信图片_20191029170812.png
去哪儿DBA


11.云和数据:混合云的平台架构和实践

微信图片_20191029171900.png

华为云企业核心应用云化解决方案总经理

1572407613954071438.jpg

宋巍
EasyStack资深云解决方案架构专家

微信图片_20191029200145.png

冯相东
存储产品经理

1572407682930040382.jpg

新华三
技术专家


12. 用户实践:云和开源数据库应用实践

微信图片_20191029192351.png

章磊
腾讯云MongoDB产品经理

微信图片_20191029191328.png

华为云高级市场营销总监

1572407778026075580.jpg

技术专家

微信图片_20191029200913.png

技术专家

(具体嘉宾最终确认名单以"大会官网"为准)



看了本次嘉宾阵容,相信小伙伴已经迫不及待想要报名了。报名可扫描首图二维码或进入:https://www.modb.pro/dtc,即可报名!欢迎大家来参与本次大会,共同领略数据库风采!

Posted by eygle at 1:11 PM | Permalink | Activity (159)

2019,细数国产的那些和 MySQL 有关都数据库

2019年,关于 MySQL 的新特性、新版本消息不绝于耳,尤其是当 MySQL 支持了 Hash Join ,大家仿佛看到了企业级应用的曙光:

2019,10月,MySQL 8.0.18 发布,支持 HASH JOIN;

MySQL 一直是互联网数据内核的主宰,但是在经历从互联网到企业级的转变中,却是困难重重。然而在 2019年,越来越多的企业级客户开始在业务核心中使用 MySQL 数据库,这是一个标志性的转变,代表 MySQL 打开了更广泛的企业市场,而MySQL的技术变革也正在以更快的步伐去满足更广泛的用户需求。

毫无疑问,MySQL 是当今 最流行的数据库 和 最流行的开源数据库,在 DB-Engines 上,MySQL 的流行度几乎和 Oracle并驾齐驱,但是考虑到 Oracle 很多时候代表的不仅仅是 Oracle 数据库(更多的是代表一家公司),而 MySQL 就仅指 MySQL数据库,所以事实上,即便在指标上,MySQL 数据库可能早已凌驾于榜首之上。

图示

而在 DB-Engines 的榜单上,还有一系列的独立数据库品牌是在 MySQL 的基础上发展而来的,MySQL 的生态庞大而无以伦比。

在中国的国产数据库领域,几乎所有的云厂商都有基于 MySQL 的 RDS 提供,而更进一步的,头部的 IT 厂商也都几乎基于 MySQL 发展出独立的解决方案或产品,这进一步推动了国内 MySQL 的广泛应用和发展。接下来让我们细数一下那些改变数据库核心应用的 MySQL 数据库们。

POLARDB for MySQL


PolarDB for MySQL,POLARDB是阿里云自主研发的,与MySQL完全兼容的云托管数据库产品,采用了分布式存储引擎、计算和存储分离的架构,单库最多可扩展到16个节点,存储容量最高可达100TB。

图示

PolarDB 架构的设计特点包括:一写多读,计算与存储分离,读写分离,高速链路互联,共享分布式存储,数据多副本、支持Parallel-Raft协议。

POLARDB在2019年发布了POLARDB MySQL 8.0兼容版,是第一个兼容MySQL 8.0版本的云原生数据库,据悉POLARDB的高性能存储引擎X-Engine即将发布,X-Engine存储引擎具有高性能和高压缩率,经历了2018年双11的实战考验。

根据官方信息,阿里云POLARDB 8.0版本提供了更多的内核引擎功能,比如:

独立可扩展的共享Buffer Pool、行级压缩、全球实例支持、并行DDL、分区表自建索引以及自建分区表等。

图示

并行查询是POLARDB 8.0版本推出的一个特性,在TPCH 100G数据量的情况下,使用POLARDB并行查询时70%的查询可以被加速,40%的加速比超过10倍。在未来,POLARDB会实现自动的DOP以及ResourceManager,并将支持Subquery、GIS和Blob以及Procedure等。

图示

通过以上的介绍,大家可以看到云数据库的发展速度,并行查询、高压缩比的存储引擎,这些都会为用户带来实际的收益。并行DDL、分区表自建索引等特性,其实已经将 MySQL 的特性极大的拉近到Oracle数据库的层面上来。

我非常期待阿里云的 X-Engine 引擎,众所周知,Oracle 在Exadata中提供了强大的混合列压缩特性,但是不开放给非一体机用户,在开源的世界里,自由的改造和创新为数据库带来了无以伦比的活力!

腾讯 TDSQL


腾讯的 TDSQL ,全称 Tencent Distributed mySQL -腾讯分布式MySQL,是针对金融联机交易场景的高一致性数据库解决方案。

2019 年 9 月 12 日,腾讯云官方宣布了 TDSQL 在张家港农村商业银行正式落地,成为国内首个被银行在传统核心业务场景中使用的国产数据库。

根据报道,在迁移之前,张家港行使用的是 Sybase 数据库,迁移的核心系统的数据量在 TB 级,包括了账户、账目、流水、账单、日志等数据。核心系统主要分为两大部分,一个为交易子系统,覆盖银行卡、资金管理等等;另一个为会计子系统,主要是资金的交易分离、清算总账。

2019 年 8 月 16 日下午 6 点,张家港行开始进行新核心系统的上线工作,数据库割接通过原有数据的导出、TDSQL 数据的导入以及中间数据的加工校验。48 小时之后整个改造工作结束。新核心在至今一个多月的时间里,数据库运行稳定各项指标均正常,即使业务高峰期数据库也维持极低负载。

接下来我们来简单了解一下 TDSQL 的架构。

TDSQL 是由决策调度集群 /GTM,SQLEngine、数据存储层等核心组件组成,每个模块都基于分布式架构设计,可以实现快速扩展,无缝切换,实时故障恢复等,通过这一架构,TDSQL 的 Noshard、Shard、TDSpark 实例可以混合部署在同一集群中。

TDSQL 的核心思想有两个:数据的复制(Replica)和分片(Sharding),其中

replica 配合故障的检测和切换,解决可用性问题;Sharding 配合集群资源调度、访问路由管理等,解决容量伸缩问题。

在最终实现上,TDSQL 由 Scheduler、Gateway、Agent 三个核心组件加上 MySQL 组成:

图示

TDSQL 在 SQLENGINE 实现了基于代价的查询引擎 (CBO),实现了基于 shard key 下推,索引条件下推,驱动表结果下推,null 下推,子查询下推, left join 转化成 inner join 等,以提供更好的分布式查询的能力,支撑金融交易的关联操作。

TDSQL 仍然是通过经典的 XA 两阶段提交加两阶段封锁协议实现了强分布式事务的语义,在使用语法上与 MySQL 完全一样,即后端的分布式事务处理对业务使用方是完全不感知,以保证兼容性。

图示

张家港农村商业银行的项目实施过程分为两个阶段,功能性改造,性能优化。

整个改造过程是从简单到复杂,先从高频交易入手,集中处理与高频交易相关的业务以及子系统,然后是跑批类交易。

从集中式架构转变到分布式架构,要求所有的库表都要重新设计,这是所有数据库做分布式改造时都无法避免的问题。如何根据全局业务,选择最佳的数据分布策略,是分布式改造需要面对的首要问题。即使确定了分片关键字,还需要对该分片关键字以及索引做持续优化调整以寻求最佳实践。

兼容性差异,包括两部分:Oracle 生态与 MySQL 生态、集中式架构与分布式架构的差异,TDSQL 做了大量对 Oracle 语法兼容性的优化。对于一些不太适合分布式场景下的使用特性如:存储过程、视图、触发器等,将更合适放到应用层的部分逻辑上移,实现了更为彻底的分布式架构,极大提升了整体的水平扩展性。

针对复杂 SQL 问题,业务侧通过调整分片关键字和复杂 SQL 拆分两个方面做优化,让 SQL 尽可能限制在一个数据节点内。针对无法避免跨多个数据节点的表关联,TDSQL 做了大量复杂 SQL 的优化,如:子查询上提、左连接消除、丰富下推逻辑以及基于统计信息的条件推导逻辑等,尽可能提高处理这种复杂 sql 的性能。

TDSQL 还承载了微众银行 99% 以上线上数据库业务,微众和腾讯云合作的 TDSQL 智能运维 - 扁鹊项目,已在微众银行灰度上线,可以实时分析 TDSQL 的运行状态和性能问题,是智能化运维方面的有益探索。

图示

中兴 GoldenDB


中兴 GoldenDB 数据库。它是中兴面向金融领域,自主研发的一款基于 MySQL 的分布式数据库。

中信银行信用卡核心业务将于2019年下半年全部迁移到GoldenDB数据库上,承载起核心金融的重要使命。

图示

GoldenDB 的特性描述包括(来自官网):

Share Nothing全分布式架构:计算存储分离、存储节点具备强大的本地计算能力;无单点故障瓶颈,设备故障情况下,依旧保证数据零丢失、提供不间断服务;横向扩展,通过设备堆叠无限扩展计算性能和存储容量;支持超大规模节点的可视化监控运维;

高效可靠的容灾能力:金融级多地多中心多活架构,实现RPO=0,RTO<30S,数据永不丢失,灾难情况下业务快速平稳切换;

不停服务的在线扩容:支持哈希、列表、范围、复制四种分片规则;支持热点库分裂,保证数据分布均衡;支持多表关联扩容,减少跨库关联查询;扩容计划灵活配置,扩容过程可视化管理;

金融级实时一致的分布式事务:引入全局事务管理器,保证分布式事务的实时一致性;对应用透明的分布式事务处理,应用无需改造;一阶段提交+自动补偿机制,提升分布式事务处理性能;

金融级可靠性:快同步复制保证数据不丢失,分组复制保证业务不中断,高低水位实现策略灵活可配置;

功能完备的备份恢复:支持全量、增量、实时和定时的备份策略,支持数据恢复到任意时间点,支持恢复到全局一致的数据状态;

SQL兼容:兼容标准SQL语法、MySQL语法、Oracle常见语法,支持分布式优化、分布式批处理。

中国电信 TeleDB


虽然公开的信息并不多,但是中国电信基于 MySQL 的增强 TeleDB 已经能够为电信及其合作伙伴提供基于交易或订单系统的数据库服务。

图示

图示

在 2019 数据技术嘉年华大会,我们邀请到阿里巴巴技术专家 周振兴 分享PolarDB的内核技术;腾讯TDSQL的数据库专家 李海翔,分享TDSQL的研发进展,腾讯金融科技技术专家 姜承尧,分享 MySQL 的最佳实践、甲骨文技术专家 徐轶韬 分享来自官方的 MySQL 新特性和核心进展 ,去哪网 MySQL 技术专家 高超 分享MySQL 8 数据备份及Clone Plugin的原理与实践,GoldenDB 资深架构师 分享 GoldenDB的最新进展和客户实践!

数据技术嘉年华,汇聚业内 MySQL 最佳实践和顶级技术专家,只为总结 2019 ,与您尽享技术前沿,领先一步卓立变革潮头!

2019 数据技术嘉年华,现在加入,尽享超低票价优惠:

图示

Posted by eygle at 12:54 PM | Permalink | OraNews (265)

October 18, 2019

替换Oracle 数据库,阿里巴巴和亚马逊在逃离什么?

2019年10月16日消息,AWS 终于在 2020年前兑现了自己的承诺:彻底替换 Oracle 数据库

这几乎是每年 Oracle Openworld 大会上 Larry Ellision 固定的一个梗,他说 亚马逊 在号召用户迁移使用 AWS 的数据库,然而每年 AWS 自己都在向甲骨文购买大量授权,Oracle 强大且难以替代。

然而,这个故事终于终结了。

其实在 2019年3月底,AWS 就发布过一个里程碑,亚马逊首席技术官Werner Vogels向亚马逊的物流(Fulfillment)团队发送祝贺,他们完成了该服务的最后一个 Oracle 数据库的迁移,36秒的庆祝视频得到了广泛的关注。

AmaonCTO_WernerVogels.jpg

Werner Vogels 在推文中说:

恭喜 Amazon Fulfillment 团队完成从 Oracle 数据库到 100% 的AWS数据库环境迁移,数据库自由了。

Amazon 执行倒计时任务的专家 John Darrow 执行了Shutdown Abort,强制终结了Amazon Fulfillment 的最后一个 Oracle 数据库。在 Oracle 数据库中,Abort 属于强制中断,类似断电引起的软件中断,切断所有会话、中断所有事务,下次启动时需要恢复,以这种方式关闭数据库,说明这个数据库已经不再承载业务了,这只是一个象征意义的时刻。

AmazonJohnDarrowShutdownAbort.jpg

这个数据库迁移到了亚马逊的 Aurora for PostgreSQL 和 Dynamo 上。细致的网友还会发现 Amazon 的提示符是:SYS.FCDBA.PRIMARY ,说明这是一个主库(明确的提示符可以避免 DBA 出现误操作):

FCDBAShutdownABORT.jpg

这一次,是 AWS首席布道者Jeff Barr 发布,Amazon消费者业务正式完成了对Oracle数据库的迁移工作,关闭了最后的Oracle数据库。

Amazon 消费业务的去 Oracle 工作共有 100 多个团队参与,包括 Alexa、Amazon Prime、Amazon Prime Video、Amazon Fresh、Kindle、Amazon Music、Audible、Shopbop、Twitch 和 Zappos 等着知名品牌和网站,以及 AdTech、Amazon Fulfillment 等内部团队技术,涉及到的系统包括消费者付款、客户退货、目录系统、提供体验、数字设备、外部付款、财务、InfoSec、市场、订购和零售系统。

整个迁移工作将存储在近 7500 个 Oracle 数据库中的 75 PB 内部数据迁移到多个 AWS 数据库服务。其中,低延迟服务已迁移到 DynamoDB 和其他高度可扩展的非关系数据库,例如 Amazon ElastiCache;具有高数据一致性要求的事务性关系工作负载已移至 Aurora 和 RDS;分析工作负载已迁移到云数据仓库 Redshift 。

aws_bye_bye_oracle.png

和 AWS 处境类似的阿里巴巴,同样拥有云时代的前瞻和战略领先优势,而阿里巴巴更是早在2009年就正式开始了"去IOE"。

2013年5月17日,阿里集团最后一台IBM小型机在支付宝下线。这是自2009年"去IOE"以来重要的一个节点。当年7月10日,淘宝重中之重的广告系统使用的Oracle数据库下线,也是淘宝的最后一个。

下面这张图成为了一个标志,王坚博士带领的团队在中国创造了『去IOE』这个盛极一时的标志性词汇,而据说在 Oracle 内部去IOE的译文是:De-IOE,然后专门制定了 Anti-De-IOE 策略。

AlipayIBMOUt.jpg

在 AWS 16日的新闻稿中,我特别留意了以下一段描述:

Over the years we realized that we were spending too much time managing and scaling thousands of legacy Oracle databases. Instead of focusing on high-value differentiated work, our database administrators (DBAs) spent a lot of time simply keeping the lights on while transaction rates climbed and the overall amount of stored data mounted. This included time spent dealing with complex & inefficient hardware provisioning, license management, and many other issues that are now best handled by modern, managed database services.

这段话翻译过来是说:

多年来,我们意识到我们花了太多时间来管理和扩展数千个旧的Oracle数据库。我们的DBA不再专注于高价值的差异化工作,而是花费大量时间应对事务率上升和存储数据总量不断增加的挑战。这包括花费在处理复杂且效率低下的硬件配置,许可证管理和许多其他问题上的时间,而这些问题现在最好由现代的托管数据库服务来处理。

这里表达了一层核心的意思:DBA无法专注于高价值的工作常规的事务性技术工作 - 扩容、优化 甚至数据库的授权管理,消耗了太多的时间。而这些工作在技术进步的今天,可以通过现代技术解决掉,让 DBA 们能够投身更有价值创造的工作上

再回到第一段话:

Over my 17 years at Amazon, I have seen that my colleagues on the engineering team are never content to leave good-enough alone. They routinely re-evaluate every internal system to make sure that it is as scalable, efficient, performant, and secure as possible. When they find an avenue for improvement, they will use what they have learned to thoroughly modernize our architectures and implementations, often going so far as to rip apart existing systems and rebuild them from the ground up if necessary.

这段话是说:

工程团队的同事们永远不满足于独自一人保持良好状态。他们定期重新评估每个内部系统,以确保其尽可能地可扩展,高效,高性能和安全。当他们找到改进的途径时,他们将使用他们所学到的知识对我们的体系结构和实现进行彻底的现代化,通常甚至将现有系统拆散并在必要时从头开始进行重建。

在去IOE的道路上,很多企业对于重构系统顾虑重重,然而 Jeff 的这段描述给出了一个解释:重构是不满足现状,期望进一步解决问题以实现进化的不懈努力,是不断循环上升的技术使命。这正是一个优秀团队的核心品质所在。

而在阿里巴巴,自研的 OceanBase 替换金融交易中的 Oracle 数据库,则更是引人瞩目的巨大成就。

2014年,OceanBase替换了支付宝交易系统中的Oracle数据库。
2015年,OceanBase 替换了支付宝支付系统中的Oracle数据库。
2016年,OceanBase替换了支付宝最核心的账务系统中的Oracle数据库。
2017年,蚂蚁金服全面去IOE。

王坚这样概括"去IOE"的本质:"去IOE"的本质是分布化,让随处可以买到的通用PC架构成为可能,是云计算能够落地的首要条件。这个过程彻底改变了阿里集团IT架构的基础,是阿里拥抱云计算,产出计算服务的基础。

这就非常清晰的描述了阿里云和AWS摆脱 Oracle 的根本驱动力,只有摆脱了传统IOE的束缚(事实上是摆脱了传统IT的商业模式),才能够扩大云的服务边界,快速、敏捷、批量、经济。而在这个过程中,即磨练了团队,又积累了服务云客户的经验,实现了一举多得

在 AWS的本次迁移中,也涉及了一个财务分类账数据库:

Financial Ledger - This team moved 120 TB of data, reduced latency by 40%, cut costs by 70%, and cut overhead by the same 70%, all powered by DynamoDB.

财务分类账:在 DynamoDB 的支持下,该团队迁移了 120 TB 的数据,并将延迟减少了 40%,将成本降低了 70%,将开销减少了 70%。

根据新浪微博一位参与过此项目的技术专家描述,服务应用重写了,所以数据层就替换掉了。应用重构正是数据库变革的最佳时机

AWSShutdown.jpg

浙江移动王晓征曾经分析和总结阿里巴巴去IOE的动因,四点驱动非常准确:

  1. 业务 - 阿里业务爆发式增长,对系统的扩展性具有极大的需求;

  2. 成本 - 商业产品的采购以及服务成本;

  3. 能力 - 掌握IT系统核心能力;

  4. 市场 - 阿里云是公有云,需要采用开源产品,降低成本展示实力。其实业务合规提供服务的必然需求。

De-IOE.jpg

在以上四个要素中,掌握系统核心的能力最为重要,掌握能力,才能为他人和行业赋能,才能获得抉择的自由。时至今日,阿里在这条道路上获得了巨大成功,阿里云已经是国内云领域的领导者,全球云市场的重要竞争者。

除了互联网的积极践行,传统行业客户也在不断探索数据库应用的出路和方向。例如,从公开的信息可见,中国电信基于 MySQL 的增强 TeleDB 已经替换了传统 BOSS、CRM 核心上的 Oracle 数据库,MySQL 能够为电信行业提供核心的数据库支持。

TELDB02.jpgTELDB01.jpg

2019 数据技术嘉年华 大会,在双11购物狂欢之后,我们邀请了阿里云数据库掌门人 李飞飞 博士 分享阿里云数据库上的双11,蚂蚁金服 去O变革亲历者, 杨传辉(日照)将分享 OceanBase 的技术创新和广受瞩目的 TPCC 实践,来自阿里云的数据库架构师 樊文凯(唐修)将会分享 Oracle 迁移上云的经验,阿里云的专家 周振兴 将分享 PolarDB 对 Oracle 的兼容和用户实践,阿里巴巴的高级运维专家 李圣陶 分享智能运维实践,而来自四川电信的客户专家 张明 将分享典型行业在 PostgreSQL 中的应用探索,来自 AWS 的技术专家将分享 AWS 的云数据库实践。

2019 数据技术嘉年华,看中国数据库力量,就等你来!

现在加入,尽享超低票价优惠:https://modb.pro/dtc

Posted by eygle at 6:17 PM | Permalink | OraNews (265)

October 16, 2019

2019,国产数据库元年开启新纪元

元年,意味着一个崭新的开始,2019 何以称之为『国产数据库元年』?

我以为,一个技术生态的繁荣发展,必须拥有广泛的投入、广泛的参与、广泛的关注,这三者缺一不可。而在2019年,这三者意外的同时具备了。

至于原因,各位看官,且听我一一道来。

广泛的投入,是指来自各个角度、各个行业、各个角色的全方位投入,说白了这个投入就是指在数据库方向上主要出钱的。

国产数据库发展的40年,最初源于国家的引导、支持和扶植,在这一阶段,国产数据库的研发始于高校,直至今日,源自高等院校的几大数据库公司仍然是国产数据库的重要参与力量,这几家分别是人大金仓、武汉达梦、神州通用、南大通用。可是只有国家扶植、院校投入还不够,无论是学术基因、市场缺失,还是生态支持,都使得单一的数据库发展举步维艰。

ChinaDB1977.jpg

1977 黄山 首届中国数据库年会

随着近年互联网和开源技术的蓬勃发展,互联网企业以高度的热情参与到了数据库的建设中来。不管是自主研发,还是借助开源,互联网解决了自身应用的问题,并且依托云平台,展开了云数据库的应用推广。这其中,阿里巴巴的OceanBase、PolarDB,腾讯的 TDSQL、TBase等,都成为了来之能用,用之能稳的核心武器。

数据库领域生机勃发的另外一支力量是新兴的独立数据库创业企业,由于行业的未来引人瞩目,资本开始青睐这个行业,技术创业者和资本的结合,在新时代催生了一系列的新兴数据库企业,这其中包括巨杉、PingCAP、偶数、星环、柏睿数据、星瑞格、易鲸捷等。这其中的创业核心多数来自于 Oracle、IBM、Intel、HP、EMC等国际企业,正是因为有了这四十年的厚积薄发,才有了今天的朝气蓬勃,遍地花开。

在独立的数据库企业和互联网企业之外,头部科技企业也参与到了数据库核心技术攻关中,这其中就包括华为、中兴、浪潮,华为在2019年推出了 GaussDB,中兴则推出了 GoldenDB,而浪潮则是推出了K-DB。深谙企业级服务之道的头部科技企业的介入,让数据库和商业市场运作彻底消除了隔膜,迎来了加速奔跑的时代

广泛的参与,是指当数据库领域从各个角度都获得了不同维度的投入和支持之后,市场上呈现出百花齐放的产品生态,可是当有了能用的产品之后,最关键的是要有数据库生态厂商的广泛参与,例如软件开发企业、生态工具企业、服务支持企业、最终企业用户等。广泛的参与说白了是要进行辅助投入的,是在外围花钱的。

数据库产品的成功,必须有赖于传统企业自发自主的参与应用,单靠国家扶植或强制推广,是无法创造良好的、可持续的产品生态的。对于数据库产品来说,成功的关键是必须要有来自各行业的应用的自发的、主动的支持。一旦企业的主动需求成为常态,则国产数据库必然能够长期蓬勃发展起来。

我们回顾一下在2019年,市场上看到的国产数据库声音:

  • 2019年7月,华为 GaussDB 在浙江移动核心系统成功商用;

  • 2019年8月,华为在研讨会中透漏,GaussDB 在工商银行、招商银行、民生银行获得客户采用并获成功;

  • 2019年9月,腾讯 TDSQL 在张家港农商银行新一代核心业务系统上线;

  • 2019年10月,OceanBase 在 TPCC 测试中,登顶夺冠;

OBChina.jpg

2019 院士对 OceanBase 的评价

这些来自于金融、电信等行业企业客户的采用,才是国产数据库真正突破的开始。只有各个行业都参与到国产数据库的探索之中,国产数据库才可能真正的加速发展、加快成长,并最终成熟起来。

在今年9月华为的HC大会中,我参与了华为组织的一个数据库闭门讨论会,其中一位与会专家慨然批评国产数据库不好用。是的,你如果问国产数据库(仅指我熟悉的OLTP)和Oracle相比好不好用,肯定不好用。我在20年前接触Oracle数据库的时候,也遇到非常多的问题,时至今日,在墨天轮上提问的很多人也会说Oracle很多地方不好用,但是由于 Oracle 建设了非常良好的生态体系、培养了大量的专业工程师,使得用户在遇到问题时,找得到支持,解决得了问题,从而保障了用户的业务运转

所以国产数据库的发展一定需要不同角色的广泛参与,要有厂商基于国产数据库开发应用软件,要有第三方为国产数据库提供服务,要有机构为国产数据库培养输送人才,要有投资方容忍国产数据库试错成长,唯有如此,国产数据库才能少摔跤,跑得快!

国产数据库的发展,一定要全军为上,任何单方面的努力都是单薄无力的。而时至今日,2019,这正是中国数据库最好的发轫之机

我印象深刻的记得,OceanBase 的阳振坤老师,每次和他交流的时候,他都会两眼放光的说到:今时今日之中国,正是搞数据库的人最好的时代

而在40年间,数据库领域成长起来的中坚力量,正在成为国产数据库的坚定支持者,这其中就有来自各个领域、各个角色的支持者。

在研发厂商领域

  • 阿里巴巴阿里巴巴数据库事业部负责人,李飞飞,他是美国计算机协会(ACM)公布2018年度的杰出科学家,全球数据库领域领军人物、达摩院数据库首席科学家;

  • 巨杉数据库联合创始人CTO,王涛,曾经在北美的IBM DB2 Lab工作多年,是DB2核心的研发团队的一员,他也是"2006年度中国优秀数据库工程师"。

  • PingCAP 联合创始人兼 CEO ,刘奇,曾先后创建TiDB、TiKV、Codis 等知名开源项目,也是知名的Go语言专家和Redis专家。

  • 华为公司智能数据平台CTO,武新,曾于1997年加入甲骨文(法国)公司,任职十余年,是最早获得Oracle Certified DBA的数据库管理专家,2008年回国担任南大通用高级副总裁兼CTO,2019年加入华为。

在企业客户领域:

  • 民生银行总行信息科技部总经理,牛新庄,曾经是国内DB2领域的顶级专家,"2006年中国首届杰出数据库工程师"奖获得者,而今 GaussDB 在民生银行的落地,正是因为专业才能坚定;

  • 浙江移动信息技术部总经理,王晓征,曾经是中国第一批Oracle OCM (9i)认证专家,在他的领导支持之下,GaussDB 在浙江移动上线;

  • 招商银行总行数据中心应用与数据库管理室经理,田永江,曾是中国DB2十大风云人物,在他的远见和实践之下,和华为联合创新的 GaussDB 100 在招行获得大规模应用;

广泛的关注是指,不仅仅是技术领域,数据库技术的发展和演进,需要从学术、教育、应用软件企业、服务商、甚至是社会群众的理解、关注和支持。没有广泛的关注、理解和支持,就不会有人才投身其中,就很难构建全流程的生态基础。简单说,广泛的关注就是指,围观看热闹,打气鼓掌加油的!

最近蚂蚁金服的 OceanBase 登顶 TPCC 排行榜,引发了社会的广泛关注,与此相关的讨论文章和媒体报道席卷而来,不从技术角度,单从社会教育角度这都是一次巨大的成功,从未关注数据库的人,也开始讨论数据库是什么。如果我们的高校能够吸引和培养更多的数据库人才,而不仅仅是来自 Oracle、DB2 等国际厂商的培养,那么我们的原生数据库力量才能真正的崛起。

华东师范大学副校长周傲英教授在谈及中国数据库发展时,曾经这样说道:「数据库一直都是中国的切肤之痛,从六五(指第六个五年计划)开始,我们就在立项,我们要做自己的数据库,但我们一直没有弄明白,为什么我们做不出来自己的数据库,后来到了互联网时代,我们一下子醒悟过来了,就是生态。这之中既包含用户生态,更包含技术生态,前者是我们要将国内数据库市场空间做大,后者是我们要形成合力,因为数据库要解决的问题是综合性的,只有一起才能将这个事情做好。」

而云和恩墨作为国内数据库领域第三方生态的一员,正在全面支持国产数据库的发展和应用。

  • 2019年8月,墨天轮平台全面开通国产数据库频道,汇聚和分享国产数据库技术资源和生态;

  • 2019年11月,数据技术嘉年华大会,汇聚国产数据库精华,展开技术分享和交流;

如果您还对未来使用哪一款国产数据库犹豫不决,对国产数据库知之甚少,总结全年的『数据技术嘉年华』一定有你期待的答案,国产数据库产品、领军专家将会在大会分享精彩议题!

2019 部分参与嘉年华大会的国产数据库

本次大会我们邀请到了国产数据库的数据英雄们,为大家同台一展数据库的中国色彩,受邀嘉宾包括:PolarDB领军者 - 阿里巴巴李飞飞,OceanBase 研究员 - 杨传辉(日照),巨杉数据库创始人 - 王涛,腾讯 TDSQL - 李海翔,腾讯 TBase - 李跃森,华为 GaussDB - 王伟民, PingCAP - 房晓乐达梦产品技术总监 - 黄海明,GoldenDB 架构师 - 林品,腾讯 CynosDB - 孙旭,一同为我们带我们领略国产数据库的风采。

DTCCHinaDB.jpg

现在加入,尽享超低票价优惠:https://modb.pro/dtc

2019 数据技术嘉年华,看中国数据库力量,就等你来!

Posted by eygle at 10:29 AM | Permalink | Activity (159) | OraNews (265)

October 9, 2019

Oracle 20c 新特性详解:SQL Macro 宏 SCALAR / TABLE 模式

在 Oracle 20c 中,SQL的宏支持 - SQL Macro 为 SQL 开发带来了进一步的敏捷和便利,在这篇文章中,我们来详细了解一下 SQL Macro 的特性用法。

以下是概要介绍:

宏的作用在于让SQL获得进一步的概括和抽象能力,允许开发者将复杂的处理逻辑通过宏进行定义,然后在后续程序处理中可以反复引用这一定义。

在 20c 中引入的 SQL Macro 支持两种宏类型,Scalar 和 Table 类型。

SCALR 表达式可以用于 SELECT 列表、WHERE/HAVING、GROUP BY/ORDER BY子句;

TABLE 表达式可以用于 FROM 语句。

图示

对于 SCALAR 类型的宏,可以为复杂的SQL提供更灵活的语法来优化执行,这些灵活的方式包括:包和Schema 级别的函数,重载,命名参数和默认参数。

通过SCALAR宏,可以使可重用的SQL代码对SQL Optimizer透明,这将带来很大的收益,包括:

- SQL优化器可以转换代码以有效执行;

- PL / SQL内部的查询可以合并到外部查询中;

-在PL / SQL和SQL之间没有上下文切换;

-在与外部查询相同的快照下执行 PL / SQL 函数内部的查询;

-使用标量宏的WHERE子句谓词可被下推到Exadata中的存储侧谓词评估- 这对PL / SQL函数不适用

我们看一个简单的示例,例如需要一个函数,返回数据的下限和上限,举例而言,如果 x < lower (特定小值) 则返回 lower(作为下限);如果 x > upper (特定大值)则返回 upper(作为上限),否则返回 x 本身。

例如,如下创建一个 Clip 函数,返回一个 SCALAR 值:

create function clip(lo number, x number, hi number)
return varchar2 SQL_MACRO(SCALAR) is
begin
return 'least(greatest(x, lo), hi)';
end;
/

接下来就可以如下引用这个函数:

SELECT
ename,
CLIP (:lower, sal, :upper)
FROM emp;

Macro 函数被查询改写为如下执行:

SELECT
ename,
least(greatest(sal, :lower), :upper)
FROM emp;

这个查询返回的结果如下,可以看到 CLIP 的效果:

SQLMacro5.jpg

TABLE 类型的 SQL Macro 有两种,分别是:

1. 参数化视图 - Parameterized Views

2. Polymorphic Views

什么是参数化视图?

•查询中使用的表固定在宏的定义内;

•传递参数以从那些表中选择行;

•返回的查询的"形状"(通常)是固定的;

•参数化视图的常见用法是,当使用标量参数选择行的子集然后进行聚合时

SQLMacro6.jpg

参数化视图的示例:

CREATE FUNCTION budget (dept_no number DEFAULT 10)
RETURN varchar2 SQL_MACRO(TABLE)
IS BEGIN
RETURN q'[
SELECT
d.deptno,
SUM(e.sal) budget, ANY_VALUE(d.dname) department, count(e.empno) headcount, count(e.mgr) mgr_headcount
FROM emp e, dept d
WHERE d.deptno = :dept_no
AND e.deptno = d.deptno
GROUP BY d.deptno]';
end BUDGET;
/

通过传递 DEPT_NO,返回一个查询表宏,调用范例:

WITH east_coast as
(SELECT deptno
FROM dept
WHERE loc = 'Boston')
SELECT *
FROM budget(east_coast);

什么是多态视图?

•具有一个或多个表参数的表值宏

-还可以具有标量值的参数!

•输入表在宏返回的查询中使用。

•示例:反选择 where 条件...

-对于给定的表,返回一个查询,该查询会跳过给定名称或数据类型的列

-传递通用谓词(例如rownum <n),

-为现有语法提供功能语法

SQLMacro7.jpg

以下是一个实例:

CREATE FUNCTION sample(t DBMS_TF.Table_t, pct number DEFAULT 5)
RETURN VARCHAR2 SQL_MACRO(TABLE) AS
BEGIN
RETURN q'[SELECT *
FROM t
WHERE dbms_random.value<=sample.pct/100]';
END sample;
/

调用过程:

SELECT *
FROM sample(t=>sh.sales, pct=>15);

还可以使用SQL宏(TABLE)返回范围:

•生成范围为[first,stop] 的行的算术级数。

-第一行的值优先

-每个后续行的值将比上一行的值多一步

•这些宏的语义是在Python的内置range()函数之后建模的

- PL / SQL程序包

- PL / SQL程序包主体

以下是一个范围处理的范例:

create or replace package GEN is
function RANGE(stop number)
return varchar2 SQL_MACRO(TABLE);
function RANGE(first number default 0, stop number, step number default 1)
return varchar2 SQL_MACRO(Table);
end GEN;
/
create or replace package body GEN is
function RANGE(stop number)
return varchar2 SQL_MACRO(TABLE) is
begin
return q'{
select * from (select level-1 n from dual connect by level<=stop) where stop>0 }';
end;
function RANGE(first number default 0, stop number, step number default 1)
return varchar2 SQL_MACRO(TABLE) is
begin
return q'{
select first+n*step n from gen.range(round((stop-first)/nullif(step,0))) }';
end;
end GEN;
/

调用使用效果如下:

SQLMacro8.jpg

数据字典更新,USER_PROCEDURES,ALL_PROCEDURES,DBA_PROCEDURES等视图都增加了 SQL_MACRO 字段。

对于 SQM 函数,增加了 SQL_MACRO 字段用于标识类型 - TABLE 或者 SCALAR:

SQLMacro9.jpg

最后总结一下 SQL Macro 的意义:

•SQL宏提供了一个基于SQL的简单框架,用于封装业务/技术逻辑

-无需在查询中调用自定义PL / SQL过程和函数

•可以在SQL语句内的任何地方使用;

•自动继承所有常用的数据库内查询优化;

•可以建立参数化视图;

•简化从非Oracle数据库迁移到Oracle数据库;

这就是 Oracle 20c 的 SQL Macro 的概要信息,相关的 OOW分享文档参考:

https://www.modb.pro/doc/997

Posted by eygle at 11:44 AM | Permalink | Oracle12c/11g (160)

近期发表

  • Oracle Database 20c 十大新特性一览 - New Features - October 8, 2019
  • Oracle 20c 新特性:细粒度的Multitenant 和3个PDB多租户支持 - October 7, 2019
  • Oracle 20c 新特性:自主的 In-Memory 管理 - Self-Managing - October 7, 2019
  • Oracle 20c 的 In-Memory 新特性 Spatial 和 Text 支持 - October 7, 2019
  • Oracle 20c 新特性:SQL 宏支持(SQL Macro)Scalar 和 Table 模式 - September 19, 2019
  • Oracle发布Exadata X8M支持100G以太网和RoCE及持久化内存 - September 17, 2019
  • Oracle 20c 新特性:原生的区块链支持 Native Blockchain tables - September 17, 2019
  • PostgreSQL 基础:行列转换实现类MySQL的 group_concat 功能 - September 16, 2019
  • PostgreSQL 基础:如何查看 PostgreSQL 中SQL的执行计划 - September 16, 2019
  • AWR 报告解读:Time Model Statistics 信息的计算和获取 - September 10, 2019


  • CopyRight © 2004 ~ 2012 eygle.com, All rights reserved.