当前位置:首页 » 数据仓库 » 华为数据库mppdb
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

华为数据库mppdb

发布时间: 2023-01-19 17:45:07

‘壹’ mpp数据库适合哪些应用场景

MPP数据库主要适合查询统计、分析研判等大数据处理场景,主要特点是整体架构呈现纯扁平化,不存在单点性能瓶颈,基于开放式标准X86 PC服务器构建,采用分布式架构设计,灵活实现按需部署,具备灵活的系统伸缩性,支持系统的纵向扩展和横向扩展。
国内的产品主要是南大通用的GBase 8a MPP Cluster,是面向大数据、云计算场景自主研发的大规模并行数据库集群产品,在海量数据高速处理的场景下具有高性能、低成本、高可靠、易使用等诸多优势,国外的如GreenPlum、Vertica等。

‘贰’ 2019数据架构选型必读:1月数据库产品技术解析

本期目录

DB-Engines数据库排行榜

新闻快讯

一、RDBMS家族

二、Nosql家族

三、NewSQL家族

四、时间序列

五、大数据生态圈

六、国产数据库概览

七、云数据库

八、推出dbaplus Newsletter的想法

九、感谢名单

为方便阅读、重点呈现,本期Newsletter(2019年1月)将对各个板块的内容进行精简。需要阅读全文的同学可点击文末 【阅读原文】 或登录https://pan..com/s/13BgipbaHeMfvm0YPtiYviA

进行下载。

DB-Engines数据库排行榜

以下取自2019年1月的数据,具体信息可以参考http://db-engines.com/en/ranking/,数据仅供参考。

DB-Engines排名的数据依据5个不同的因素:

新闻快讯

1、2018年9月24日,微软公布了SQL Server2019预览版,SQL Server 2019将结合Spark创建统一数据平台。

2、2018年10月5日,ElasticSearch在美国纽约证券交易所上市。

3、亚马逊放弃甲骨文数据库软件,导致最大仓库之一在黄金时段宕机。受此消息影响,亚马逊盘前股价小幅跳水,跌超2%。

4、2018年10月31日,Percona发布了Percona Server 8.0 RC版本,发布对MongoDB 4.0的支持,发布对XtraBackup测试第二个版本。

5、2018年10月31日,Gartner陆续发布了2018年的数据库系列报告,包括《数据库魔力象限》、《数据库核心能力》以及《数据库推荐报告》。

今年的总上榜数据库产品达到了5家,分别来自:阿里云,华为,巨杉数据库,腾讯云,星环 科技 。其中阿里云和巨杉数据库已经连续两年入选。

6、2018年11月初,Neo4j宣布完成E轮8000万美元融资。11月15日,Neo4j宣布企业版彻底闭源:

7、2019年1月8日,阿里巴巴以1.033亿美元(9000万欧元)的价格收购了Apache Flink商业公司DataArtisans。

8、2019年1月11日早间消息,亚马逊宣布推出云数据库软件,亚马逊和MongoDB将会直接竞争。

RDBMS家族

Oracle 发布18.3版本

2018年7月,Oracle Database 18.3通用版开始提供下载。我们可以将Oracle Database 18c视为采用之前发布模式的Oracle Database 12c第2版的第一个补丁集。未来,客户将不再需要等待多年才能用上最新版Oracle数据库,而是每年都可以期待新数据库特性和增强。Database 19c将于2019年Q1率先在Oracle cloud上发布云版本。

Oracle Database 18c及19c部分关键功能:

1、性能

2、多租户,大量功能增强及改进,大幅节省成本和提高敏捷性

3、高可用

4、数据仓库和大数据

MySQL发布8.0.13版本

1、账户管理

经过配置,修改密码时,必须带上原密码。在之前的版本,用户登录之后,就可以修改自己的密码。这种方式存在一定安全风险。比如用户登录上数据库后,中途离开一段时间,那么非法用户可能会修改密码。由参数password_require_current控制。

2、配置

Innodb表必须有主键。在用户没有指定主键时,系统会生成一个默认的主键。但是在主从复制的场景下,默认的主键,会对丛库应用速度带来致命的影响。如果设置sql_require_primary_key,那么数据库会强制用户在创建表、修改表时,加上主键。

3、字段默认值

BLOB、TEXT、GEOMETRY和JSON字段可以指定默认值了。

4、优化器

1)Skip Scan

非前缀索引也可以用了。

之前的版本,任何没有带上f1字段的查询,都没法使用索引。在新的版本中,它可以忽略前面的字段,让这个查询使用到索引。其实现原理就是把(f1 = 1 AND f2 > 40) 和(f1 = 2 AND f2 > 40)的查询结果合并。

2)函数索引

之前版本只能基于某个列或者多个列加索引,但是不允许在上面做计算,如今这个限制消除了。

5、SQL语法

GROUP BY ASC和GROUP BY DESC语法已经被废弃,要想达到类似的效果,请使用GROUP BY ORDER BY ASC和GROUP BY ORDER BY DESC。

6、功能变化

1)设置用户变量,请使用SET语句

如下类型语句将要被废弃SELECT @var, @var:=@var+1。

2)新增innodb_fsync_threshold

该变量是控制文件刷新到磁盘的速率,防止磁盘在短时间内饱和。

3)新增会话级临时表空间

在以往的版本中,当执行SQL时,产生的临时表都在全局表空间ibtmp1中,及时执行结束,临时表被释放,空间不会被回收。新版本中,会为session从临时表空间池中分配一个临时表空间,当连接断开时,临时表空间的磁盘空间被回收。

4)在线切换Group Replication的状态

5)新增了group_replication_member_expel_timeout

之前,如果某个节点被怀疑有问题,在5秒检测期结束之后,那么就直接被驱逐出这个集群。即使该节点恢复正常时,也不会再被加入集群。那么,瞬时的故障,会把某些节点驱逐出集群。

group_replication_member_expel_timeout让管理员能更好的依据自身的场景,做出最合适的配置(建议配置时间小于一个小时)。

MariaDB 10.3版本功能展示

1、MariaDB 10.3支持update多表ORDER BY and LIMIT

1)update连表更新,limit语句

update t1 join t2 on t1.id=t2.id set t1.name='hechunyang' limit 3;

MySQL 8.0直接报错

MariaDB 10.3更新成功

2)update连表更新,ORDER BY and LIMIT语句

update t1 join t2 on t1.id=t2.id set t1.name='HEchunyang' order by t1.id DESC limit 3;

MySQL 8.0直接报错

MariaDB 10.3更新成功

参考:

https://jira.mariadb.org/browse/MDEV-13911

2、MariaDB10.3增补AliSQL补丁——安全执行Online DDL

Online DDL从名字上看很容易误导新手,以为不论什么情况,修改表结构都不会锁表,理想很丰满,现实很骨感,注意这个坑!

有以下两种情况执行DDL操作会锁表的,Waiting for table metadata lock(元数据表锁):

针对第二种情况,MariaDB10.3增补AliSQL补丁-DDL FAST FAIL,让其DDL操作快速失败。

例:

如果线上有某个慢SQL对该表进行操作,可以使用WAIT n(以秒为单位设置等待)或NOWAIT在语句中显式设置锁等待超时,在这种情况下,如果无法获取锁,语句将立即失败。 WAIT 0相当于NOWAIT。

参考:

https://jira.mariadb.org/browse/MDEV-11388

3、MariaDB Window Functions窗口函数分组取TOP N记录

窗口函数在MariaDB10.2版本里实现,其简化了复杂SQL的撰写,提高了可读性。

参考:

https://mariadb.com/kb/en/library/window-functions-overview/

Percona Server发布8.0 GA版本

2018年12月21日,Percona发布了Percona Server 8.0 GA版本。

在支持MySQL8.0社区的基础版上,Percona Server for MySQL 8.0版本中带来了许多新功能:

1、安全性和合规性

2、性能和可扩展性

3、可观察性和可用性

Percona Server for MySQL 8.0中将要被废用功能:

Percona Server for MySQL 8.0中删除的功能:

RocksDB发布V5.17.2版本

2018年10月24日,RocksDB发布V5.17.2版本。

RocksDB是Facebook在LevelDB基础上用C++写的高效内嵌式K/V存储引擎。相比LevelDB,RocksDB提供了Column-Family,TTL,Transaction,Merge等方面的支持。目前MyRocks,TiKV等底层的存储都是基于RocksDB来构建。

PostgreSQL发布11版本

2018年10月18日,PostgreSQL 11发布。

1、PostgreSQL 11的重大增强

2、PostgreSQL 插件动态

1)分布式插件citus发布 8.1

citus是PostgreSQL的一款sharding插件,目前国内苏宁、铁总、探探有较大量使用案例。

https://github.com/citusdata/citus

2)地理信息插件postgis发布2.5.1

PostGIS是专业的时空数据库插件,在测绘、航天、气象、地震、国土资源、地图等时空专业领域应用广泛。同时在互联网行业也得到了对GIS有性能、功能深度要求的客户青睐,比如共享出行、外卖等客户。

http://postgis.net/

3)时序插件timescale发布1.1.1

timescale是PostgreSQL的一款时序数据库插件,在IoT行业中有非常好的应用。github star数目前有5000多,是一个非常火爆的插件。

https://github.com/timescale/timescaledb

4)流计算插件 pipelinedb 正式插件化

Pipelinedb是PostgreSQL的一款流计算插件,使用这个创建可以对高速写入的数据进行实时根据定义的聚合规则进行聚合(支持概率计算),实时根据定义的规则触发事件(支持事件处理函数的自定义)。可用于IoT,监控,FEED实时计算等场景。

https://github.com/pipelinedb/pipelinedb

3、PostgreSQL衍生开源产品动态

1)agensgraph发布 2.0.0版本

agensgraph是兼容PostgreSQL、opencypher的专业图数据库,适合图式关系的管理。

https://github.com/bitnine-oss/agensgraph

2)gpdb发布5.15

gpdb是兼容PostgreSQL的mpp数据库,适合OLAP场景。近两年,gpdb一直在追赶PostgreSQL的社区版本,预计很快会追上10的PostgreSQL,在TP方面的性能也会得到显着提升。

https://github.com/greenplum-db/gpdb

3)antdb发布3.2

antdb是以Postgres-XC为基础开发的一款PostgreSQL sharding数据库,亚信主导开发,开源,目前主要服务于亚信自有客户。

https://github.com/ADBSQL/AntDB

4)迁移工具MTK发布52版本

MTK是EDB提供的可以将Oracle、PostgreSQL、MySQL、MSSQL、Sybase数据库迁移到PostgreSQL, PPAS的产品,迁移速度可以达到100万行/s以上。

https://github.com/digoal/blog/blob/master/201812/20181226_01.md

DB2发布 11.1.4.4版本

DB2最新发布Mod Pack 4 and Fix Pack 4,包含以下几方面的改动及增强:

1、性能

2、高可用

3、管理视图

4、应用开发方面

5、联邦功能

6、pureScale

NoSQL家族

Redis发布5.0.3版本

MongoDB升级更新MongoDB Mobile和MongoDB Stitch

2018年11月21日,MongoDB升级更新MongoDB Mobile和MongoDB Stitch,助力开发人员提升工作效率。

MongoDB 公司日前发布了多项新产品功能,旨在更好地帮助开发人员在世界各地管理数据。通过利用存储在移动设备和后台数据库的数据之间的实时、自动的同步特性,MongoDB Mobile通用版本助力开发人员构建更快捷、反应更迅速的应用程序。此前,这只能通过在移动应用内部安装一个可供选择或限定功能的数据库来实现。

MongoDB Mobile在为客户提供随处运行的自由度方面更进了一步。用户在iOS和安卓终端设备上可拥有MongoDB所有功能,将网络边界扩展到其物联网资产范畴。应用系统还可以使用MongoDB Stitch的软件开发包访问移动客户端或后台数据,帮助开发人员通过他们希望的任意方式查询移动终端数据和物联网数据,包括本地读写、本地JSON存储、索引和聚合。通过Stitch移动同步功能(现可提供beta版),用户可以自动对保存在本地的数据以及后台数据库的数据进行同步。

本期新秀:Cassandra发布3.11.3版本

2018年8月11日,Cassandra发布正式版3.11.3。

Apache Cassandra是一款开源分布式NoSQL数据库系统,使用了基于Google BigTable的数据模型,与面向行(row)的传统关系型数据库或键值存储key-value数据库不同,Cassandra使用的是宽列存储模型(Wide Column Stores)。与BigTable和其模仿者HBase不同,数据并不存储在分布式文件系统如GFS或HDFS中,而是直接存于本地。

Cassandra的系统架构与Amazon DynamoDB类似,是基于一致性哈希的完全P2P架构,每行数据通过哈希来决定应该存在哪个或哪些节点中。集群没有master的概念,所有节点都是同样的角色,彻底避免了整个系统的单点问题导致的不稳定性,集群间的状态同步通过Gossip协议来进行P2P的通信。

3.11.3版本的一些bug fix和改进:

NewSQL家族

TiDB 发布2.1.2版本

2018 年 12 月 22 日,TiDB 发布 2.1.2 版,TiDB-Ansible 相应发布 2.1.2 版本。该版本在 2.1.1 版的基础上,对系统兼容性、稳定性做出了改进。

TiDB 是一款定位于在线事务处理/在线分析处理( HTAP: Hybrid Transactional/Analytical Processing)的融合型数据库产品。除了底层的 RocksDB 存储引擎之外,分布式SQL层、分布式KV存储引擎(TiKV)完全自主设计和研发。

TiDB 完全开源,兼容MySQL协议和语法,可以简单理解为一个可以无限水平扩展的MySQL,并且提供分布式事务、跨节点 JOIN、吞吐和存储容量水平扩展、故障自恢复、高可用等优异的特性;对业务没有任何侵入性,简化开发,利于维护和平滑迁移。

TiDB:

PD:

TiKV:

Tools:

1)TiDB-Lightning

2)TiDB-Binlog

EsgynDB发布R2.5版本

2018年12月22日,EsgynDB R2.5版本正式发布。

作为企业级产品,EsgynDB 2.5向前迈进了一大步,它拥有以下功能和改进:

CockroachDB发布2.1版本

2018年10月30日,CockroachDB正式发布2.1版本,其新增特性如下:

新增企业级特性:

新增SQL特性:

新增内核特性:

Admin UI增强:

时间序列

本期新秀:TimescaleDB发布1.0版本

10月底,TimescaleDB 1.0宣布正式推出,官方表示该版本已可用于生产环境,支持完整SQL和扩展。

TimescaleDB是基于PostgreSQL数据库开发的一款时序数据库,以插件化的形式打包提供,随着PostgreSQL的版本升级而升级,不会因为另立分支带来麻烦。

TimescaleDB架构:

数据自动按时间和空间分片(chunk)

更新亮点:

https://github.com/timescale/timescaledb/releases/tag/1.0.0

大数据生态圈

Hadoop发布2.9.2版本

2018年11月中旬,Hadoop在2.9分支上发布了新的2.9.2版本,该版本进行了204个大大小小的变更,主要变更如下:

Greenplum 发布5.15版本

Greenplum最新的5.15版本中发布了流式数据加载工具。

该版本中的Greenplum Streem Server组件已经集成了Kafka流式加载功能,并通过了Confluent官方的集成认证,其支持的主要功能如下:

国产数据库概览

K-DB发布数据库一体机版

2018年11月7日,K-DB发布了数据库一体机版。该版本更新情况如下:

OceanBase迁移服务发布1.0版本

1月4日,OceanBase 正式发布OMS迁移服务1.0版本。

以下内容包含 OceanBase 迁移服务的重要特性和功能:

SequoiaDB发布3.0.1新版本

1、架构

1)完整计算存储分离架构,兼容MySQL协议、语法

计算存储分离体系以松耦合的方式将计算与存储层分别部署,通过标准接口或插件对各个模块和组件进行无缝替换,在计算层与存储层均可实现自由的弹性伸缩。

SequoiaDB巨杉数据库“计算-存储分离”架构详细示意

用户可以根据自身业务特征选择面向交易的SQL解析器(例如MySQL或PGSQL)或面向统计分析的执行引擎(例如SparkSQL)。众所周知,使用不同的SQL优化与执行方式,数据库的访问性能可能会存在上千上万倍的差距。计算存储分离的核心思想便是在数据存储层面进行一体化存储,在计算层面则利用每种执行引擎的特点针对不同业务场景进行选择和优化,用户可以在存储层进行逻辑与物理的隔离,将面向高频交易的前端业务与面向高吞吐量的统计分析使用不同的硬件进行存储,确保在多类型数据访问时互不干扰,以真正达到生产环境可用的多租户与HTAP能力。

2、其他更新信息

1)接口变更:

2)主要特性:

云数据库

本期新秀:腾讯发布数据库CynosDB,开启公测

1、News

1)腾讯云数据库MySQL2018年重大更新:

2)腾讯云数据库MongoDB2018年重大更新:

3)腾讯云数据库Redis/CKV+2018年重大更新:

4)腾讯云数据库CTSDB2018年重大更新:

2、Redis 4.0集群版商业化上线

2018年10月,腾讯云数据库Redis 4.0集群版完成邀测、公测、商业化三个迭代,在广州、上海、北京正式全量商业化上线。

产品特性:

使用场景:

官网文档:

https://cloud.tencent.com/document/proct/239/18336

3、腾讯自研数据库CynosDB发布,开启公测

2018年11月22日,腾讯云召开新一代自研数据库CynosDB发布会,业界第一款全面兼容市面上两大最主流的开源数据库MySQL和PostgreSQL的高性能企业级分布式云数据库。

本期新秀:京东云DRDS发布1.0版本

12月24日,京东云分布式关系型数据库DRDS正式发布1.0版本。

DRDS是京东云精心自研的数据库中间件产品,获得了2018年 ”可信云技术创新奖”。DRDS可实现海量数据下的自动分库分表,具有高性能,分布式,弹性升级,兼容MySQL等优点,适用于高并发、大规模数据的在线交易, 历史 数据查询,自动数据分片等业务场景,历经多次618,双十一的考验,已经在京东集团内大规模使用。

京东云DRDS产品有以下主要特性

1)自动分库分表

通过简单的定义即可自动实现分库分表,将数据实际存放在多个MySQL实例的数据库中,但呈现给应用程序的依旧是一张表,对业务透明,应用程序几乎无需改动,实现了对数据库存储和处理能力的水平扩展。

2)分布式架构

基于分布式架构的集群方案,多个对等节点同时对外提供服务,不但可有效规避服务的单点故障,而且更加容易扩展。

3)超强性能

具有极高的处理能力,双节点即可支持数万QPS,满足用户超大规模处理能力的需求。

4)兼容MySQL

兼容绝大部分MySQL语法,包括MySQL语法、数据类型、索引、常用函数、排序、关联等DDL,DML语句,使用成本低。

参考链接:

https://www.jdcloud.com/cn/procts/drds

RadonDB发布1.0.3版本

2018年12月26日,MyNewSQL领域的RadonDB云数据库发布1.0.3版本。

推出dbaplus Newsletter的想法

dbaplus Newsletter旨在向广大技术爱好者提供数据库行业的最新技术发展趋势,为社区的技术发展提供一个统一的发声平台。为此,我们策划了RDBMS、NoSQL、NewSQL、时间序列、大数据生态圈、国产数据库、云数据库等几个版块。

我们不以商业宣传为目的,不接受任何商业广告宣传,严格审查信息源的可信度和准确性,力争为大家提供一个纯净的技术学习环境,欢迎大家监督指正。

至于Newsletter发布的周期,目前计划是每三个月左右会做一次跟进, 下期计划时间是2019年4月14日~4月25日, 如果有相关的信息提供请发送至邮箱:[email protected]

感谢名单

最后要感谢那些提供宝贵信息和建议的专家朋友,排名不分先后。

往期回顾:

↓↓别忘了点这里下载 2019年1月 完整版Newsletter 哦~

‘叁’ 2017,华为云私有云解决方案缘何能够屡创佳绩

2017年,对于华为云私有云解决方案来说,有很多事情值得纪念。

IDC报告显示,华为云FusionSphere虚拟化解决方案在中国OpenStack软件市场和中国服务器虚拟化市场中国厂商双双排名第一;华为云FusionAccess桌面云解决方案在中国桌面云市场排名第一;在中国大数据管理平台厂商中,华为同样排名第一。

在Gartner《分析数据管理解决方案(DMSA)魔力四象限研究报告》中,华为云FusionInsight大数据解决方案凭借创新能力和前瞻性,进入了DMSA魔力象限特定领域者象限。

在垂直行业中,华为云私有云同样表现优异。IDC报告显示,华为云政务云解决方案位居中国政务云市场厂商领导者区间,在现有能力、未来战略和市场表现三大维度均排名第一。

在2017年,华为云私有云解决方案不仅成为中国市场的领跑者,更是获得了大量全球客户的青睐。截至目前,华为云FusionCloud私有云解决方案已经服务于全球142个国家和地区超过3500家客户,覆盖政府及公共事业、运营商、能源、金融、制造、媒资、医疗、教育等多个行业。

那么,华为云私有云解决方案缘何能够赢得权威分析机构和客户的双重认可?

外因:私有云市场成为优质土壤

Gartner对全球2018年云计算应用的调研数据说明,尽管私有云不像公有云那样经常“抢头条”,但私有云在整体云市场中占据着举足轻重的地位,有着巨大的市场潜力。

今年,Gartner 发布了名为《中国将成为最主要的私有云市场》的研究报告。报告指出,在企业 IT 基础设施云化、社交化和大数据化的趋势下,以及中国“互联网+”大战略的背景下,中国有望成为最主要的私有云市场之一。

Gartner指出,“十三五”期间,随着中国智能制造、智慧城市、IoT、5G、人工智能等大规模数字化产业的兴起,以及政府、金融、运营商、电力、制造、零售、医疗等行业的转型,私有云市场得到了有力拉动。

私有云市场的旺盛需求和巨大的潜力为华为云私有云业务提供了优质的土壤,然而正如内因和外因的辩证关系,华为云私有云解决方案能够独占鳌头,起决定作用的还是自身修为。

内因:苦修内功,做大生态

经过十年发展,华为云私有云解决方案已经形成FusionCloud私有云解决方案、FusionInsight大数据解决方案、FusionSphere虚拟化解决方案和FusionAccess桌面云解决方案等产品解决方案,这些解决方案可以通过灵活组合的方式满足不同的差异化客户需求。

基于产品解决方案,华为云通过与不同行业的ISV深度合作,为运营商、政务、安平、金融、制造、医疗、大企业等行业打造了适配行业需求的垂直行业解决方案。

经过多年耕耘积累,华为云私有云解决方案逐渐在战略、技术、生态上实现了差异化,形成了独特竞争力。

其一,战略优势。

在私有云战略上,华为云一直坚持开放架构,坚持回馈开源社区,积极推动开放云生态圈的建立。

同时,华为云一直坚持“上不做应用,下不碰数据,不做股权投资”的三不原则,界定了清晰的业务边界,这让华为云快速赢得了客户和合作伙伴的信赖。

此外,华为云私有云、公有云、以及与合作伙伴一起搭建的云都是基于统一API、统一服务、统一生态和统一架构,让客户能够根据需求自由组合,满足了当前客户对于“多云”的需求。

其二,技术优势。

企业上云过程中往往存在着四大问题:如何能满足企业关键应用对于性能的苛求?到底是选择公有云还是私有云?如何利用云计算释放大数据的价值?如何让业务能够根据新趋势和新需求随“新”而变?华为云FusionCloud私有云解决方案很好地解决了这些问题。

在性能上, FusionCloud可提供裸金属服务器支持,以保障企业核心业务的自动化、高可靠性和高性能;支持GPU+CPU异构计算模式,为大数据分析和深度学习等应用提供更强性能;提供对SAP HANA平台的支持。今年,华为云FusionSphere虚拟化解决方案再次在SPECvirt性能测试中获得两项第一。

在架构上,华为云FusionCloud私有云解决方案和华为云公有云采用了统一架构和统一API,让企业业务可以方便的在华为构建的私有云和公有云之间移植,支持应用跨云平滑迁移,为企业客户提供了统一的用户体验,从根本上解决了企业“到底该选择私有云还是公有云”的问题。

如今,FusionCloud提供了包括计算、存储、网络等基础云服务以及云安全、云管理、云灾备和多种类型的云数据库服务,以满足客户丰富的业务需求。客户可以轻松地通过FusionCloud云平台灵活的申请各类云服务,快速部署业务上云。

在大数据方面,华为FusionInsight大数据解决方案凭借创新能力和前瞻性进入了Gartner分析数据管理解决方案(DMSA)魔力象限特定领域者象限。Gartner给出的推荐理由是:“华为添加了行业特定的领域模型,以及针对事件流处理,图形和机器学习功能的Hadoop平台的专有扩展,以及与MPP DB兼容并在Hadoop上运行的统一SQL引擎。”

此外,华为云私有云解决方案以开放、高性能的大数据平台,联合ISV针对客户业务场景进行优化,实现视频监控千亿图片秒级搜索,业务风控实时化,精准营销获客率大幅提升。

在支撑企业客户的新业务方面,华为云私有云解决方案通过基于开源的PaaS平台支撑客户业务容器化部署和微服务改造,实现了秒级弹性和快速构建。

其三,生态优势。

华为云私有云和公有云同源,均兼容OpenStack架构。

“源于开源、强于开源、回馈开源”是华为一直以来对于云计算的态度。华为于2012年加入OpenStack基金会,于2013年升级为社区黄金会员,在2017年3月成为亚洲首家也是唯一的OpenStack白金会员。

今年,华为云又被OpenStack用户评选为最受欢迎的OpenStack云供应商,并获得首届Kubernetes指导委员会席位,成为亚洲首家OCI社区全科maintainer。

坚持开放的技术路径让华为云扣住了云计算发展的脉搏,能够和众多合作伙伴一起打造开放的云计算生态圈,推动云计算的真正落地。

如今,华为已经与各行业的超过300家ISV结成合作伙伴,构建了繁荣的行业应用生态,使得华为云能够更加深入行业,打造一系列行业场景化云计算解决方案,覆盖运营商、政府、公安、金融、制造等行业。

此前,华为还与埃森哲正式签署“华为-埃森哲战略联盟协议”,双方共同面向电信运营商和企业ICT两大市场的客户需求开发并推广创新解决方案,为全球客户提供基于埃森哲“基础设施即服务”解决方案和华为云计算基础设施而预先设计的一体化云解决方案。

本月,华为正式通过沃达丰集团OpenStack云平台供应商认证,通过基于OpenStack的FusionSphere云平台支持沃达丰在全球网络功能虚拟化(NFV)和软件定义网络(SDN)的建设,华为云私有云解决方案再度斩获全球关键客户。

在政务领域,华为政务云解决方案已经成功实践230+政务云项目,例如已经助力广州政务云稳定运行三年,并为广州“一个中枢、四大应用、三大支撑”的新型智慧城市共享体系框架提供了有力支撑。

在大数据领域,华为云FusionInsight大数据解决方案在全球40+国家已经拥有700+客户和300+商业合作伙,具有大量落地案例。2016年,中国太保集团与华为联合创新实验室基于业务实践推出了金融保险大数据解决方案,其中包括大数据处理平台和IT基础设施,支持中国太保快速构建了海量数据信息处理系统——客户数据ATM系统,对太保亿级客户存量数据进行全面的挖掘与分析。

在HUAWEI CONNECT 2017大会上,深圳交警采用华为云EI企业智能正式启动深圳城市交通大脑工程。在华为云、大数据、人工智能等技术的支持下,可提升约10倍的违章图片筛选效率、道路通行能力将提高8%左右。双方联合打造的智慧交通解决方案获得了中国道路交通安全协会颁发的“2017年度道路交通安全创新产品奖”。

综上,归功于从战略、技术到生态方面的优势,华为云私有云解决方案能够获权威机构和客户的双重认可,也就不足为奇了。

形成合力,重塑云计算格局

“华为云”能够取得现在的成绩,可谓是厚积薄发。

2007年,华为成立聚焦云计算的虚拟化研究部,开始投入云计算相关研究;

2011年,华为IT产品线成立,聚焦云数据中心;

2013年,华为发布了FusionSphere、FusionInsight解决方案并成为OpenStack基金会黄金会员;

2017年3月,华为成立云BU,并成为亚洲首家OpenStack基金会的白金会员;

2017年9月,华为云发布企业智能(EI)等六大创新解决方案。

现在“华为云”成为了华为公有云和私有云解决方案的共有品牌,经历十年发展,两朵云终将形成合力,向客户呈现统一的品牌名,并提供更优质、更具竞争力的云服务。

对于客户来说,两朵云统一品牌、形成合力,将给客户带来端到端、一站式的云计算解决方案:华为公有云和华为私有云具有“四个统一”,让客户应用能够自由迁移,即在华为云上开发的应用可以部署在华为已经部署的企业、政府的私有云和政务云上,让客户平滑步入混合云。

实现统一之后,华为云不仅仅是计算+存储+网络+安全,而是计算+存储+网络+安全+物联网+大数据+人工智能的全面堆栈;华为云不仅仅是软件与服务,而是芯片+硬件+软件+服务+生态的全生命周期解决方案;华为云不仅仅是线上提供服务,而是线上线下相结合来解决客户问题,助力客户IT转型。

对于云计算产业来说,华为云在推动开源技术发展、建设开放云计算生态上做出了积极贡献;并通过全面的云计算解决方案,加速了大中型企业、中小型企业以及行业市场的云化过程,成为全球云计算落地的重要推力。与此同时,华为形成了在技术、生态、客户等方面的差异化优势,成为全球屈指可数的能同时提供私有云、公有云以及混合云的云计算企业,重塑了云计算产业格局。

‘肆’ MPP 和 NoSQL 有什么区别 架构上, 应用上

MPP是一种进行系统扩展的方式,它由多个SMP服务器通过一定的节点互联网络进行连接,协同工作,完成相同的任务,从用户的角度来看是一个服务器系统。每一个节点只能访问自己本地资源(内存,存储等),是一种完全无共享结构(Share Nothing)结构。
而NoSql=Not Only Sql。泛指的是非关系型数据库。大概分为四类。Key-Value存储的数据库,列式存储数据库(Hbase),文档型数据库和图形数据库。

‘伍’ 从站点到平台——探讨服务端高并发分布式架构演进

本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。

在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概念进行介绍:

3.1 单机架构

以淘宝作为例子。在网站最初时,应用数量与用户数都较少,可以把Tomcat和数据库部署在同一台服务器上。浏览器往www.taobao.com发起请求时,首先经过DNS服务器(域名系统)把域名转换为实际IP地址10.102.4.1,浏览器转而访问该IP对应的Tomcat。

3.2 第一次演进:Tomcat与数据库分开部署

Tomcat和数据库分别独占服务器资源,显着提高两者各自性能。

3.3 第二次演进:引入本地缓存和分布式缓存

在Tomcat同服务器上或同JVM中增加本地缓存,并在外部增加分布式缓存,缓存热门商品信息或热门商品的html页面等。通过缓存能把绝大多数请求在读写数据库前拦截掉,大大降低数据库压力。其中涉及的技术包括:使用memcached作为本地缓存,使用Redis作为分布式缓存,还会涉及缓存一致性、缓存穿透/击穿、缓存雪崩、热点数据集中失效等问题。

3.4 第三次演进:引入反向代理实现负载均衡

在多台服务器上分别部署Tomcat,使用反向代理软件(Nginx)把请求均匀分发到每个Tomcat中。此处假设Tomcat最多支持100个并发,Nginx最多支持50000个并发,那么理论上Nginx把请求分发到500个Tomcat上,就能抗住50000个并发。其中涉及的技术包括:Nginx、HAProxy,两者都是工作在网络第七层的反向代理软件,主要支持http协议,还会涉及session共享、文件上传下载的问题。

3.5 第四次演进:数据库读写分离

把数据库划分为读库和写库,读库可以有多个,通过同步机制把写库的数据同步到读库,对于需要查询最新写入数据场景,可通过在缓存中多写一份,通过缓存获得最新数据。其中涉及的技术包括:Mycat,它是数据库中间件,可通过它来组织数据库的分离读写和分库分表,客户端通过它来访问下层数据库,还会涉及数据同步,数据一致性的问题。

3.6 第五次演进:数据库按业务分库

把不同业务的数据保存到不同的数据库中,使业务之间的资源竞争降低,对于访问量大的业务,可以部署更多的服务器来支撑。这样同时导致跨业务的表无法直接做关联分析,需要通过其他途径来解决,但这不是本文讨论的重点,有兴趣的可以自行搜索解决方案。

3.7 第六次演进:把大表拆分为小表

比如针对评论数据,可按照商品ID进行hash,路由到对应的表中存储;针对支付记录,可按照小时创建表,每个小时表继续拆分为小表,使用用户ID或记录编号来路由数据。只要实时操作的表数据量足够小,请求能够足够均匀的分发到多台服务器上的小表,那数据库就能通过水平扩展的方式来提高性能。其中前面提到的Mycat也支持在大表拆分为小表情况下的访问控制。

这种做法显着的增加了数据库运维的难度,对DBA的要求较高。数据库设计到这种结构时,已经可以称为分布式数据库,但是这只是一个逻辑的数据库整体,数据库里不同的组成部分是由不同的组件单独来实现的,如分库分表的管理和请求分发,由Mycat实现,SQL的解析由单机的数据库实现,读写分离可能由网关和消息队列来实现,查询结果的汇总可能由数据库接口层来实现等等,这种架构其实是MPP(大规模并行处理)架构的一类实现。

目前开源和商用都已经有不少MPP数据库,开源中比较流行的有Greenplum、TiDB、Postgresql XC、HAWQ等,商用的如南大通用的GBase、睿帆 科技 的雪球DB、华为的LibrA等等,不同的MPP数据库的侧重点也不一样,如TiDB更侧重于分布式OLTP场景,Greenplum更侧重于分布式OLAP场景,这些MPP数据库基本都提供了类似Postgresql、Oracle、MySQL那样的SQL标准支持能力,能把一个查询解析为分布式的执行计划分发到每台机器上并行执行,最终由数据库本身汇总数据进行返回,也提供了诸如权限管理、分库分表、事务、数据副本等能力,并且大多能够支持100个节点以上的集群,大大降低了数据库运维的成本,并且使数据库也能够实现水平扩展。

3.8 第七次演进:使用LVS或F5来使多个Nginx负载均衡

由于瓶颈在Nginx,因此无法通过两层的Nginx来实现多个Nginx的负载均衡。图中的LVS和F5是工作在网络第四层的负载均衡解决方案,其中LVS是软件,运行在操作系统内核态,可对TCP请求或更高层级的网络协议进行转发,因此支持的协议更丰富,并且性能也远高于Nginx,可假设单机的LVS可支持几十万个并发的请求转发;F5是一种负载均衡硬件,与LVS提供的能力类似,性能比LVS更高,但价格昂贵。由于LVS是单机版的软件,若LVS所在服务器宕机则会导致整个后端系统都无法访问,因此需要有备用节点。可使用keepalived软件模拟出虚拟IP,然后把虚拟IP绑定到多台LVS服务器上,浏览器访问虚拟IP时,会被路由器重定向到真实的LVS服务器,当主LVS服务器宕机时,keepalived软件会自动更新路由器中的路由表,把虚拟IP重定向到另外一台正常的LVS服务器,从而达到LVS服务器高可用的效果。

此处需要注意的是,上图中从Nginx层到Tomcat层这样画并不代表全部Nginx都转发请求到全部的Tomcat,在实际使用时,可能会是几个Nginx下面接一部分的Tomcat,这些Nginx之间通过keepalived实现高可用,其他的Nginx接另外的Tomcat,这样可接入的Tomcat数量就能成倍的增加。

3.9 第八次演进:通过DNS轮询实现机房间的负载均衡

在DNS服务器中可配置一个域名对应多个IP地址,每个IP地址对应到不同的机房里的虚拟IP。当用户访问www.taobao.com时,DNS服务器会使用轮询策略或其他策略,来选择某个IP供用户访问。此方式能实现机房间的负载均衡,至此,系统可做到机房级别的水平扩展,千万级到亿级的并发量都可通过增加机房来解决,系统入口处的请求并发量不再是问题。

3.10 第九次演进:引入NoSQL数据库和搜索引擎等技术

当数据库中的数据多到一定规模时,数据库就不适用于复杂的查询了,往往只能满足普通查询的场景。对于统计报表场景,在数据量大时不一定能跑出结果,而且在跑复杂查询时会导致其他查询变慢,对于全文检索、可变数据结构等场景,数据库天生不适用。因此需要针对特定的场景,引入合适的解决方案。如对于海量文件存储,可通过分布式文件系统HDFS解决,对于key value类型的数据,可通过HBase和Redis等方案解决,对于全文检索场景,可通过搜索引擎如ElasticSearch解决,对于多维分析场景,可通过Kylin或Druid等方案解决。

当然,引入更多组件同时会提高系统的复杂度,不同的组件保存的数据需要同步,需要考虑一致性的问题,需要有更多的运维手段来管理这些组件等。

3.11 第十次演进:大应用拆分为小应用

按照业务板块来划分应用代码,使单个应用的职责更清晰,相互之间可以做到独立升级迭代。这时候应用之间可能会涉及到一些公共配置,可以通过分布式配置中心Zookeeper来解决。

3.12 第十一次演进:复用的功能抽离成微服务

如用户管理、订单、支付、鉴权等功能在多个应用中都存在,那么可以把这些功能的代码单独抽取出来形成一个单独的服务来管理,这样的服务就是所谓的微服务,应用和服务之间通过HTTP、TCP或RPC请求等多种方式来访问公共服务,每个单独的服务都可以由单独的团队来管理。此外,可以通过Dubbo、SpringCloud等框架实现服务治理、限流、熔断、降级等功能,提高服务的稳定性和可用性。

3.13 第十二次演进:引入企业服务总线ESB屏蔽服务接口的访问差异

通过ESB统一进行访问协议转换,应用统一通过ESB来访问后端服务,服务与服务之间也通过ESB来相互调用,以此降低系统的耦合程度。这种单个应用拆分为多个应用,公共服务单独抽取出来来管理,并使用企业消息总线来解除服务之间耦合问题的架构,就是所谓的SOA(面向服务)架构,这种架构与微服务架构容易混淆,因为表现形式十分相似。个人理解,微服务架构更多是指把系统里的公共服务抽取出来单独运维管理的思想,而SOA架构则是指一种拆分服务并使服务接口访问变得统一的架构思想,SOA架构中包含了微服务的思想。

3.14 第十三次演进:引入容器化技术实现运行环境隔离与动态服务管理

目前最流行的容器化技术是Docker,最流行的容器管理服务是Kubernetes(K8S),应用/服务可以打包为Docker镜像,通过K8S来动态分发和部署镜像。Docker镜像可理解为一个能运行你的应用/服务的最小的操作系统,里面放着应用/服务的运行代码,运行环境根据实际的需要设置好。把整个“操作系统”打包为一个镜像后,就可以分发到需要部署相关服务的机器上,直接启动Docker镜像就可以把服务起起来,使服务的部署和运维变得简单。

在大促的之前,可以在现有的机器集群上划分出服务器来启动Docker镜像,增强服务的性能,大促过后就可以关闭镜像,对机器上的其他服务不造成影响(在3.14节之前,服务运行在新增机器上需要修改系统配置来适配服务,这会导致机器上其他服务需要的运行环境被破坏)。

3.15 第十四次演进:以云平台承载系统

系统可部署到公有云上,利用公有云的海量机器资源,解决动态硬件资源的问题,在大促的时间段里,在云平台中临时申请更多的资源,结合Docker和K8S来快速部署服务,在大促结束后释放资源,真正做到按需付费,资源利用率大大提高,同时大大降低了运维成本。

所谓的云平台,就是把海量机器资源,通过统一的资源管理,抽象为一个资源整体,在之上可按需动态申请硬件资源(如CPU、内存、网络等),并且之上提供通用的操作系统,提供常用的技术组件(如Hadoop技术栈,MPP数据库等)供用户使用,甚至提供开发好的应用,用户不需要关系应用内部使用了什么技术,就能够解决需求(如音视频转码服务、邮件服务、个人博客等)。在云平台中会涉及如下几个概念:

‘陆’ MPP数据库集群是支持所有的数据库吗

是传统的mpp数据库。
南大通用自主研发的GBase 8a MPP Cluster是能够支撑PB级行业大数据分析类应用的国产新型数据库产品。
GBase 8a MPP Cluster是南大通用自主研发的国产MPP数据库集群产品,主要应用于行业大数据的分析场景。所采用的MPP技术,代表着大规模并行计算,具备高性能和高扩展性等特点。