首页 文章 精选 留言 我的

精选列表

搜索[数据库连接池],共10000篇文章
优秀的个人博客,低调大师

Apache IoTDB 0.11.2 发布,物联网时序数据库

Apache IoTDB 0.11.2现已发布。Apache IoTDB 是一个集成数据专为时间序列数据设计的管理引擎。它为用户提供以下服务:数据收集、存储和分析。由于其轻巧的结构,高性能和丰富的功能集,以及与 Apache Hadoop、Spark 和 Flink 的深度集成,IoTDB 可以满足海量需求物联网中的数据存储、高速数据提取和复杂数据分析等工业领域。 这是一个错误修复版本,主要包括: IOTDB-1049修复 Nullpointer 异常和 Last 查询中的删除错误 IOTDB-1060 支持对不带 where 子句的 delete 语句的完全删除 IOTDB-1068 修复时间序列元数据缓存错误 IOTDB-1069 限制刷新 memtable 数,以避免在禁用 mem_control 时发生 OOM IOTDB-1077 在 java 会话中添加 insertOneDeviceRecords API IOTDB-1106 Delete timeseries 语句将错误地删除其他时间序列 修复了 grafana 值时间位置错误 GetObject 返回了所有字符串数据类型 修复 Sync 失败:Socket被 peer 关闭 DeleteData 方法在 Session 中存在,但在 SessionPool 中不存在。 在 iotdb-engine.properties 中添加 thrift_max_frame_size 删除所有数据后修复最后的错误结果 在客户端中 print 更多insert error message 将 enablePartition 参数公开到 iotdb-engines.properpties 中 详情可查看发布说明。

优秀的个人博客,低调大师

DBeaver 7.3.3 发布,可视化数据库管理平台

DBeaver 7.3.3 发布了,更新内容包括: SQL Editor: 重新设计了服务器输出和执行日志面板 添加了服务器输出自动显示(可配置) SQL 格式修复(IN clause) Data editor: 改进了 TXT(纯文本)格式的导出(添加了正确的格式) 添加了日期/时间格式模式的文档 从文件导入:文件选择器向导页面已修复 Connection editor: 密码字段在不使用时被禁用 重新设计驱动程序选择页被重新设计 修复驱动程序属性编辑器(保存空属性值) MySQL: 修复 GIS 数据类型支持 在数据传输中改进了表列映射 Oracle:依赖项信息增强 (+dependents) SAP HANA:增强 connection editor 的 WAA(port numbers) 更新详情查看:https://dbeaver.io/2021/01/17/dbeaver-7-3-3/

优秀的个人博客,低调大师

干货丨时序数据库DolphinDB作业管理概述

作业(Job)是DolphinDB中最基本的执行单位,可以简单理解为一段DolphinDB脚本代码在DolphinDB系统中的一次执行。Job根据阻塞与否可分成同步作业和异步作业。 同步作业 同步作业也称为交互式作业(Interactive Job),它的主要来源有: Web notebook DolphinDB GUI DolphinDB命令行界面 通过DolphinDB提供的各个编程语言API接口 由于这种类型的作业对实时性要求较高,DolphinDB在执行过程中会自动给予较高的优先级,使其更快地得到计算资源。 异步作业 异步作业是在DolphinDB后台执行的作业,包括: 通过submitJob或submitJobEx函数提交的批处理作业。 通过scheduleJob函数提交的定时作业。 Streaming 作业。 这类任务一般对结果的实时反馈要求较低,且需要长期执行,DolphinDB一般会给予较低的优先级。 子任务 在DolphinDB中,若数据表数据量过大,一般都需要进行分区处理。如果一个Job A里含有分区表的查询计算任务(如SQL查询),将会分解成多个子任务并送到不同的节点上并行执行,等待子任务执行完毕之后,再合并结果,继续Job A的执行。类似的,DolphinDB的分布式计算也会产生子任务。因此,Job也可以理解成一系列的子任务。 Worker与Executor DolphinDB是一个P2P架构的系统,即每一个Data Node的角色都是相同的,它们都可以执行来自用户提交的Job,而因为一个Job可能产生子任务,每个Data Node需要有负责Job内部执行的调度者,我们称它为Worker,它负责处理用户提交的Job,简单计算任务的执行,并执行Job的任务分解,任务分发,并汇集最终的执行结果。Job中分解出来的子任务将会被分发到集群中的Data Node上(也有可能是本地Data Node),并由Data Node上的Worker或Executor线程负责执行。 具体Worker与executor在执行job的时候主要有以下几种情况: 当一个表没有进行分区,对其查询的Job将会有Worker线程执行掉。 当一个表被分区存放在单机上时候,对其的查询Job可能会分解成多个子任务,并由该节点上的多个Executor线程执行,达到并行计算的效果。 当一个表被分区存储在DFS时,对其查询的Job可能会被分解成多个子任务,这些子任务会被分发给其他Node的Worker上执行,达到分布式计算的效果。 为了最大化性能,DolphinDB会将子任务发送到数据所在的Data Node上执行,以减少网络传输开销。比如: 对于存储在DFS中的分区表,Worker将会根据分区模式以及分区当前所在Data Node来进行任务分解与分发。 对于分布式计算,Worker将会根据数据源信息,发送子任务到相应的数据源Data Node执行。 Job调度 Job优先级 在DolphinDB中,Job是按照优先级进行调度的,优先级的取值范围为0-9,取值越高优先级则越高。对于优先级高的Job,系统会更及时地给与计算资源。每个Job一般默认会有一个default priority,取值为4,然后根据Job的类型又会有所调整。 Job调度策略 基于Job的优先级,DolphinDB设计了多级反馈队列来调度Job的执行。具体来说,系统维护了10个队列,分别对应10个优先级,系统总是分配线程资源给高优先级的Job,对于处于相同优先级的Job,系统会以round robin的方式分配线程资源给Job;当一个优先级队列为空的时候,才会处理低优先级的队列中的Job。 Job并行度 由于一个Job可能会分成多个并行子任务,DolphinDB的Job还拥有一个并行度parallelism,表示在一个Data Node上,将会最多同时用多少个线程来执行Job产生的并行任务,默认取值为2,可以认为是一种时间片单位。举个例子,若一个Job的并行度为2,Job产生了100个并行子任务,那么Job被调度的时候系统只会分配2个线程用于子任务的计算,因此需要50轮调度才能完成整个Job的执行。 Job优先级的动态变化 为了防止处于低优先级的Job被长时间饥饿,DolphinDB会适当降低Job的优先级。具体的做法是,当一个job的时间片被执行完毕后,如果存在比其低优先级的Job,那么将会自动降低一级优先级。当优先级到达最低点后,又回到初始的优先级。因此低优先级的任务迟早会被调度到,解决了饥饿问题。 设置Job的优先级 DolphinDB的Job的优先级可以通过以下方式来设置: 对于console、web notebook以及API提交上来的都属于interactive job,其优先级取值为min(4,一个可调节的用户最高优先级),因此可以通过改变用户自身的优先级值来调整。 对于通过submitJob提交上的batch job,系统会给与default priority,即为4。用户也可以使用submitJobEx函数来指定优先级。 定时任务的优先级无法改变,默认为4。 计算容错 DolphinDB database 的分布式计算含有一定的容错性,主要得益于分区副本冗余存储。当一个子任务被发送到一个分区副本节点上之后,若节点出现故障或者分区副本发生了数据校验错误(副本损坏),Job Scheduler(即某个Data Node的一个worke线程)将会发现这个故障,并且选择该分区的另一个副本节点,重新执行子任务。用户可以通过设置dfsReplicationFactor参数来调整这种冗余度。 计算与存储耦合以及作业之间的数据共享 DolphinDB的计算是尽量靠近存储的。DolphinDB之所以不采用计算存储分离,主要有以下几个原因: 计算与存储分离会出现数据冗余。考虑存储与计算分离的Spark+Hive架构,Spark应用程序之间是不共享存储的。若N个Spark应用程序从Hive读取某个表T的数据,那么首先T要加载到N个Spark应用程序的内存中,存在N份,这将造成机器内存的的浪费。在多用户场景下,比如一份tick数据可能会被多个分析人员共享访问,如果采取Spark那种模式,将会提高IT成本。 拷贝带来的延迟问题。虽然说现在数据中心逐渐配备了RDMA,NVMe等新硬件,网络延迟和吞吐已经大大提高。但是这主要还是在数据中心,DolphinDB系统的部署环境可能没有这么好的网络环境以及硬件设施,数据在网络之间的传输会成为严重的性能瓶颈。 综上这些原因,DolphinDB采取了计算与存储耦合的架构。具体来说: 对于内存浪费的问题,DolphinDB的解决方案是Job(对应Spark应用程序)之间共享数据。在数据经过分区存储到DolphinDB的DFS中之后,每个分区的副本都会有自己所属的节点,在一个节点上的分区副本将会在内存中只存在一份。当多个Job的子任务都涉及到同一个分区副本时,该分区副本在内存中可以被共享地读取,减少了内存的浪费。 对于拷贝带来的延迟问题,DolphinDB的解决方案是将计算发送到数据所在的节点上。一个Job根据DFS的分区信息会被分解成多个子任务,发送到分区所在的节点上执行。因为发送计算到数据所在的节点上相当于只是发送一段代码,网络开销大大减少。

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册