数据架构选型必读:8月数据库产品技术解析

dbaplus社群 2019-08-26 11:31:37
本期目录

DB-Engines数据库排行榜

新闻快讯

一、RDBMS家族

  • MySQL发布8.0.17版本

  • MariaDB发布10.4.6版本

  • PostgreSQL 12发布Beta 3版本

  • DB2发布11.5版本

  • OceanBase发布2.2.1

二、NoSQL家族

  • MongoDB发布4.2版本

  • RocksDB发布V6.2.2版本

  • ArangoDB发布3.5 RC7版本

三、NewSQL家族

  • TiDB发布3.0 GA版本

  • SequoiaDB发布3.2.3版本 

四、时序数据库

  • InfluxDB发布2.0.0 Alpha 16版本

  • TimescaleDB发布1.4.0版本

五、大数据生态圈

  • Hadoop Ozone发布0.4.0版本 

  • Elasticsearch发布7.3.0版本

  • Greenplum结合Madlib提升深度学习能力

  • Apache Flink发布1.8.1版本 

六、国产数据库

  • 本期新秀:QianBase发布正式版1.1版本

  • 本期新秀:ArkDB发布1.0版本

七、云数据库

  • RadonDB发布1.0.7版本

  • 腾讯云发布多款新品

  • 京东云数据库InfluxDB对外公测 

八、推出dbaplus Newsletter的想法

九、感谢名单

 

为方便阅读、重点呈现,本期Newsletter(2019年8月)将对各个板块的内容进行精简。需要阅读全文的同学可登录链接:https://pan.baidu.com/s/11xrdCR2dj7J1ADV5oW9J0Q进行下载

 

DB-Engines数据库排行榜

 

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

 

 

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

 

  • Google以及Bing搜索引擎的关键字搜索数量

  • Google Trends的搜索数量

  • Indeed网站中的职位搜索量

  • LinkedIn中提到关键字的个人资料数

  • Stackoverflow上相关的问题和关注者数

 

新闻快讯

 

1、2019年5月1日,IBM公司计划斥资340亿美元收购Red Hat的交易即将尘埃落定,Red Hat摈弃了使用了近20年的颇具传奇性的“影子人”(Shadowman)标识,并推出了新标识(如下图所示),寓意“我们真正走出了阴影”。

 

 

2、2019年8月6日,Mesosphere更名为Day2IQ,简称D2IQ,业务重心转向Kubernetes和云原生产品,这两项技术在Mesos崭露头角以来的这些年间发展迅猛。

 

3、2019年8月6日,惠普企业(HPE)表示,它将收购MapR Technologies Inc.的资产,包括MapR的技术、知识产权以及AI和数据管理方面的专长,收购金额未透露。

 

4、2019年6月4日,CockroachDB官方博客更新了一篇名为《Why We’re Relicensing CockroachDB》的文章指出:CockroachDB核心代码的授权协议将从Apache License version 2 (APL) 变更为Business Source License(BSL)。BSL许可证应用于CockroachDB的核心版本(即目前在Apache 2.0许可证下的代码),这意味着CockroachDB核心不再开源,但完整的源码仍然可用。

 

CockroachDB将从19.2版本开始重新授权,企业功能继续沿用Cockroach Community License (CCL),使用企业功能需要与Cockroach Labs签订许可协议,并且此许可证在三年之后不会转换为开源。而之前的版本不受此许可证更改的影响。

 

RDBMS家族

 

 

 
MySQL发布8.0.17版本

 

2019年7月22日,MySQL发布8.0.17 版本,是作为一个维护版本发布的,里面除了修复错误之外,还添加了一些新功能。

 

在这个版本里的内容包括:

 

1、通过克隆进行部署

  • 克隆使用MySQL Shell执行,其过程完全自动化。可以从一个正在运行的服务器克隆其状态给一个新创建的服务器。之前必须使用mysqldump或backup来创建初始状态。使用该功能,假设要将新服务器添加到正在运行的MySQL InnoDB集群,则只需启动新服务器并告诉它加入集群即可。

  • 克隆功能包括克隆本地副本、克隆远程副本、克隆远程配置、克隆复制位置信息以及支持克隆加密数据库。

 

2、多值索引

  • 多值索引可以索引JSON数组。多值索引是多个索引记录可以指向同一数据记录的索引。以下面的JSON文档为例:{user: John, user_id: 1, addr: [ {zip:94582} , {zip:94536} ] }。在这里,如果我们想要搜索所有邮政编码,必须在索引中有两个记录,每个对应文档中的每个邮政编码,两个都指向同一个文档。这样的索引是由语句CREATE INDEX zips ON t1((CAST(data-> '$.addr[*].zip'AS UNSIGNED ARRAY)));创建的。实际上,它是一个函数索引,使用CAST()函数将JSON数组转换为SQL类型的数组。一旦创建了多值索引,优化器就会自动使用它,就像任何单值索引一样。

  • 多值索引通常用于涉及MEMBER OF(),JSON_CONTAINS()和JSON_OVERLAPS()的查询中。JSON_OVERLAPS()函数是此版本中新增加的JSON功能。MEMBER OF()函数是新添加的标准SQL语法。

 

此外,还包含如下的变更内容:

  • JSON模式;

  • 优化器改进;

  • Volcano iterator;

  • 字符集;

  • 复制功能;

  • 群组复制;

  • MySQL路由器;

  • MTR测试套件。

 

更多详情:

https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-17.htm

 

 

 
MariaDB发布10.4.6版本

 

2019年6月18日,MariaDB发布了10.4.6版本,是一个GA稳定版。

 

1、支持对DROP COLUMN删除字段采用ALGORITHM=INSTANT算法

例:alter table t1 drop column name,ALGORITHM=INSTANT;

目前MySQL 8.0.17版本不支持该算法。

 

2、支持更改字符集utf8->utf8mb4转换采用ALGORITHM=INSTANT算法

例:alter table t1 change name name varchar(100) CHARSET utf8mb4,ALGORITHM=INSTANT;

目前MySQL 8.0.17版本不支持该算法。

 

3、增加身份验证插件 - Unix Socket

unix_socket认证插件允许用户通过本地Unix套接字文件连接到MariaDB的时候使用操作系统的凭证。

 

4、mysqladmin shutdown命令增加--wait-for-all-slaves参数,意思为在关闭mysqld进程之前等待最后一个binlog事件发送到所有连接的Slave从库。

 

例:MariaDB [(none)]> SHUTDOWN  WAIT  FOR  ALL  SLAVES;

Query OK, 0 rows affected (0.000 sec)

 

 
PostgreSQL 12发布Beta 3版本

 

1、PostgreSQL 12 Beta 3新特性

 

2019年8月8日,PostgreSQL 12发布Beta 3,预计下个季度正式GA,新特性包括:

  • 支持AM接口,通过AM接口可以扩展存储、索引接口。例如:支持undo的ZHEAP表存储引擎,以及ZEDSTORE行列混合存储引擎。

  • 分区表性能得到巨大提升,相比12以前的版本,在1024个分区的情况下,查询性能提升469倍。

  • Include index功能支持btree与GiST接口,在索引的叶子节点可以存储任意其他字段或表达式的附加信息。使得用户可以在表上创建按任意字段组织的索引组织存储结构。并且没有限制,一个表可以同时存在多种存储组织形式。特别适合高频率查询并返回较多记录的物联网,日志feed等场景。

  • CTE语法增强,支持了用户自主选择物化与非物化。非物化情况下,优化器支持查询下推,提高性能。

  • 支持审计日志采样。

 

2、PostgreSQL插件动态

 

1)分布式插件citus发布8.3.2

 

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

 

今年年初citus被微软收购,8.3.2为8.3的小版本,主要为性能增强和bug fix。

 

https://github.com/citusdata/citus

 

2)地理信息插件postgis 3.0 alpha4发布

 

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

 

3.0有非常多值得期待的改进:

  • St_asmvt 性能提升,在SQL查询地图矢量瓦片的应用场景,可以大幅提升性能。

  • PostGIS历经了min(x)到z-order到支持hilber geometry sort排序算法的三个阶段,使得GIS的排序更加贴近现实需求。

 

官网地址:http://postgis.net/ 

 

3)时序插件timescale发布1.4.1

 

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

 

1.4.1的主要功能增强包括:

  • 持续聚合功能,类似物化视图,自动刷新新老物化数据;

  • 分析语句性能增强;

  • 分区排序优化,支持有序的append。

 

https://github.com/timescale/timescaledb

 

 
DB2发布11.5版本

 

DB2 11.5版本以满足各种业务需求,提供了一个更高效、更易用及更可靠的数据库。在新的版本中,全面的企业安全性、简化的安装和部署、更好的可用性和采用、简化的升级过程、对大型数据库的增强以及对BLU加速的巨大改进是该技术提供的关键好处。具体亮点如下:

 

1、4K扇区存储支持 

支持使用4KB扇区的存储。

 

2、通过启用基于主机的防火墙提高了安全性

 

3、改进CF恢复时间

缩短CF故障恢复时间。

 

4、SQL插入和更新语句优化

对基于SQL的列表插入和更新语句通过创建编码字典的方式进行了优化。

 

5、新的监控指标及接口

  • 为了确定SQL语句的失败率,现在可以使用mon_get_pkg_u_cache_stmt_table函数监视SQL语句的失败率。

  • 对于服务超类级别的工作负载,现在可以检查监控数据,而无需手动聚合服务超类中所有服务子类的数据。

 

6、自动重新压缩表格功能

如果使用插入操作来填充表,则一旦将行的阈值计数插入到表中,就会自动创建压缩字典。

 

7、AI功能

DB2 11.5提供了一个基于机器学习的优化器,以实现最佳性能。DB2还可以使用自适应工作负载管理自动管理资源并为其工作负载计划执行。

 

 
OceanBase发布2.2.1版本

 

2019年8月8日,OceanBase发布2.2.1版本。这是OceanBase数据库同时兼容MySQL以及Oracle两种模式的一个里程碑的版本,在Oracle模式中引入了许多广受欢迎的功能,包括存储过程(PL/SQL),Oracle的全部基础数据类型和BLOB/CLOB(受限长度)类型,以及SQL Plan Management,大量分析函数,闪回查询等。支持150+Oracle兼容函数和表达式,~30张字典视图和~30张性能视图等等。支持串行化隔离级别,对于有更高事务隔离性需求的场景提供更好的支持。性能和稳定性上也相对2.0版本有大幅提升。

 

其中最值得关注的新功能和特性有:

 

1、新功能

  • 存储过程/客户端协议:

  1. 兼容Oracle的PL/SQL第一版正式推出,提供基本的PL/SQL使用能力。后续版本继续不断增强对PL/SQL的支持;

  2. 部分Oracle兼容的PL/SQL系统包,方便Oracle用户使用习惯;

  3. 支持二进制prepare statement协议,提升应用调用数据库执行性能。

  • SQL功能增强:

  1. 支持除binary float/double外的全部Oracle基础数据类型,以及BLOB/CLOB(最大长度受限);

  2. 支持MINUS,ROLLUP, GROUPING等SQL语法以及大量窗口函数支持,更好的支持用户复杂分析查询的需要;

  3.  支持Oracle兼容的NLS系列长度和时间日期类型设置,提供丰富的时间日期格式和转换支持。

  • SQL执行计划管理:

  1. 兼容Oracle管理接口的SQL Plan Management功能,支持执行计划的固化管理和自动演进,确保系统运行和升级后的稳定性,降低运维复杂度。

  • 事务能力增强:

  1. 闪回查询增强(Flashback Query),提供历史数据查询功能;

  2. 支持串行化隔离级别(关系数据库的最强事务隔离级别),对有强事务隔离性需求的应用场景提供原生支持。

 

大量的Oracle兼容功能正在测试发版中,下一个版本会持续大量发布。

 

2、稳定性

集群稳定性大幅提升,单集群达200+节点,分布式事务运行稳定,最大单表行数达万亿级,集群管理数据量2PB+。
 
3、扩展性
Oracle模式单表支持最大65536分区。
 
4、性能
  • OLTP性能相比2.0版本提升50% 以上,部分复杂场景提升100%;

  • OLAP场景查询优化和执行能力显著提升,TPC-H全部22个查询,SF=1000(1TB)的数据量下,6台ECS(56超线程) Server总执行时间为730s。

 

5、兼容性

  • MySQL 5.6兼容;

  • Oracle 11.2兼容(持续开发支持中)。

 
 

NoSQL家族

 

 
MongoDB发布4.2版本

 

MongoDB公司在2019年全球用户大会上宣布推出其核心数据库的最新版本 MongoDB 4.2,主要功能包括分布式事务、字段级加密、更新版 Kubernetes Operator 集成等,进一步提升了 MongoDB 支持各种业务场景的能力。

 

1、分布式事务

 

MongoDB 在 MongoDB 4.0 版本中引入了多文档 ACID 事务,从而提供跨副本集的一致数据视图,要么全成功或要么全撤销,以维护数据完整性。结合文档模型及其分布式系统架构的强大功能,开发人员可以轻松实现传统应用程序的现代化,并构建新的事务性服务。   

 

分布式事务保持了与在 MongoDB 4.0 事务相同的语法。相似的语法和快照隔离,让任何具有先前事务经验的开发人员都会觉得使用起来非常熟悉。无论是在副本集中跨文档、集合和数据库执行事务,还是跨分片集群执行事务,API 和语法都是一样的。分片环境下完整的原子性,意味着,如果事务无法在一个分片上提交,它将在所有参与分片上中止。

 

2、企业级安全新层级

 

MongoDB 4.2 实行的字段级加密与传统关系数据库中使用的列加密不同,是一种更全面的加密方法。它与数据库完全分离,对服务器透明,在客户端上的 MongoDB 驱动程序中处理。大多数数据库在服务器端处理加密,这意味着即使数据库实例本身并没有客户端访问权限,管理员仍然可以访问数据。字段级加密则彻底改变了这一现状。

 

MongoDB 字段级加密的优势包括:

  • 自动、透明加密:对于大多数数据库读写操作,无需修改即可运行应用程序代码。其他客户端方法要求开发人员修改查询代码,以使用语言 SDK 中的显式加密函数和方法。

  • 职责分离:传统上可以访问操作系统、数据库服务器、日志和备份的系统管理员无法读取加密数据,除非明确给予他们客户端访问权限以及解密数据所需的密钥。

  • 法规遵从性:有助于遵从 GDPR 等隐私法规中的“被遗忘权”请求。一旦客户密钥被破坏,相关的个人数据就会变得毫无用处。

 

3、通过单个 Kubernetes 平面实现完全控制
 
用户可以从单个 Kubernetes 管理 MongoDB 部署。在自我管理的基础架构上(无论是在本地还是在云中),Kubernetes 用户可以使用 MongoDB Enterprise Operator for Kubernetes 和 MongoDB Ops Manager 来自动部署和管理 MongoDB 集群。开发人员可以将 Operator 用于 Kubernetes,或 Red Hat OpenShift、Pivotal Container Service (PKS) 等其他广受欢迎的平台上。

 

 
RocksDB发布V6.2.2版本

 

2019年6月7日,RocksDB发布V6.2.2。

 

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

 

最近一年RocksDB发布了一个大版本,从v5来到了v6,本次更新主要有如下值得关注的点:

  • 新增了strict_bytes_per_sync,该参数会block文件写线程,而不是超过bytes_per_sync或wal_bytes_pre_sync的写限流。

  • 避免在BlockBasedTableIterator对Key上限的验证,以提升range scan的性能。

  • 在Block-based table index中包括确切的最大key,而不是原来的key上限,以提前在一些场景下Get和Iterator Seek的性能,特在使用direct IO并且关闭block cache的时候。可以通过BlockBasedTableOptions::index_shortening参数来控制。

  • 在option读取的时候可以添加自定义的envs。

  • 新增snap_refresh_nanos(默认:0.5s)来定期刷新compaction job中的snapshot列表,通过设置为0来禁用该功能。

  • 不为每个iterator创建新的table reader以提升在预读取下的range scan性能。

 

发布文档详见:https://github.com/facebook/rocksdb/releases/tag/v6.2.2

发布Blog详见:https://rocksdb.org/blog

 

 
ArangoDB发布3.5 RC7版本

 

2019年8月5日,ArangoDB发布了3.5 RC7。ArangoDB 是一个分布式原生的多模型数据库,具有灵活的文档、图形和键值数据模型。使用方便的 SQL 查询语言或 JavaScript 扩展构建高性能应用程序。

 

此版本最大亮点是引入流事务 API(streaming transactions API),这是一种更简单的使用 ACID 事务的方法,不需要编写任何 JavaScript 代码。

 

使用新的流事务 API,可以直接使用喜欢的语言对 ArangoDB 进行 BEGIN、COMMIT 与 ABORT(回滚)操作,与使用 RDBMS 类似。事务可以包含一系列受支持的事务操作,后跟 commit 或 abort 命令。这允许客户端以比基于 JavaScript 的事务更有效的方式构建更大的事务。

 

目前官方推出了此特性的Golang 驱动,其它语言绑定也会陆续到来。

 

NewSQL家族

 

 
TiDB发布3.0 GA版本

 

2019 年 6 月 28 日,TiDB 发布 3.0 GA 版本,对应的 TiDB Ansible 版本为 3.0.0 。相比于 V2.1, V3.0.0 版本在系统稳定性、易用性及性能方面均有显著提升,新功能方面增加了窗口函数、视图(实验特性)、分区表、插件系统、悲观锁(实验特性)、SQL Plan Managment 等特性。

 

7 月 30 日,TiDB Operator 1.0 GA 发布。TiDB Operator 是 Kubernetes 上的 TiDB 集群自动运维系统。提供包括部署、升级、扩缩容、备份恢复、配置变更的 TiDB 全生命周期管理。借助 TiDB Operator,TiDB 可以无缝运行在公有云或私有部署的 Kubernetes 集群上。

 

1.0 是 TiDB Operator 的首个 GA 版本,具备简化 TiDB 运维管理、稳定可靠、多云支持等核心亮点。

 

TiDB 3.0.0 GA概述

 

相比于 V2.1,V3.0.0 版本在以下方面有重要改进:

  • 稳定性方面,显著提升了大规模集群的稳定性,集群支持 150+ 存储节点,300+TB 存储容量长期稳定运行。

  • 易用性方面有显著的提升,降低用户运维成本,例如:标准化慢查询日志,制定日志文件输出规范,新增 EXPLAIN ANALYZE,SQL Trace 功能方便排查问题等。

  • 性能方面,与 2.1 相比,TPC-C 性能提升约 4.5 倍,Sysbench 性能提升约 1.5 倍,因支持 View,TPC-H 50G Q15 可正常运行。

  • 新功能方面增加了窗口函数、视图(实验特性)、分区表、插件系统、悲观锁(实验特性)、SQL Plan Managment 等特性。

 

 
SequoiaDB发布3.2.3版本

 

近期,SequoiaDB巨杉数据库发布3.2.3版,主要针对分布式事务以及整体数据库性能提升。

 

新版本技术特性:

 

1、分布式存储层:

  • 支持分布式事务能力;

  • 支持RU、RC、RR、以及Serializable四种隔离级别;

  • 悲观锁机制,业界数据库使用最广泛的锁机制;

  • 支持读已提交的MVCC特性;

  • 在线数据Rebalance;

  • 多租户数据物理隔离能力;

  • HTAP交易分析业务的物理隔离能力;

  • 基于Raft协议的高可用能力;

  • 基于Logshipping机制的数据同步策略,支持同城双中心、同城三中心、两地三中心、三地五中心等多种容灾架构;

  • 支持同城双活业务能力。

 

2、分布式计算层:

  • 100%支持原生 MySQL、PostgreSQL、SparkSQL 协议与语法;

  • 计算节点提供类似Oracle RAC的高可用能力;

  • 支持MySQL与PostgreSQL视图、存储过程、触发器、自增字段等特性。

 

3、周边工具:

  • 提供数据库容器镜像;

  • 支持Binlog Replication数据复制;

  • 提供Oracle OGG与IBM CDC实时数据同步解决方案;

  • 支持MySQL数据实时同步方案;

  • 数据导入导出工具(sdbimprt、sdbexprt);

  • 数据文件离线解析格式化工具(dmsdump);

  • 日志文件离线解析格式化工具(dpsdump);

  • 图形化部署、管理、监控工具(OM);

  • 潜在故障巡检工具;

  • 诊断日志分析工具;

  • 代码流程跟踪工具(trace);

  • 开源监控工具对接(zabbix、prometheus、grafana)。

 

时序数据库

 

 
InfluxDB发布2.0.0 Alpha 16版本

 

2019年7月25日,InfluxDB 发布了 2.0.0 Alpha 16 ,该版本包含如下增强:

  • 更新了所有提供的模板,以使用最新的Flux更新。要获取更新,需要从更新的模板中删除并重新创建仪表板;

  • 模板显示的 Bug 修复;

  • Flux 库更新到 0.37.2。

 

InfluxDB 是一个开源分布式时序、事件和指标数据库。使用 Go 语言编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展。InfluxDB 包括用于存储和查询数据,在后台处理ETL或监视和警报目的,用户仪表板以及可视化和探索数据等的API。

 

 

以下是InfluxDB目前支持的一些功能,使其成为处理时间序列数据的绝佳选择:
  • 专为时间序列数据编写的自定义高性能数据存储。TSM引擎允许高摄取速度和数据压缩;
  • 完全用 Go 语言编写。它编译成单个二进制文件,没有外部依赖项;
  • 简单,高性能的写入和查询HTTP API;
  • 插件支持其他数据提取协议,如Graphite,collectd和OpenTSDB;
  • 专为类似SQL的查询语言量身定制,可轻松查询聚合数据;
  • 标签允许对系列进行索引以实现快速有效的查询;
  • 保留策略有效地自动使过时数据过期;
  • 连续查询自动计算聚合数据,以提高频繁查询的效率。

 

 
TimescaleDB发布1.4.0版本

 

2019年6月18日,TimescaleDB 发布了 1.4.0。此版本包含连续聚合的主要新功能,并使分析查询的性能得到改进。

 

1.3.0 版本中添加了对连续聚合的支持,最初仅限于一个连续聚合。新版本删除了这个限制,并允许多个连续聚合。

 

1.4.0 还添加了一个可以执行的新自定义节点 ChunkAppend 来执行时间约束排除,也用于有序附加。 有序追加不再需要 LIMIT 条款,并且现在支持 time_bucket 的空间分区和排序。

 

更新内容如下:

 

1、主要特征

  • 用 ChunkAppend 替换 Append 节点;

  • 支持多个连续聚合。

 

2、次要特性

  • 从有序追加中删除 LIMIT 子句限制; 

  • 在 Ordered Append 中支持时间桶功能;

  • 为 REFRESH MATERIALIZED VIEW 添加警告消息;

  • 将作业统计信息列添加到 timescaledb information.continuous aggregate stats 视图;

  • 添加架构和位大小以进行遥测。

 

3、Bug 修复

  • 不要使用一次性过滤器删除 Result 节点; 

  • 修复遥测报告返回值; 

  • 修复连续的 agg 目录表插入失败问题; 

  • 更新连续的 agg bgw 作业开始时间。

 

大数据生态圈

 

 
Hadoop Ozone发布0.4.0版本

 

2019年5月7日,Hadoop中的对象存储服务Ozone发布了0.4.0的新测试版本,该版本对于组件的安全性方面做了很大改进,支持了Kerberos安全认证与透明数据加密,能够与Spark、Hive和Yarn做到有效的兼容,是HDFS对象存储的第一个安全技术版本。

 

Ozone最早由Hortonworks于2014年提出,并为此建立了一个JIRA:HDFS-7240(Object store in HDFS),目的是提供一个类似于AWS的S3的基于Key-object的对象存储服务,Ozone的出现,提供了一种廉价的对象存储的解决方案,使得HDFS自然进化成一个完整的企业大数据存储系统。

 

 
Elasticsearch发布7.3.0版本

 

2019年8月,Elasticsearch发布基于Lucene 8.1.0的Elasticsearch 7.3.0,这是最新的稳定版本,新特征如下:

 

1、数据帧——转换和透视流数据

 

数据帧转换是Elasticsearch中的一个核心新特性,它允许你将现有索引转换为次要的汇总索引。数据框架转换使你能够透视数据并创建以实体为中心的索引,这些索引可以总结实体的行为。这将数据组织成便于分析的格式。

 

数据帧转换最初在7.2中可用。在7.3中,它们现在既可以作为单个批处理转换运行,也可以在接收新数据时持续合并新数据。

 

假设你正在流媒体审计日志事件,这些事件来自数据中心中许多不同的主机,你希望分析用户行为,以发现任何可疑的东西。使用数据帧,你可以按用户、主机和工作日对日志事件进行分组。因此,对于每个用户,你都有按请求类型分组的每个服务器的交互计数。通过实体组织数据并总结许多事件,可以更容易地运行不同的数值分析模型并发现异常行为。

 

数据帧允许机器学习分析的新可能性(例如异常值检测,它可能与上面的安全示例完美匹配),但是它们对于其他类型的可视化或自定义类型的分析也很有用。我们很想知道用户使用这个特性的目的。

 

数据帧转换在一个免费的基本许可下作为beta发布。
 
2、提高搜索量

 

Elasticsearch用于搜索,下面是我们在7.3中发布的一些令人兴奋的新搜索功能:

 

  • 发现最不频繁的值;
  • 用于文档脚本评分的内置向量相似性函数;
  • 改进了间隔查询;
  • 有效处理具有大量动态字段的记录;
  • 更新索引同义词列表,没有索引停机时间。

 

发布文档详见:
https://www.elastic.co/guide/en/elasticsearch/reference/7.3/release-notes-7.3.0.html

 

 
Greenplum结合Madlib提升深度学习能力

 

随着Greenplum 6.0的正式发布,Greenplum不仅在性能上有了大幅提升,Madlib组件也更新了大量深度学习模块。用户可以直接使用诸如Karas、Tensorflow等深度学习框架,并与传统的BI、数仓业务无缝集成,从而真正实现一站式AI解决方案。

 

下图为Greenplum+GPU的架构图。Keras和TensorFlow等标准深度学习算法库部署在Greenplum的segment节点上,GPU同时也部署在segment节点上,每个节点上的segment共享GPU计算资源。

 

图1:用于深度学习的Greenplum架构

 

这种架构设计的目的是为了消除segment和GPU之间互连的传输延迟。在这种架构下,每个segment只需要处理本地数据得出结果,与Greenplum 集成在一起的开源机器学习库Apache MADlib负责将每个segment的模型合并在一起得到最终的模型。这种计算方式,利用了MPP的水平横向扩展功能。

 

 
Apache Flink发布1.8.1版本

 

2019年7月2日,Apache Flink 发布了 1.8.1 版本,这是 Apache Flink 1.8 系列的首个 bugfix 版本,此版本也与之前的 1.x.y 版本 API 兼容。

 

1.8.1 包含了超过 40 个修复程序和小的改进,官方建议所有用户都升级到最新版本。

 

列举几个改进如下:

  • 在 TaskManager 凭据中对 AMRMToken 进行过滤;

  • 在 flink 的流连接器上添加更多适当的说明;

  • 改进 MessageAcknowledgingSourceBase 的 Javadoc;

  • 整合文件系统文档;

  • 为 transfer.sh 添加超时功能;

  • StreamingFileSink:使类可扩展以针对不同的用例进行自定义。

 

国产数据库

 

 
本期新秀:QianBase发布正式版1.1版本

 

2019年7月16日,易鲸捷公司打造的服务于银行业的商业数据库QianBase(钱库金融数据库)1.1版本正式发布,目前该产品即将在多家银行上线运行。

 

QianBase是一款基于Hadoop的、可同时支持事务交易和数据分析的融合型金融数据库产品,其不仅继承了易鲸捷产品家族的多种功能和特性,如高性能、高可靠性、高并发、易管理、易用性等,针对银行业的特性,本次QianBase1.1版本还涵盖以下功能:

  • 高可用性;

  • 支持弹性扩展(在线增加或更换节点);

  • 企业级的数据备份恢复功能(支持全量,增量备份);

  • 企业级的灾难恢复多数据中心方案,支持两地三中心;

  • 分布式事务处理能力:

  1. 分布式事务管理器;

  2. Savepoint;

  3. 行级锁。

  • 与Oracle兼容性功能包含:

  1. 触发器;

  2. 兼容PL/SQL的存储过程(SP/SQL);

  3. 函数。

  • 银行化的运维管理和信息安全控制;
  • 集成工具箱:
  1. 一键式的数据库迁移工具;
  2. 集成的数据库数据模型设计以及数据库对象管理的DB Designer。

 

QianBase架构包括3层:客户端服务层、SQL数据库服务层和存储引擎层。

 

第一层是应用程序所在的客户端服务层。应用程序可以由用户编写或通过第三方ISV工具/解决方案实现。你能使用QianBase提供的Windows或Linux客户端驱动、通过标准ODBC/JDBC接口访问QianBase数据库服务层。QianBase支持type 2 JDBC、type 4 JDBC驱动程序。根据特定的需求(响应时间、连接数量、安全要求和其它因素),你可以选择合适的驱动程序类型。

 

第二层是SQL数据库引擎层。该层包括所有QianBase服务,封装了所有管理QianBase对象和高效执行SQL数据库请求的服务。服务包括连接管理、SQL语句编译和创建最优执行计划、SQL执行(串行和并行)、事务管理和工作负载管理。

 

第三层是存储引擎层,包括QianBase使用的标准Hadoop服务(HDFS和Zookeeper)。QianBase对象存储在原生Hadoop数据库结构中,包括以下格式:
  • HBase,提供Big Table或wide-column key-value,数据模型;
  • 缓存文本文件,例如,字符分隔值(csv)或日志数据;
  • 键值序列文件。

 

QianBase处理从应用程序传来的SQL请求,并将这些请求透明地转换成底层数据格式所需的原生接口调用。QianBase在HBase之上提供了关系型schema抽象,所以,QianBase能通过使用熟悉的DDL/DML语法(对象命名、列定义和数据类型支持)支持传统关系型数据库对象(表、视图、二级索引)。

 

 
本期新秀:ArkDB发布1.0版本

 

2019年4月19日,NewSQL领域的企业级云原生数据库ArkDB正式对外发布,发布版本为1.0版本,至此,国产化数据库再添新翼。

 

ArkDB是极数云舟基于崭新的云原生数据库思想自主研发的一款企业级云原生数据库。它实现了计算与存储分离,存储容量不受限制,能够快速弹性伸缩。数据库集群共享同一份数据文件,能够提供并行计算,无锁备份,数据分层治理,全局数据强一致性和整套的自动化运维管理方案,简单易用。ArkDB技术生态架构图:

 

 

ArkDB具有以下特性:
  • 简单易用,能够极大的降低企业TCO;
  • 最大限度地兼容MySQL语法,全面支持MySQL8.0(全球第一个支持);
  • 计算与存储分离,存储容量和计算资源可快速弹性伸缩;
  • 物理复制,主从复制是基于逻辑日志的复制;
  • 无锁备份,整个备份工程在分钟级即可完成数据库的备份;
  • 数据分层治理,支持根据访问策略对数据存储分级;
  • 透明读写分离,高可用,自适应负载均衡的能力;
  • 拥有完善的技术生态体系,结合极数云舟数据库中间件Arkproxy、分布式监控套件Arksentinel、数据库同步工具Arkgate、数据库管理平台Arkcontrol,全面解决企业对数据库的技术需求(后面的组件均可独立部署使用);
  • 同时支持OLTP(高并发事务需求)和OLAP(复杂分析需求)。

 

发布文档详见:http://www.cloud-ark.com/product/5.htm

 

云数据库

 

 
RadonDB发布1.0.7版本

 

2019年8月初,MyNewSQL领域的RadonDB云数据库将发布1.0.7版本。

 

RadonDB是一款基于MySQL的新一代分布式关系型数据库(MyNewSQL),基于Go语言研发。向用户提供具备金融级高可用、强一致、超大容量的数据库服务,高度兼容MySQL语法,自动水平分表,智能化扩容。

 

RadonDB具有以下特性:

  • 自动水平分表;

  • 执行器(DDL&DML)全部并行化;

  • 数据多副本,率先使用GTID并行复制+Raft一致性协议确保副本间数据强一致、零丢失;

  • 主副本故障自动秒级切换,实现自动化运维,无需人工干预;

  • 提供分布式事务能力,保证跨节点操作的数据一致性;

  • 高度兼容MySQL语法,数据可快速导入、导出,简单易用。

 

本次发布的v1.0.7版本是RadonDB进一步完善功能和稳定性的版本,主要功能点包括:

  • 支持union功能;

  • 支持Kill Idle Transactions功能;

  • 支持drop tables in the list功能;

  • 支持where_condition about `in` and `or`;

  • Attach、Reshard等功能准备工作:

  1. Attach功能的背景:在用户业务运行一段时间,打算往RadonDB中迁移,可能需要一些迁移工具的辅助,需要付出一些时间和人力的代价,而且周期比较长;

  2. 解决把单机/高可用MySQL中业务迁到RadonDB中痛点问题,零门槛,一键迁移,提升效率,并对老业务无影响,同时可以通过RadonDB查看验证数;

  3. 并且发挥RadonDB底层存储MySQL先天优势,无缝接入RadonDB,且低耦合,最终无状态迁移的实现。而且更方便RadonDB后期智能Reshard,Rebalance,实现数据智能的分布。

 

 
腾讯云发布多款新品

 

1、2019年7月23日,腾讯云SQL Server 2017正式商用

 

其中值得关注的有:

  • 腾讯云SQL Server 2017在32核256GB规格的版本最高TPM可达252万;

  • 内置了机器学习模块、图数据查询、自适应查询处理机制,前沿技术完美适配;

  • 支持云上/云下一键迁移,为用户带来便捷的上云体验和混云部署模式。

 

2、2019年6月,腾讯云发布Redis三款新品

 

 

 
京东云数据库InfluxDB对外公测

 

2019年7月31日,京东云数据库InfluxDB对外开启公测。

 

云数据库InfluxDB是京东云基于InfluxDB提供的高性能在线时序数据库服务,可广泛应用于大量时间戳数据的存储与分析场景,如:DevOps监控、物联网传感器数据收集和实时分析等。

 

京东云数据库InfluxDB有以下主要特性:

 

1、快速部署
 
通过京东云控制台,几分钟内即可创建出InfluxDB实例,实例具备完善的管理、监控等功能,可快速投入到业务应用中。
 
2、安全可靠

 

实例部署在用户自定义的VPC私有网络内,在TCP层直接进行网络隔离保护,确保数据安全;支持IP白名单设置功能,从访问源进行安全控制;支持启用SSL加密,进一步提升数据传输过程的安全性。
 
3、服务高可用

 

数据以三副本方式保存,数据层自动容灾切换可秒级完成;服务层为单节点高可用模式,服务出现故障时在几分钟内可自动完成容灾切换。
 
4、弹性扩容

 

支持弹性扩容缩容,可根据业务情况按需调整配置,提高资源利用率高,降低使用成本。
 
5、运维便捷

 

提供丰富的监控信息,并支持设置自动报警规则,随时随地掌握实例健康状况,降低用户数据库运维成本。

 

参考链接:https://www.jdcloud.com/cn/products/jcs-for-influxdb

 

推出dbaplus Newsletter的想法

 

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

 

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

 

至于Newsletter发布的周期,目前计划是每三个月左右会做一次跟进,下期计划时间是2019年12月2日~12月13日,如果有相关的信息提供请发送至邮箱:newsletter@dbaplus.cn

 

感谢名单

 

 

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

 

 

往期回顾:

 
最新评论
访客 2019年09月18日

请问下为什么不用logstash同步呢?

访客 2019年09月16日

写的太好了,我这就开始学

访客 2019年09月16日

Discretized Streams 就要过时了??

访客 2019年09月07日

写的就跟屎一样

访客 2019年09月01日

没看懂啊,PK的时候,没懂,怎就就从 (1,1)变成了…

活动预告