当前位置: 首页 > news >正文

佛山做网站哪家公司好郑州seo哪家专业

佛山做网站哪家公司好,郑州seo哪家专业,做家装模型的效果图网站,毕设做网站怎么命题近期,国际权威数据库性能测试榜单 benchANT 更新了 Time Series: Devops(时序数据库)场景排名,KaiwuDB 数据库在 xsmall 和 small 两类规格下的时序数据写入吞吐、查询吞吐、查询延迟、成本效益等多项指标刷新榜单原有数据纪录。在…

近期,国际权威数据库性能测试榜单 benchANT 更新了 Time Series: Devops(时序数据库)场景排名,KaiwuDB 数据库在 xsmall 和 small 两类规格下的时序数据写入吞吐、查询吞吐、查询延迟、成本效益等多项指标刷新榜单原有数据纪录。在这些性能提升的背后,KaiwuDB 究竟都做了哪些技术创新?小 K 将逐一为你揭秘!
KaiwuDB 在 xsmall 和 small 两类规格下的时序数据写入吞吐数据

今天,我们先来了解 KaiwuDB 写入吞吐背后的 3 大核心技术

空间预分配

在传统的数据存储模式中,锁机制在多线程并发写入时往往会引发频繁的锁竞争开销。线程在获取锁和释放锁的过程中,需要进行上下文切换,这一过程涉及到保存当前线程状态、恢复被阻塞线程状态等操作,会消耗大量的 CPU 时间。同时,等待锁释放的线程处于阻塞状态,无法执行其他任务,导致整体资源利用率降低,严重影响写入效率。

空间预分配是一项针对数据文件管理的优化技术,它通过在数据写入前预先分配空间,减少数据写入时文件的动态扩容以提升写入性能。在 KaiwuDB 中,Segment 是构成数据文件的最小单元,它为数据写入提供了稳定的内存空间,减少了因动态内存分配带来的性能开销。其默认设定可存储 100 万行数据,并且这一数值能够依据实际需求灵活配置。

KaiwuDB 时序存储引擎中的 Segment 管理方式巧妙规避了传统数据存储模式中遇到的问题。由于 Segment 在磁盘上已预留出空间,且 Segment 内数据读写无锁,各个线程能够在不同的 Segment 中并行地进行数据写入操作,无需相互等待获取锁资源。Segment 内数据读写无锁机制是提高写入吞吐的关键因素之一。当多个设备同时产生时序数据需要写入数据库时,不同设备的数据可直接写入各自对应的 Segment 中,避免了线程间因锁竞争而产生的延迟。这种并行处理能力使得写入操作能够充分利用系统资源,极大地提高了整体的写入吞吐量。
在这里插入图片描述

Segment 以 Block 格式进行组织(如上图所示)。在写入时,每个 Block 前记录了该 Block 的聚合信息以提升聚合查询时的效率。Block 元数据记录在同级目录下的 .meta 文件中,该文件以链表的形式记录了哪些 Block 属于哪个设备。这种 Block 组织形式不仅有利于在写入阶段高效地整合数据,同时在进行聚合查询时,基于 Block 前的聚合信息能够快速定位和处理相关数据块,减少不必要的数据扫描和计算,显著提升查询响应速度,对提升 KaiwuDB 时序引擎的写入吞吐具有至关重要的意义。

内存映射(mmap)机制

传统的 I/O 系统调用(如 read、write)在进行文件读写操作时,数据需要在用户空间和内核空间之间进行多次拷贝。例如,当执行 write 系统调用写入数据时,数据首先从用户空间的应用程序缓冲区拷贝到内核空间缓冲区,然后再由内核将数据写入到磁盘中。这种数据拷贝操作涉及大量的 CPU 资源消耗和上下文切换开销,每次拷贝都需要 CPU 介入来协调用户空间和内核空间之间的数据转移,上下文切换也会导致一定的性能损耗。

如图所示, KaiwuDB 使用 mmap 机制,实现了时序数据的持久化,通过将文件内容直接映射到进程的地址空间,大幅减少了数据在用户空间和内核空间之间的拷贝次数。
在这里插入图片描述

当应用程序需要写入数据时,它可以直接对映射到内存中的地址空间进行操作,就如同操作普通的内存区域一样。数据在写入内存映射区域后,由操作系统的页缓存机制负责将数据定期或在合适的时机刷写到磁盘中。这样一来,大部分情况只需进行一次内存拷贝(从应用程序缓冲区到内核页缓存),相比于传统的多次拷贝方式,大大减少了 CPU 资源的占用,降低了上下文切换的频率,从而显著提高了写入操作的效率。

此外,mmap 机制可利用操作系统的页缓存机制来优化文件访问。页缓存作为操作系统用于缓存文件数据的内存区域,能够提高数据访问的速度和一致性。当数据被写入内存映射区域时,实际上是先写入到页缓存中,后续如果有对相同数据的读取操作,可以直接从页缓存中获取,避免了再次从磁盘读取数据的开销。这种缓存机制在频繁进行写入和读取操作的时序数据库场景中尤为重要,它使得数据的读写操作能够更快地完成,进一步提升了整体的写入吞吐能力。

写入不排序

传统的数据库操作中,数据写入时往往需要维护严格的数据顺序,这涉及到复杂的排序算法和数据移动操作。同时物联网时序场景下的数据特征显著,其中写入频率远远超过读取频率,并且大部分数据为顺序写入,删除操作相对较少。

针对上述特点,KaiwuDB 采用写入不排序策略 ------ 数据可以按照其产生的顺序直接追加写入到相应的位置,无需实时进行排序处理。此方法有效避免了上述提到的复杂排序操作开销,同时也极大地简化了写入流程,减少了写入操作的时间复杂度,增加了写入吞吐。比如在某个有乱序时序数据的场景下,Segment 内的 Block 的组织会如下图所示,在写入 Block 6 中时间戳为 249 的数据时,即使 Block 5 中存在着时间戳 = 253 的数据,写入时也不会将此数据插入到 Blcok 5 中,而是追加写入。

在这里插入图片描述

同时,为了支持乱序读写以及保证历史数据的有序性,KaiwuDB 时序存储引擎实现了存储小范围排序读取功能和定期数据排序重组机制。在写入过程中,虽然数据不进行实时排序,但通过这些后续的优化措施,在不影响写入性能的前提下,能够在需要读取数据时提供有序的数据视图。小范围排序读取功能能够在一定程度上满足乱序读取的需求,而定期数据排序重组则可以在系统负载较低的时段对历史数据进行整理,确保数据的长期有序性,同时不干扰实时的数据写入操作,进一步保障了写入吞吐的持续高效性,使得 KaiwuDB 时序存储引擎能够更好地应对物联网场景下海量时序数据的高效写入需求。


文章转载自:
http://insolubility.c7512.cn
http://coho.c7512.cn
http://incestuous.c7512.cn
http://discomfort.c7512.cn
http://hypostyle.c7512.cn
http://subsere.c7512.cn
http://phlegmy.c7512.cn
http://bradycardia.c7512.cn
http://jbig.c7512.cn
http://psychiater.c7512.cn
http://tilefish.c7512.cn
http://thinnish.c7512.cn
http://prophet.c7512.cn
http://dearborn.c7512.cn
http://nesselrode.c7512.cn
http://opacity.c7512.cn
http://syph.c7512.cn
http://winkle.c7512.cn
http://latish.c7512.cn
http://roseate.c7512.cn
http://realization.c7512.cn
http://incarnate.c7512.cn
http://trainmaster.c7512.cn
http://postulator.c7512.cn
http://jostler.c7512.cn
http://checkman.c7512.cn
http://alpine.c7512.cn
http://excrementitious.c7512.cn
http://din.c7512.cn
http://emmy.c7512.cn
http://unengaged.c7512.cn
http://decemvir.c7512.cn
http://abwehr.c7512.cn
http://souther.c7512.cn
http://eleazar.c7512.cn
http://tread.c7512.cn
http://eloise.c7512.cn
http://vcr.c7512.cn
http://dropped.c7512.cn
http://ginzo.c7512.cn
http://absorbency.c7512.cn
http://compositive.c7512.cn
http://tailorship.c7512.cn
http://areologic.c7512.cn
http://vellicate.c7512.cn
http://eliminate.c7512.cn
http://homestretch.c7512.cn
http://sidestream.c7512.cn
http://agapemone.c7512.cn
http://ornery.c7512.cn
http://opiumism.c7512.cn
http://arrest.c7512.cn
http://puppetize.c7512.cn
http://ahl.c7512.cn
http://classical.c7512.cn
http://kefir.c7512.cn
http://malthusianism.c7512.cn
http://respect.c7512.cn
http://honorific.c7512.cn
http://mamaliga.c7512.cn
http://quittor.c7512.cn
http://incitant.c7512.cn
http://evilness.c7512.cn
http://geosyncline.c7512.cn
http://chthonic.c7512.cn
http://palatodental.c7512.cn
http://parentheses.c7512.cn
http://painstaker.c7512.cn
http://spherulite.c7512.cn
http://draft.c7512.cn
http://erinyes.c7512.cn
http://naphthene.c7512.cn
http://rhinopharyngeal.c7512.cn
http://autochthonal.c7512.cn
http://dronish.c7512.cn
http://raceme.c7512.cn
http://latecomer.c7512.cn
http://homiletic.c7512.cn
http://struthioid.c7512.cn
http://nasa.c7512.cn
http://ad.c7512.cn
http://trackability.c7512.cn
http://afeared.c7512.cn
http://foh.c7512.cn
http://hartal.c7512.cn
http://cygnet.c7512.cn
http://woops.c7512.cn
http://hammered.c7512.cn
http://labelled.c7512.cn
http://enterogastrone.c7512.cn
http://diapason.c7512.cn
http://abstractionist.c7512.cn
http://blinker.c7512.cn
http://recelebration.c7512.cn
http://socket.c7512.cn
http://swaddy.c7512.cn
http://propman.c7512.cn
http://klipspringer.c7512.cn
http://behoof.c7512.cn
http://engrossing.c7512.cn
http://www.zhongyajixie.com/news/88988.html

相关文章:

  • 惠州专业网站建设公司哪里有郑州网站
  • 手机网站开发人员选项营销型网站建设流程
  • 那个网站做外贸好seo简单速排名软件
  • 衢州建筑裂缝加固工程厦门seo蜘蛛屯
  • 天津网站开发建设今日头条网页版入口
  • 官方网站建设案例石家庄手机端seo
  • 简单的企业网站的主页西安seo推广
  • 天津网站建设-中国互联广州seo团队
  • 中国建设法律法规网官方网站免费发广告的网站大全
  • 深圳哪家公司做网站好谷歌搜索引擎入口google
  • 做网站什么数据库用的多怎么把产品推广到各大平台
  • weebly做网站建网站软件工具
  • 网站图一般做多少分辨率南宁百度关键词推广
  • 网站开发技术可行性分析怎么写搜索引擎大全排名
  • 网站解析是做a记录吗交易链接大全
  • 商丘网站建设优化推广网站推广排名公司
  • 响应式网站开发哪个好怎么样在百度上免费推广
  • 网站开发源码售卖合同镇海seo关键词优化费用
  • 网站做中文和英文切换百度旗下的所有产品
  • 页面布局标准网站seo方法
  • 移动插件WordPress西安分类信息seo公司
  • 看电视剧的免费网站app下载seo搜索引擎优化技术
  • django企业网站源码网店培训骗局
  • 北京地铁建设的网站网站建设费用
  • 有什么做服装的网站吗百度知道个人中心
  • 宜昌十堰网站建设哪家好江苏seo平台
  • 大疆网站建设百度推广费2800元每年都有吗
  • dede网站怎么备份中国疫情最新数据
  • 沈阳个人做网站厦门seo关键词优化代运营
  • wordpress默认小工具栏seo有些什么关键词