
需要注意的是,此处用的 MySQL 是5.6,最初是使用这条语句:
<pre class="custom" data-tool="mdnice编辑器" style="margin-top: 10pxmargin-bottom: 10pxborder-radius: 5pxbox-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px">select name, value, create_date, update_date from t1 group by name order by create_date desc </pre>
用这条 SQL 得到的其实只是每个 name 分组中最先插入的记录,然后按照 create_date 进行了降序排列,和原始需求,完全不同。
此时可采用分而治之的策略,先做排序,再做分组:
<pre class="custom" data-tool="mdnice编辑器" style="margin-top: 10pxmargin-bottom: 10pxborder-radius: 5pxbox-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px">select * from (select name, value, create_date, update_date from t1 order by create_date desc) t group by t.name </pre>
当然,针对此需求,可能有其他方法,有兴趣的朋友,可以尝试写写,共享一下。
可能有细心的朋友会发现个问题,就是上述 SQL 中的 group by ,好像有些奇怪,如果按照常规,select 中的字段需要出现在 group by 中,上述语句竟然没报错?
如果我们在 MySQL 5.7 执行相同的语句:
<pre class="custom" data-tool="mdnice编辑器" style="margin-top: 10pxmargin-bottom: 10pxborder-radius: 5pxbox-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px">select name, value, create_date, update_date from t1 group by name order by create_date desc </pre>
因此从5.6升级到5.7,很可能出现这种相同的 SQL 执行结果不同的现象,这对兼容性测试的要求就会很高,究其原因,一方面是特性决定的,另一方面就是各种配置参数不同导致的。
可以在5.7的 sql_mode 中删除这个 ONLY_FULL_GROUP_BY ,即可达到5.6相同效果了,或者改写 SQL ,例如:
<pre class="custom" data-tool="mdnice编辑器" style="margin-top: 10pxmargin-bottom: 10pxborder-radius: 5pxbox-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px">select * from t1 a where create_date = (select max(create_date) from t1 b where a.name = b.name) </pre>
或者,
<pre class="custom" data-tool="mdnice编辑器" style="margin-top: 10pxmargin-bottom: 10pxborder-radius: 5pxbox-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px">select * from t1 a where not exists (select * from t1 b where a.name = b.name and b.create_date >a.create_date) </pre>
MySQL 8.0支持 row_number()函数, *** 作应该和如下 Oracle 相近的。
Oracle 中可以使用 row_number()实现此需求:
<pre class="custom" data-tool="mdnice编辑器" style="margin-top: 10pxmargin-bottom: 10pxborder-radius: 5pxbox-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px">select * from (select name, create_date, row_number() over (partition by name order by create_date desc) as r from t1) where r=1 </pre>
没有什么条件,普通人直接买门票就可以参加。
会议定位和内容也在不断演进,从关注产品技术到服务并重,从客户应用到云端生态建设,不断突破创新,全方位展示云计算最新应用和实践成果,成为引领云计算行业创新发展风向标。对于普通人来说,参加这个会议也没有特别的作用,一般互联网人士可能会更加感兴趣。
云栖大会的前身可追溯到2009年的地方网站峰会,经过两年发展,2011年演变成阿里云开发者大会,到2015年正式更名为“云栖大会”,并且永久落户西湖区云栖小镇。云栖大会不仅仅是一个简单的会议,而是创新、创业大平台、大数据,折射出一个产业蓬勃兴起的一面,它是一个缩影。
2019杭州云栖大会于9月25日至27日举行。本届大会“平头哥”有重磅产品发布,并公布阿里在人工智能方面的整体性突破。国内科技巨头也在纷纷加大对芯片的投入力度。各地方政府对集成电路产业的支持力度不断增强。
历届峰会:
2009年第一届中国地方网站发展论坛举办,主题为“开放、共享、共赢”,来自全国各地的200家地方网站参与了论坛。
2010年第二届网站峰会,全称为中国地方与行业网站峰会举办,以“创新、融合、发展”为主题,来自全国各地的千名互联网从业人士、媒体和专家参加了大会,共谋行业未来发展之大计。
2011年首届阿里云开发者大会,旨在搭建一个企业领导、业界精英共同探讨与分享中国互联网无线化发展趋势、行业生态等各方面话题以及技术交流的平台,触动无线领域在云端开发者体系的发展。
2012年第二届阿里云开发者大会,主要盘点了阿里云d性计算、存储、大数据处理、云平台建设等方面的产品与技术,以及阿里云开发者大赛现场TOP10的火热评选。
2013年第三届阿里云开发者大会首次从杭州城里的宾馆搬到云栖小镇的露天广场,主题是“蝴蝶展翅,化云为雨”。大会通过移动互联网应用、游戏、金融、开发者服务等论坛深入分享了应用与技术实践。树立了云栖小镇的第一座纪念标志——“飞天5K”。
2014年第四届阿里云开发者大会,以“服务不是口号,是承诺”为主题,参会人员突破5000人,聚焦于金融、政务、电商、移动互联网等多个基于云计算的创新项目展示和产品发布。树立了第二座标志——“天弘基金纪念碑”。
“2015杭州云栖大会”于10月14日至15日在杭州云栖小镇如期召开。大会以“互联网、创新、创业”为本届主题,展现“互联网+”时代下无处不在的云计算与各行各业的交错连接,介绍云计算为产业升级和改革创新提供的源源动力,挖掘云计算助力下生生不息的创业激情和机遇。
2015年正式更名为“云栖大会”,阿里云的名字不再出现在会议名称中,而是更加强调云计算、大数据生态的定位。量子计算、人工智能、生物识别、深度学习等前沿的科技创新力量首次在大会亮相。大会吸引了全球超过20个国家的21500名开发者,参展企业达到219家,参与企业3000多家,现场参观超过42584人次,全球直播收看人数超过127万人,成为全球最大规模的云计算峰会之一。
2016年杭州·云栖大会在10月13日9点拉开帷幕,现场呈现超600场主题演讲、数万平方米的科技体验展区。阿里巴巴集团董事局主席马云、鸿海集团董事长郭台铭、MySQL创始人MichaelWidenius等都出席主题演讲,共同探讨与分享科技前沿技术。除了大会,云栖小镇国际会展中心内,数万平方米创新展览体验区和国内外一流科技与大家见面,参展国内外知名企业约400家,包括Intel、HTC、Docker、SK、PCCW、Singtel、HERE、神州数码等企业。
2017年10月11日至14日在杭州云栖小镇举行,以“飞天·智能”为主题在浙江杭州云栖小镇开幕,约有450家科技企业参展,集中展示了人工智能、视觉智能、芯片计算、量子计算、云计算、大数据、无人驾驶、智能家居、城市管理等领域的最新科技创新成果。
2018年9月19日,2018杭州·云栖大会开幕,主题为“驱动数字中国”,200多家全球企业带来新科技。
2021年10月19日,2021云栖大会在杭州开幕,大会以“前沿·探索·想象力”为主题,设置近千场主题演讲和四万平米科技展 。
8月23日,腾讯云对外宣布正式全线升级IaaS产品,多款产品全面升级,但除此之外更为让人关注的是,此次腾讯云还一口气发布了五款重量级数据库产品,并公布数据库产品矩阵。
腾讯云数据库基本上涵盖了业界主流的数据库产品,在关系型,非关系型、分布式等均有多个产品,今年年内还将上线分析性数据库等产品,腾讯云在数据库上的新动作,让它一跃成为云数据库领域最强有力的引领者。
腾讯云向来不会随意出手,每次产品的推出都有着具体落地的用户需求,从游戏解决方案再到视频直播服务,腾讯云动作频频的背后是在为市场解决实际的问题,而在此次五款数据库发布的背后,腾讯云又看到了怎样的未来?
一,此次腾讯云数据库更新发布了什么
此次腾讯云推出了五款数据库分别为SQL Server 2012、云数据库MySQL、云数据库HBase、云数据库PostgreSQL、分布式数据库TDSQL。其中SQL Server 2012的主要目的是为了补充数据库的全面性,而其余四款均与云风口——大数据有关,均满足了企业在大数据时代,对数据库的高性能并发管理与控制的需求,以及在数据挖掘、海量存储、智能商务运算上的需求,
云数据库MySQL:摆脱传统MySQL数据存储的限制,将数据库直接搬入到更为安全可靠的云端,有着大容量、大内存、高读写、高并发的特性。QPS最高高达24万,内存最大支持488GB,容量空间最大支持6T。
云数据库HBase:适合于TB级别的数据库,满足大数据分析、开发的需求,性能高、高效二级索引方案,数据监控颗粒度细。用户只需要提交作业,就能获得结果,无需考虑存储容量以及运算瓶颈,腾讯云将全方位解决。
云数据库PostgreSQL:基于业界知名的、可以与商业数据库Oracle媲美的开源数据库PostgreSQL,腾讯云通过优化使得性能比开源版本提升十倍,最大QPS可达10万。同时下半年腾讯云还会推出更为强大的分布式PostgreSQL。
分布式数据库TDSQL:企业级云数据库,能够满足大量的大数据使用场景,目前微众银行、微信支付、安心保险等等金融产品都是采用TDSQL,有着雄厚实力。
二,云数据库正在大数据的风口之上
越来越多的企业正在接入互联网,面临着大数据增长的难题。在去年9月国务院正式发布了《国务院关于印发促进大数据发展行动纲要的通知》,这意味着大数据开始受到国家层面的重视。在今年5月举办的中国大数据产业峰会上,马化腾提出了利用大数据“共建云中大数据生态”的理念,因此腾讯也背负着建立云端数据的责任,而腾讯云的使命不小。
云数据库则是大数据存放的关键,是整个大数据战略重中之重,而未来的以下企业将会需要腾讯云数据库的帮助。
1)尚未完全接入互联网的企业,事实上很多传统行业都具备着较强的IT意识,并且在最初就建立起了自己的计算机数据管理,最典型的就是金融行业,在早期信息化帮助其提升了效率,但是后期的金融行业却无法让这些数据得以有效利用,而腾讯云数据库则可以极好的满足这点,微众银行、微信支付都已经做出了出色的案例。
2)已经接入互联网的企业,很多接入互联网的企业也在面临一个问题,在早期没有腾讯云这样优质的云服务商,因此他们需要自建服务器,并且自己承担起各种昂贵IT设施维护成本,并且需要配备一群高工资的高级工程才能够进行大数据的利用。
但腾讯云则可以帮助这类企业实现彻底的解放,企业不再需要自己搭建任何设备、配置任何环境,企业只需要将数据托付于腾讯云就可以完成以前高代价的事情,而腾讯云除了大数据处理技术之外,还拥有各种服务器、安全防护、视频解决方案、游戏解决方案等等顶级成熟技术方案,直接帮助企业完成“云端生态”的转型与跨越。
3)新兴创业互联网公司,其天然需要托管自己产品的数据,而初创公司众所周知不仅缺少技术能力,还在资金方面捉襟见肘,而腾讯云则不仅可以帮助其管理好数据,还可以在安全、d性扩容各方面对其进行全方位的保障,并且价格也极为低廉,是创业者的最大福音。
三,腾讯全面开放自身技术,全社会在享受福利
马化腾此前在今年5月举办的中国大数据产业峰会表示,腾讯数据中心的储存量已经超过1000PB数据,并持续以每天500TB速度飞速上升,而腾讯愿意将这些积累开放给更多的合作伙伴。
腾讯云一直对外表示基于腾讯18年技术和经验积累后的全面开放技术,这里来看看这次腾讯云究竟开放哪些腾讯核心技术:
此次推出的分布式数据库TDSQL,在腾讯核心计费系统使用了超过10年时间,一直应用于腾讯充值、米大师等腾讯核心业务;也已经将其应用到了外部安心保险、泛华保险、微众银行、汇通天下等金融、物联网领域。由于其针对金融业务设计,除了满足云数据库的d性、自动化运维、高性价比以外,还支持两地三中心架构,拥有金融级高可用、数据强一致、金融级的安全要求;相关项目都通过了监管部门的信息安全审核。
值得一提的是,此次腾讯云推出的云数据库PostgreSQL,选用的是腾讯自研PostgreSQL内核,在腾讯内全面应用超过5年,包括微信支付、财付通、广点通、大数据处理平台的核心系统都在使用腾讯自研PostgreSQL。
根据笔者了解,腾讯内部的大数据集群有近万台设备,所有元数据都存储于腾讯自研PostgreSQL;月计算数据量超过300PB,99%的请求1秒内响应。而这些成绩的背后,全部是因为有腾讯自研的PostgreSQL的技术实力作为后盾支撑。
而腾讯云开放的云数据库PostgreSQL除了满足云数据库的d性、自动化运维、高性价比以外,还优化了多个关键内核,且支持两地三中心架构,高可用方案,超高计算性能。
腾讯能够将涉及计费的核心技术的TDSQL、超过5年的自研PostgreSQL向社会开放,充分体现了其开放共享的心态,其正在利用腾讯云积极推进中国的大数据建设,也是属于全社会的福利。
结语:
腾讯云此次推出的五款云数据产品,暗合着大数据蓬勃发展的趋势,而腾讯正在全面开放自己的技术,将自己的多年积累与整个社会共享。传统企业、创业者们都应当抓住机遇,站在巨人的肩膀上,利用腾讯云的开放,来迅速完成自己在大数据时代的转型与创业。
更关注产品与技术的微信公众号:“首席发言者”
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)