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

阅读数:3890 2019 年 9 月 2 日 08:00

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

本文由 dbaplus 社群授权转载

DB-Engines 数据库排行榜

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

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

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

  • Google 以及 Bing 搜索引擎的关键字搜索数量
  • Google Trends 的搜索数量
  • Indeed 网站中的职位搜索量
  • LinkedIn 中提到关键字的个人资料数
  • Stackoverflow 上相关的问题和关注者数

新闻快讯

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

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

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、新功能

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

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

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

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

  • SQL 功能增强:

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

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

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

  • SQL 执行计划管理:

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

  • 事务能力增强:

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

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

大量的 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。

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

以下是 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 计算资源。

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

图 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 版本还涵盖以下功能:

  • 高可用性;

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

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

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

  • 分布式事务处理能力:

    a. 分布式事务管理器;

    b. Savepoint;

    c. 行级锁。

  • 与 Oracle 兼容性功能包含:

    a. 触发器;

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

    c. 函数。

  • 银行化的运维管理和信息安全控制;

  • 集成工具箱:

    a. 一键式的数据库迁移工具;

    b. 集成的数据库数据模型设计以及数据库对象管理的 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 技术生态架构图:

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

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 等功能准备工作:

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

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

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

腾讯云发布多款新品

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

其中值得关注的有:

  • 腾讯云 SQL Server 2017 在 32 核 256GB 规格的版本最高 TPM 可达 252 万;
  • 内置了机器学习模块、图数据查询、自适应查询处理机制,前沿技术完美适配;
  • 支持云上 / 云下一键迁移,为用户带来便捷的上云体验和混云部署模式。

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

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

京东云数据库 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

原文链接

https://mp.weixin.qq.com/s/qJC2NQkzYGmUqYqjg5UG4Q

评论

发布