51CTO首页
AI.x社区
博客
学堂
精品班
软考社区
免费课
企业培训
鸿蒙开发者社区
WOT技术大会
IT证书
公众号矩阵
移动端
短视频
免费课程
课程排行
直播课
软考学堂
全部课程
厂商认证
IT技术
25年5月软考
PMP项目管理
免费题库
在线学习
文章
资源
问答
课堂
专栏
直播
51CTO
鸿蒙开发者社区
51CTO技术栈
51CTO官微
51CTO学堂
51CTO博客
CTO训练营
鸿蒙开发者社区订阅号
51CTO软考
51CTO学堂APP
51CTO学堂企业版APP
鸿蒙开发者社区视频号
51CTO软考题库
鸿蒙开发者社区
首页
帖子
问答
资源
课堂
直播
发现
登录/注册
51CTO
中国优质的IT技术网站
51CTO博客
专业IT技术创作平台
51CTO学堂
IT职业在线教育平台
活动
短视频
专栏
极客Show
鸿蒙技术特刊
我的关注
全部帖子
操作系统
OpenHarmony
HarmonyOS
其他
应用开发
卡片开发
三方库
IDE
其他
设备开发
海思开发板
树莓派
其他
框架语言
C/C++
Java
JavaScript
ArkUI / eTS
其他
其他
物联网
云原生
数据库
操作系统
大数据
人工智能
开发语言
其他
社区版务
社区公告
社区生活
意见反馈
社区规则
社区活动
默认
发布时间
热度
原创
精华
热门标签
鸿蒙
HarmonyOS NEXT
华为
你常听说的WAL到底是什么
什么是WALWAL(WriteAheadLog)预写日志,是数据库系统中常见的一种手段,用于保证数据操作的原子性和持久性。在计算机科学中,「预写式日志」(Writeaheadlogging,缩写WAL)是关系数据库系统中用于提供原子性和持久性(ACID属性中的两个)的一系列技术。在使用WAL的系统中,所有的修改在提交之前都要先写入log文件中。log文件中通常包括redo和undo信息。这样做的目的可以通过一个例子来说明。假设一个程序在执行某些操作的过程...
大家好我是佩奇
0回复
8084浏览
微服务
框架语言
不可不知的软件架构模式
什么是系统架构(Architecture)设计不仅仅指的是外观和感觉,它还包括运作方式。——史蒂夫·乔布斯系统架构(SystemArchitecture),软件架构(SoftArchitecture)是IT领域常见的名词,架构设计是软件系统构建过程中极其关键的一部分。系统架构为什么重要?常见的架构模式都有哪些?跟着【码哥字节】了解不同的架构设计所运用的不同设计哲学。一起来看下常见的架构模式:ClientServer、PeertoPeer、MVC、Layered、DistributeClu...
大家好我是佩奇
0回复
5906浏览
架构语言
开发语言
经典 O(n²)比较类排序算法
经典O(n²)比较类排序算法查看完整代码可跳转GitHub:https:github.comUniqueDongalgorithms.git摘要:排序算法太多了,很多甚至连名字你都没听过,比如猴子排序、睡眠排序等。最常用的:冒泡排序、选择排序、插入排序、归并排序、快速排序、计数排序、基数排序、桶排序。根据时间复杂度,我们分三类来学习,今天要讲的就是冒泡、插入、选择排序算法。十种常见的的排序算法可以分两大类:比较类排序:通过比较来决定元素的...
大家好我是佩奇
0回复
5772浏览
框架语言
开发语言
微服务
HTTP 前世今生
HTTP协议在我们身边随处可见,只要上网就离不开它。不论是用浏览器还是App,不论是看新闻、短视频还是听音乐、玩游戏,后面总会有HTTP在默默为你服务。「Http协议是怎么来的?最开始是什么样子?又是如何一步步发展到今天,几乎统治了整个互联网世界」一起走向HTTP的世界,看历史长河中他是如何应运而生,如何适应当今的互联网,它又有什么局限性。史前时期20世纪60年代,美国国防部高等研究计划署(ARPA)建立了ARPA网,它有四...
大家好我是佩奇
0回复
4864浏览
微服务
Tomcat 高并发之道原理拆解与性能调优(上篇)
上帝视角拆解Tomcat架构设计,在了解整个组件设计思路之后。我们需要下凡深入了解每个组件的细节实现。从远到近,架构给人以宏观思维,细节展现饱满的美。关注「码哥字节」获取更多硬核,你,准备好了么?上回「码哥字节」站在上帝视角给大家拆解了Tomcat架构设计,分析Tomcat如何实现启动、停止,通过设计连接池与容器两大组件完成了一个请求的接受与响应。连接器负责对外交流,处理socket连接,容器对内负责,加载Servlet以及...
大家好我是佩奇
0回复
4754浏览
开发语言
框架语言
递归最佳解析
摘要:递归是一种应用非常广泛的算法(或者编程技巧)。之后我们要讲的很多数据结构和算法的编码实现都要用到递归,比如DFS深度优先搜索、前中后序二叉树遍历等等。所以,搞懂递归非常重要,否则,后面复杂一些的数据结构和算法学起来就会比较吃力推荐用户注册领取佣金很多人都遇到过,很多App在推广的时候都是这个套路。「萧何」引荐「韩信」加入刘邦阵营,「韩信」又引荐了那些年上铺的兄弟「韩大胆」加入。我们就可以认为「...
大家好我是佩奇
0回复
4582浏览
分布式数据库
微服务
LSM设计一个数据库引擎
摘要:了解Btree之外的存储引擎。LSM一个流行的高性能写的数据库实现方式。LogStructuredMergeTree,简称LSM。以Mysql、postgresql为代表的传统RDBMS都是基于btree的pageorented存储引擎。现代计算机的最大处理瓶颈在磁盘的读写上,数据存储无法绕开磁盘的读写,纯内存型数据库除外,但由于内存存储的不稳定性,我们一般只将内存型的存储作为缓存系统。为提升数据库系统的写性能,我们发现磁盘的顺序写性能远远大于随机写性能,...
大家好我是佩奇
0回复
4562浏览
开发语言
框架语言
总是搞不懂的同步异步,阻塞非阻塞
摘要:更好的理解同步异步,阻塞非阻塞的概念和机制。一、同步与异步同步异步,它们是消息的通知机制。1、概念解释同步所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。最常见的例子就是SendMessage。该函数发送一个消息给某个窗口,在对方处理完消息之前,这个函数不返回。当对方处理完毕以后,该函数才把消息处理函数所返回的值返回给调用者。我们常见的方法的调用大部分是同步,在方法内部调用另...
大家好我是佩奇
0回复
4488浏览
开发语言
容器
Druid:通过 Kafka 加载流数据
开始本教程演示了如何使用Druid的Kafkaindexing服务从Kafka流中加载数据至Druid。在本教程中,我们假设你已经按照quickstart文档中使用microquickstart单机配置所描述的下载了Druid,并在本机运行了Druid。你不需要加载任何数据。下载并启动KafkaApacheKafka是一种高吞吐量消息总线,可与Druid很好地配合使用。在本教程中,我们将使用Kafka2.1.0。在终端运行下面命令下载Kafka:curlOhttps:archive.apache.orgdistkafka2.1.0kafk...
大家好我是佩奇
0回复
4501浏览
开发语言
框架语言
微服务
透视HTTPS建造固若金汤的城堡
为什么有HTTPS?因为HTTP不安全!现在的互联网已经不再是“田园时代”,“黑暗森林”已经到来。上网的记录会被轻易截获,网站是否真实也无法验证,黑客可以伪装成银行网站,盗取真实姓名、密码、银行卡等敏感信息,威胁人身安全和财产安全。上网的时候必须步步为营、处处小心,否则就会被不知道埋伏在哪里的黑客所“猎杀”。HTTPS如何实现安全通信?如何构建出固若金汤的网络城堡?主要涉及的知识点如下:●了解什么是HTTPS●什...
大家好我是佩奇
0回复
3359浏览
框架语言
容器
微服务
时间序列数据库(TSDB)初识与选择
背景这两年互联网行业掀着一股新风,总是听着各种高大上的新名词。大数据、人工智能、物联网、机器学习、商业智能、智能预警啊等等。以前的系统,做数据可视化,信息管理,流程控制。现在业务已经不仅仅满足于这种简单的管理和控制了。数据可视化分析,大数据信息挖掘,统计预测,建模仿真,智能控制成了各种业务的追求。“所有一切如泪水般消失在时间之中,时间正在死去“,以前我们利用互联网解决现实的问题。现在我们已经不...
大家好我是佩奇
0回复
6632浏览
微服务
7.双向链表的优雅实现
❝链表是基本的数据结构,尤其双向链表在应用中最为常见,LinkedList就实现了双向链表。今天我们一起手写一个双向链表。❞文中涉及的代码可访问GitHub:https:github.comUniqueDongalgorithms.git上次我们说了「单向链表」的代码实现,今天带大家一起玩下双向链表,双向链表的节点比单项多了一个指针引用「prev」。双向链表就像渣男,跟「前女友」和「现女友」,还有一个「备胎』都保持联系。前女友就像是前驱节点,现女友就是「...
大家好我是佩奇
0回复
6537浏览
开发语言
微服务
十分钟了解 Apache Druid
概览ApacheDruid是一个高性能的实时分析型数据库。◆一个现代化的云原生,流原生,分析型数据库Druid是为快速查询和快速摄入数据的工作流而设计的。Druid强在有强大的UI,运行时可操作查询,和高性能并发处理。Druid可以被视为一个满足多样化用户场景的数据仓库的开源替代品。◆轻松与现有的数据管道集成Druid可以从消息总线流式获取数据(如Kafka,AmazonKinesis),或从数据湖批量加载文件(如HDFS,AmazonS3和其他同类数据源...
大家好我是佩奇
0回复
6331浏览
微服务
Mysql 存储大数据量问题
今日格言:了解了为什么,问题就解决了一半。Mysql单表适合的最大数据量是多少?我们说Mysql单表适合存储的最大数据量,自然不是说能够存储的最大数据量,如果是说能够存储的最大量,那么,如果你使用自增ID,最大就可以存储2^32或2^64条记录了,这是按自增ID的数据类型int或bigint来计算的;如果你不使用自增id,且没有id最大值的限制,如使用足够长度的随机字符串,那么能够限制单表最大数据量的就只剩磁盘空间了。显然我们不...
大家好我是佩奇
0回复
5842浏览
分布式数据库
开发语言
2.时间复杂度与空间复杂度
前面我们说了算法的重要性数据结构与算法开篇,今天我们就开始学习如何分析、统计算法的执行效率和资源消耗呢?请看本文一一道来。数据结构和算法本生解决的就是「快」和「省」的问题,那就是如何让代码跑得快,还能节省存储空间。打造一台法拉利,不仅跑得快还省油,拥有好的算法与数据结构,程序跑得快,还省内存并且长时间运行也不会出故障,就像跑车长时间运行车子也不会出现异常「车震」,同时还快。所以赶紧上车,一起学...
大家好我是佩奇
0回复
5819浏览
微服务
开发语言
update语句到 redo log深入理解
前面我们分析过一个查询语句的执行流程,并且解释了执行过程中涉及的模块。一条查询语句一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。这次,我们来深入学习一条更新语句在MySQL中的执行流程。通过此文我们可以充分了解什么是RedoLog表结构创建首先我们先创建一张表,只有主键ID,以及int类型字段c。createtableT(IDintprimarykey,cint);现在我们要更新一条数据,语句如下:updateTsetcc+1whereID2;...
大家好我是佩奇
0回复
5521浏览
框架语言
容器
8.栈实现浏览器的前进后退
栈实现浏览器的前进后退当你一次访问1、2、3页面之后,点击浏览器的后退按钮就可以返回到2和1.当后退到1,点击前进按钮还可以继续查看页面2、3。但是当你退到2页面,点击了新的页面4,那就无法继续通过前进、后退查看页面3了。「我们如何实现这个功能呢?」什么是栈「栈」我们都知道Java虚拟机JVM就有『本地方法栈』『虚拟机栈』的划分,每个方法执行的时候都会创建一个栈帧用于存放局部变量表、操作数栈、动态链接、方法出口信...
大家好我是佩奇
0回复
5474浏览
分布式数据库
微服务
Apache Druid 底层存储设计(列存储与全文检索)
导读:首先你将通过这篇文章了解到ApacheDruid底层的数据存储方式。其次将知道为什么ApacheDruid兼具数据仓库,全文检索和时间序列的特点。最后将学习到一种优雅的底层数据文件结构。今日格言:优秀的软件,从模仿开始的原创。了解过ApacheDruid或之前看过本系列前期文章的同学应该都知道Druid兼具数据仓库,全文检索和时间序列的能力。那么为什么其可以具有这些能力,Druid在实现这些能力时做了怎样的设计和努力?Druid的底层...
大家好我是佩奇
0回复
5367浏览
微服务
开发语言
Apache Druid 的集群设计与工作流程
导读:本文将描述ApacheDruid的基本集群架构,说明架构中各进程的作用。并从数据写入和数据查询两个角度来说明Druid架构的工作流程。Druid是多进程架构,每种进程类型都可以独立配置,独立扩展。这样可以为集群提供最大的灵活度。这种设计还提供了强失效容忍:一个失效的组件不会立即影响另外的组件。下面我们来深入了解Druid有哪些进程类型,每种进程又在整个集群中扮演什么角色。进程和服务(ProcessandServers)Druid有多种进...
大家好我是佩奇
0回复
5229浏览
开发语言
微服务
SQL语句在MySQL中是如何执行的
mysql>selectfromTwhereID10;开门见山,当我们输入一条SQL语句的时候,MySQL内部究竟执行了什么?直接上架构图,我们才能对其有一个概念,而不要陷入细节之中。架构架构概况大体上来说,MySQL可以分为Server层与存储引擎两个部分。1.Server层包括连接器、查询缓存、分析器、优化器、执行器。2.存储引擎负责数据的存储和读取,其架构模式是插件式的,支持支持InnoDB、MyISAM、Memory等多个存储引擎。现在最常用的存储引擎是InnoD...
大家好我是佩奇
0回复
5029浏览
分布式数据库
开发语言
框架语言
暂无内容
1
16
17
18
19
20
21
22
23
24
100
精选
客服
订阅鸿蒙技术特刊,精选内容抢先看
微信扫码关注,即刻订阅