分布式存储的七方面问题

一文看懂分布式存储架构 目录一、集中存储结构二、分布式存储1 、分布式存储的兴起2 、分布式存储的重要性3 、分布式存储的种类和比较三、分布式理论浅析1 、一致性和可用性2 、数据分布3 、复制4 、分布式协议5、跨机房部署四、分布式文件系统1、 Google 文件系统( GFS )2、 Taobao 文件系统( TFS )3、 Fackbook Haystack 文件系统4、 CDN 内容分发网络五、分布式键值系统1、 Amazon Dynamo2、 Taobao Tiar3、 ETCD4 、产品选型比较( Etcd , Zoo 阅读详情

点击上方“芋道源码”,选择“设为星标”

管她前浪,还是后浪?

能浪的浪,才是好浪!

每天 10:33 更新文章,每天掉亿点点头发...

源码精品专栏

 

来源:zhuanlan.zhihu.com/

p/369581725

284875eb2b8708ad3e60bc757204bfb5.jpeg


动机

为什么是7方面的问题?虽说7面只比6面多了一面,又比8面少了1面;然而并非刻意为之。存储领域内的很多知识,可以归结于7个方面:复制、存储引擎、事务、分析、多核、计算和编译。

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro

  • 视频教程:https://doc.iocoder.cn/video/

分布式存储

什么是分布式存储呢?如果一个存储系统,不管是对象、块、文件、kv、log、olap、oltp,只要对所管理的数据做了Partitioning&Replication,不管姿势对不对,其实都可以归纳于分布式存储。分布式存储就是:Partitioning以多机scale,Replication以灾备容错。

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/yudao-cloud

  • 视频教程:https://doc.iocoder.cn/video/

1. 复制

复制是解决可用性,可扩展性和高性能的关键。为了灾备,数据需要冗余存储;为了高可用,服务需要hot standby。缺乏灾备的系统难以在生产环境使用。元数据和数据的维护均离不开复制,复制可转移而不可消除。复制引出了多副本一致性问题,而一致性保证需要考虑各种软件和硬件故障,以及误操作。共识算法和复制日志是解决复制问题的核心,具体涉及:

  1. 故障检查,租约协议;

  2. 选主算法,primary uniqueness invariant,网络隔离,脑裂,双主,拜占庭故障,failfast/failstop,failover;

  3. 日志复制,RSM;

  4. membership change,或者config change,主机上下线管理,扩缩容;

  5. 数据复制,data rebalancing,data recovery;

  6. 副本放置逻辑和副本路由逻辑;

  7. primary和backup之间如何fence?

  8. 外部一致性,线性一致性;

  9. pipeline,fanout,primary-backup,quorum-based,gossip;

  10. 分布式日志,active-standby架构,active-active架构;

  11. ……

2. 存储引擎

此处的引擎是指本地的持久化存储引擎,持久化存储引擎要考虑CPU和memory系统和持久化设备之间的速度和带宽差异,可以总结为1-3-5。

1-3-5

  • 1是指fsync的调用,以及和fsync地位等同的函数的调用。调用次数,调用频率,在多少数据上施加调用等。设备的带宽和利用率是否合理,fsync的调用怎么均摊到更多io次数和吞吐之上呢?

  • 3是指读/写/空间的放大。怎么tradeoff,牺牲一个保住其他两个呢?

  • 5是指WAL的5个LSN,分别为prepare point,commit point,apply point,checkpoint,prune point。

    • 处于prepare point和commit point之间的数据需要group commit;

  • 处于apply point和commit point点之间的提交数据需要apply到内存的数据结构之上以后对读可见;

  • 内存数据结构需要以一定的调度策略存档于持久化设备, checkpoint就是存档点;

  • recover from crash需要从最近的checkpoint点恢复到commit point;

  • 而一段checkpoint完成,则截止该checkpoint的日志可以截断,因此存在一个不大于checkpoint的点,是为prune point,截止改点的日志和老的on-disk镜像可以安全删除。

  • 因此这5个点始终保持一条约束:它们之间存在全序关系。

数据结构和算法

内存和磁盘数据的管理,需要用到丰富的数据结构和算法。此外解压缩和编解码算法用于降低数据的size,也很有意思。

3. 事务

事务是指ACID,很多存储系统,其实可以用事务做baseline进行分析,看这个系统在原子性,一致性,隔离性和持久化四个方面的设计究竟走多远。其实事务反应了正确性和并发性的折中。作为事务的使用方,理论上(实践上未必),并发访问存储系统时,不需要担心结果不正确的问题。假如这种担忧存在,一定是事务处理上,牺牲了某些正确性,偏向了并发性,将错误处理和选择权交给了使用方处理,使用方需要额外花费心智在客户代码中插入fence代码和做容错处理。

存储引擎部分,其实已经或多或少地涉及到了事务处理的提交协议,提交协议主要解决事务的A和D。事务处理的核心是并发控制(concurrency control)协议。并发控制主要解决这样的问题:

  • 两个并发事务冲突(读写,写读,写写),应该怎么处理呢?加锁等待还是检测到冲突主动夭折呢?

  • 已经提交的事务对数据库的影响,怎么对当前outstanding事务的读操作可见呢?

这两个问题本质是隔离性和一致性,冲突事务加以同步,前置的提交事务对后置outstanding事务可见。

理想的正确性是这样子的:所有的事务,不管是否存在冲突,都一个一个串行执行,时间上没有任何重叠。理想的并发性是这样子的:所有事务都没有冲突,可以以最佳的并行度同时执行。但现实是冲突始终存在,解决冲突,意味着在并行执行的某个环节插入了同步点,需要判断和仲裁是否有冲突。

冲突等待,是lock-based CC协议;冲突夭折重试,是timestamp ordering CC协议。前者就是所谓的悲观事务,后者则为乐观事务。事务处理在Jim Gray的书中和知名教材里其实已经讲得很清楚了。这里只提一下乐观事务的冲突检查的直观性的简单的理解:两个事务存在两种定序方法,一种是由TSO分配的时间戳确定的顺序,一种是由数据依赖(WAW,RAW,WAR)确定顺序。如果这两种顺序破坏事务之间的偏序关系,那么这两个事务必然冲突,可以选择让一个事务夭折并且重试。

定序是一个比较关键的问题,比如乐观事务的begin和commit的时间戳分配,悲观事务的基于时间戳的死锁预防也会用到时间戳的分配。

存储系统自身做了partitioning之后,单个partition的事务处理可下沉于本地存储引擎,然而如果一个操作涉及对多个partition的修改,则需要考虑跨partition的事务处理能力。其实分布式事务并没有一个清晰的定义,但蕴含了“跨(across)”的意思,不管是提交协议还是CC协议,都依赖于分布式存储系统的实现或者单机事务的实现。虽然有很多文献中反复用到2PC和3PC,但有时候是指提交协议,有时候是指CC协议,有时候是指提交协议和CC协议的混合体。

事务给存储系统的行为做出了明确的定义和保证,从事务的角度可推测系统的实现,比如加锁的粒度,多版本的管理,全局同步点,怎么处理write-too-late问题。

4. 分析

分析处理涵盖的东西太多了。从一个角度看,是怎么实现SQL语言;从另一个角度看,是怎么实现一个分布式系统由SQL驱动起来工作。一条文本的SQL语句,历经分词,语法分析,访问catalog和语意分析,关系代数的等价变化,形成逻辑的查询计划,然后根据数据的分布,算子自身特点和计算资源状况,生成物理执行计划。

一条SQL可以对应多个逻辑执行计划,一个逻辑执行计划,对应多个物理执行计划。比如join的顺序,join的算子的实现。谓词过滤时谓词的顺序,谓词是否下沉。一个关系代数的算子,有多种的不同实现算法,而多个关系算子,不同的计算顺序也会有不同的执行效率。根据先验知识,使用启发式的策略;或者利用数据分布的统计信息,采用某种cost估算模型;又或者根据已有执行经验,自适应地调整到最优或者次优的执行计划。

在计算层,通过三大优化策略parallelism,pipelining和batch加速处理。比如数据经过parititioning形成多个partition,放置于多机上,采用MPP的方式,做多机的并行处理。计算的过程可以看成是把关系作为输入,流经执行树的叶子节点,汇聚于根节点,每个节点的对应算子的具体算法实现所输入数据进行处理后输出。从计算模型的角度看,有这么几种情况:

  • tuple-at-a-time:采用了迭代器的模式,当前迭代器执行get_next时,调用child算子对应迭代器的get_next获取计算所需的输入tuple,然后执行一段计算代码,产生一个输出tuple,发射parent算子。

  • full materialization:每个算子接收到全部的输入数据,计算出输出结果,交给下一个算子计算。这种方式类似于批处理。

  • vectorized execution:数据在内存中按列存储,以数组表示。选择数组的大小,让其可以在L1 data cache中装得下,然后执行树的每个算子执行tight for-loop按数组处理数据。这样即避免了full materialization过多的资源索取,又能避免tuple-at-a-time的处理单个tuple的overhead,同时对cache更加友好,减少spurious invalidation,提升speculative cache missing的产生。同时简单tight for-loop,编译器能更好点编译成高效执行指令,同时也能更好地填充CPU的指令流水,充分利用CPU的multiple issue的功能加速简单指令的处理。

在存储层,数据采用列式存储,可获得很好的编码效率,降低读放大和空间放大,访问持久化存储的带宽被高效利用,CPU和Memory的带宽增速相对于持久化存储带宽增速表现出了显著的差异,使用CPU的计算交换磁盘带宽,提升了数据的处理能力。

列存,向量化执行引擎,MPP是现代分析性数据库的关键技术。

5. 多核

从编程实现的角度看,多核scale,CC协议,共识算法是计算机中比较有挑战,并且是纯自然的问题。即便技术上不深入接触数据库,也对这三个问题相当地痴迷,被数据库技术的吸引加入这个领域,或多或少和这三个问题相关。

为什么多核如此重要呢?

假设摩尔定律,没有功率墙的限制,世界会怎样呢?显然我们不需要修改老代码,只要增加单核晶体管数量,老代码自然而然会提升。我们撞到了功率墙后,发现需要增加核数以提升计算速度。现在问题来了,我们的代码已经写成了多线程执行,那么随着核数增长,修改worker线程池的大小,老代码的计算能力会随着核数增加而持续增加吗?显然不是这样,因为多核上的scale受到阿姆达尔定律的制约,当代码中串行执行的部分占比1%时,256核机器只能最多加速到72倍,如果是10%,只能最多加速到10倍。显然修改线程池的大小,并不是一个好方法,减少代码中contention才是关键。

这种情况下,speedup想要随着核数而scale,发现很多算法,数据结构,CC协议和分析处理的算子实现,需要case-by-case重构以减少contention,重构方式是采用lockfree算法。但是这还不是事实的全部,当面对多核scale时,其实我们面对的是一个新的分布式系统,这个新的分布式系统是以interconnect为网络,以核为计算资源,并且还需要考虑屏蔽内存体系的延迟。如果说原来的分布式系统中,我们倾向于每个机器各干各的,数据做到均衡,计算资源就可以充分利用。对于多核编程同样有这个问题,怎么将原来的任务均匀地拆成多个子任务,然后多个子任务可以齐头并进,几乎同时冲线结束。显然数据拆分不均衡,跨核通信等因素都会造成快核等慢核的问题。同时,多核处理时,倾向于协作完成一个共同的任务,而非各干各的,这种情况下,将任务均匀拆分成子任务的的调度代码,共享的数据结构的访问代码,多核彼此之间等待本身就是同步点,即contention,总之,contention怎么降低呢?

现实中,lockfree算法,怎么描述和验证正确性呢?我们对比其他两个问题的思路,或许有解法。比如共识算法中,采用invariant描述算法;而CC协议中,采用反例(anormaly)攻击算法。或许这两种方法相互结合,能够帮助我们研究lockfree算法。

多核scale的挑战性很大,但这可以让具有优势的传统数据库和数据库的新进入者,处于赛道的同一起跑线,比拼谁的代码case-by-case优化做得好。

也有不少团队,在思考异构计算加速数据处理,这同样充满机会。但是,依靠程序员的心智构造精巧而高质量的代码,费时费力。或许的确应该通过编译器的后端技术一劳永逸解决这类问题,现在做不到,不代表未来也做不到。到时候,有人看着前人写得如此复杂的代码,就好比我们现在看到泥板书和带孔的卡片。

6. 计算

计算主要讲执行引擎, 执行引擎是一个很大的scope,目前roadmap已经建立,但是缺乏baseline,待两者都ready之后,会补充。

7. 编译

编译对数据库的渗透是全方位的:比如计算引擎在向量化之外可采用编译技术优化性能。数据库中很多case-by-case的性能优化,需要深入研究体系结构,异构计算加速处理也需要使用编译技术。流批DSL脚本使用现有的SQL执行引擎做计算,UDF扩充等。目前动机已经明了,但roadmap和baseline尚未建立,两者ready之后,也会补充进来。



欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢:

9b74a786a9080e53377e02a44dc2018a.png

已在知识星球更新源码解析如下:

04978867791c7ca26b448e5ef337f7bd.jpeg

0b60953c075ab8c3b100617a8f7737bd.jpeg

d61a230a03e610a95a47a67efb9285c3.jpeg

c2c555f2ac44905bcf9822d3ae494a4a.jpeg

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 101 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。

提供近 3W 行代码的 SpringBoot 示例,以及超 4W 行代码的电商微服务项目。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
世界500强是如何解决千亿流量留存问题的,《Ceph分布式存储架构》-使用CentOS 7部署 Ceph分布式存储架构-为他们解决什么问题。 注:元数据:保存了子目录和子文件的名称 及inode编号的数据,通过元数据,可以找到对应的真实的数据,及真实数据所在的服务器。有点像字典前面的索引或yum源的缓存 阅读详情

相关推荐

分布式存储概述

分布式存储是相对于单机存储而言,之所以要分布自然是因为互联网时代信息数据大爆炸,单机已经难以满足大型应用的数据存储需求。存储系统的关注点关于存储系统,一般我们关注下面几个方面: 数据分布与负载均衡 数据存储的可靠性与一致性 数据访问性能 系统容错能力 系统扩展能力 在单机存储系统中有一种独立磁盘冗余阵列(RAID,redundant array of independent

瞬息之间 1万+

分布式存储ceph部署

RADOS 基础存储系统。

zx52306的博客 2822

分布式存储问题及解决方案

分布式存储存在的问题 分布式存储一般情况下都是靠“副本”来确保数据的安全性和完整性。每块盘记录的数据内容都不一样,当某一块盘出现问题,都需要从其他不同盘内的数据块中进行快速的数据重构。 数据重构是需要时间的,如果大量盘同时故障,将会发生什么?另外,OSD的扩容,也会导致数据的迁移,也会影响存储。 分布式存储一般都采用副本的方式来确保数据的安全性。写入磁盘前不需要进行额外复杂的计算,就可以将数据写入磁盘,是最快速的方式。是一种空间换时间的方法,即想得到较好的存储性能,就采用副本的方式。 当有副本出现丢

neo949332116的博客 4502

分布式存储的架构以及存在的问题和解决办法2

今天我们继续来讲讲关于Raid和副本、分布式存储的架构以及存在的问题和解决办法,即下面四至七部分的内容: 一、存储类型 二、文件系统 三、存储介质 四、Raid和副本 五、分布式存储的架构 六、分布式存储存在的问题 七、解决的方法 四、Raid和副本 把磁盘们相同偏移量的一块空间横向进行分割,组成一条逻辑上存储空间。 数据是先写满一条条带,再写下一条条带。一个卷可以有很多条条带组成。条带的划分应该的磁盘配置初级就完成。条带包含扇区(或块)的个数叫条带长度;每个磁盘内包含属于这个...

neo949332116的博客 6476

【分布式技术】分布式存储ceph部署

●DAS(直接附加存储,是直接接到计算机的主板总线上去的存储)IDE、SATA、SCSI、SAS、USB 接口的磁盘所谓接口就是一种存储设备驱动下的磁盘设备,提供块级别的存储●NAS(网络附加存储,是通过网络附加到当前主机文件系统之上的存储)NFS、CIFS(samba可以实现跨系统的文件共享)、FTP文件系统级别的存储,本身就是一个做好的文件系统,通过nfs接口在用户空间输出后,客户端基于内核模块与远程主机进行网络通信。

liu_xueyin的博客 1767

IPFS分布式存储如何解决数据安全问题。

作为互联网社会,我们生活中的衣食住行、言行轨迹、学习工作等等都离不开互联网和数据信息,并且随着数据的日益增多,我们正准备去享受这种方便和高效的数字化生活的时候,突然发现一个令人恐怖的事情,我们每天的行程,饮食,私人信息等等在这些企业面前都像没穿衣服一样的透明人,这些数据被任意使用甚至被交易,他们甚至比我们自己还了解我们,比如当我们浏览了一些房子的信息后,未来几天总是收到大量的房屋出售的电话。 其实在这些互联网应用公司,比如“美团”、“淘宝”、“京东”等平台收集消费者信息后,后期利用大数据杀熟, 违规收集和

VX_XJLMMY的博客 1462

Ceph分布式存储部署

存储机制会把数据分散存储到多个节点上,具有高扩展性、高性能、高可用性等优点。Ceph目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack,Kubernetes都可与Ceph整合以支持虚拟机镜像的后端存储。粗略估计,我国70%—80%的云平台都将Ceph作为底层的存储平台,由此可见Ceph俨然成为了开源云平台的标配。目前国内使用Ceph搭建分布式存储系统较为成功的企业有华为、阿里、中兴、华三、浪潮、中国移动、网易、乐视、360、星辰天合存储、杉岩数据等。

2301_76352247的博客 2516

FreeVM分布式存储的创建和使用

FreeVM系统,分布式存储的创建和使用

mwmbfh的博客 1452

分布式存储

很多人可能对分布式存储耳熟能详,但是,大多数人对其概念或者知识点却了解得都过于分散,看了很多却“只见树木,不见森林”,学了很多往往只能“知其然,却不能知其所以然”。因此,有必要对分布式存储的概念、问题和矛盾进行一下分析和解读。为什么需要分布式存储?很多人可能从来没有考虑过这个问题,为什么需要分布式存储?实际上,使用分布式存储是“被迫”的,因为随着互联网的飞速发展、应用越来越丰富、用户数量越来越多、数据也成几何级增长,海量数据的存储给本地存储带了巨大压力,存储系统已经不堪重负,处于崩溃的边缘,因此,必须通过其

Dusttang的博客 1521

基于Java的高校学生信息管理系统的设计与实现(论文+源码)

可以对本系统的数据进行良好的封装,Java可以对不想被访问的数据进行良好的隐藏,具备平台无关性,可移植,更加可靠与安全,具备多线程支持,进行网络交互更容易。它支持本系统的B/S模式。开发效益方面,本系统一旦开发成功并且面向社会,就会让大多数的学生教师体会到便利办公的乐趣,随之促进提高本系统的使用率和经济利润,所以在经济方面,对于零成本开发且高利润的学生管理系统是可行的。学生可以在学生端进行选课,查看自己的成绩,教师可以在教师端查看所任课程的选课情况,对学生成绩进行录入,对所任的课程进行结课等操作。

2402_82389843的博客 1094

医学图像中的小目标病灶检测难题:我的硕士研究总结与思考

医学图像中的小目标检测和分割,主要指在CT、MRI、超声等医学影像中识别和分割微小病灶或细小结构。这些小目标通常体积小、边界模糊、特征不明显,却往往是关键病灶,例如肺部小结节、脑微出血、乳腺微钙化等。

weixin_45638136的博客 2370

有关分布式存储的三个基本问题

1.对于一套分布式存储的方案,怎样评估它是好还是不好? (1)评价一个存储方案好和不好,只有一个客观的标准,那就是是否能满足用户的需求。 从青云的角度来说,有以下几点是用户需要的: (1)运行或在线系统需要高性能。 这个不用多说,用户的业务数据几乎都会存储在数据库里面,没有一个用户会觉得数据库性能不重要 (2)离线或备份数据需要高容量,低价格。 这部分数据通常量很大,但是对性能要求不高,对不经常...

喜欢打篮球的普通人 627

VL53L1X vs VL53L0X:激光测距传感器选型指南与性能对比

本文深入对比了VL53L1X与VL53L0X两款激光测距传感器的核心差异。VL53L1X采用区域ToF原理,在抗环境光干扰、最大测距及多目标识别方面优势显著,尤其适合复杂光线与动态场景。文章结合机器人避障、无人机定高等实战场景,提供了清晰的选型决策树,帮助工程师根据测距需求、环境复杂度与系统成本做出最优选择。

weixin_29197699的博客 395

分布式存储第二章

上篇中我们讲了关于分布式存储的知识结构的前三部分内容,存储类型、文件系统、存储介质等,可点击下面的链接查看: 关于分布式存储,这是你应该知道的(图文详解) 今天我们继续来讲讲关于Raid和副本、分布式存储的架构以及存在的问题和解决办法,即下面四至七部分的内容: 一、存储类型 二、文件系统 三、存储介质 四、Raid和副本 五、分布式存储的架构 六、分布式存储存在的问题 七、解决的方法 四、Raid和副本 把磁盘们相同偏移量的一块空间横向进行分割,组成一条逻辑上存储空间。 数据

jj1130050965的博客 2606

【吐血整理-历时两个月,长达万字】FDTD Solutions学习笔记

原教学视频来自于Ansys-Lumerical官方的FDTD100,所看视频来自B站大佬UP主 【Nestor_呐等】 的幸苦翻译,本文内容粘贴自我个人在学习FDTD100时,通过字幕和一些个人理解总结的一份word。整理不易,强烈建议收藏!...

weixin_45719141的博客 10万+

Vc出现不能连接到一个或多个 vCenter server 系统:http://vcenter-vx.utibet.edu.cn:443/sdk

问题描述: 解决办法: esxi6.7的bug 第一种通过升级系统来解决问题 第二种是通过删除数据来解决 第一步:进入到esxi的shell 第二步查看其中的服务开启状态 第二步 df -h 第三步 /opt/vmware/vpostgres/current/bin/psql -d VCDB -U postgres 第四步 SELECT nspname || '.' || relname AS "relation", pg_size_pretty(pg_total_relation_size(C.oi

m0_49328536的博客 9901

集中式存储与分布式存储

SCSI接口 小型计算机系统接口:就是计算机主机内部设备之间(硬盘、软驱、光驱、打印机、扫描仪等)系统级接口的独立处理器标准。 iSCSI接口 Internet小型计算机系统接口。iSCSI 就是用广域网仿真了一个常用的高性能本地存储总线。 FC(光纤通道,Fiber Channel) 这种网络和以太网的区别就是:它用的是价格昂贵的光纤交换机,连接接口使用SCSI而不是IP协议。 集中式存储 三种:DAS,NAS,SAN 区别: DAS里,操作系统,文件系统,存储是一个整体,类似于个人PC电脑。 NAS里

Charles Ren's Tech Blog 1万+

Windows上搭建OpenHarmony星闪开发环境:HiSpark Studio全流程指南

嵌入式开发中,环境搭建是项目启动的关键步骤。OpenHarmony作为开源操作系统,其构建体系依赖Python脚本和GN/Ninja工具链,对版本兼容性要求严格。星闪(NearLink)技术作为新一代短距无线通信方案,在时延、并发和抗干扰方面优势显著,广泛应用于智能家居、工业控制等场景。在Windows平台上,通过HiSpark Studio集成开发工具,开发者可高效完成代码编辑、编译、烧录与调试。然而,Python版本冲突、环境变量配置、驱动签名等问题常导致搭建失败。本文详细拆解从系统准备到编译验证的全流

weixin_32658257的博客 346

关于分布式存储

分布式存储存在的风险,其实就是因为“共享”、“大数据量”、“高性能”和X86服务器+廉价的磁盘为载体之间的矛盾所产生的,不是有些读者说的“数据架构”的问题。其实任何存储都存在这个问题,只是分布式存储更严重。 本文其实是从主机的网络、磁盘的吞吐角度分析存在的风险,所以和用那个厂家的存储无关。 还有人说你是危言耸听,如果按照你说的,这么多人用了分布式存储有这样的地雷岂不是要炸飞?软件定义的

mayonglong的博客 2516

OpenCV-Python图形图像处理:自用的一些工具函数源代码

本文为《OpenCV-Python图形图像处理:博主自用的一些工具函数功能及调用语法介绍》内容配套函数的源代码。

老猿Python 2495

GPU:NVIDIA GPU的发展历史,nvidia-smi的简介、安装、使用方法之详细攻略

GPU:NVIDIA GPU的发展历史,nvidia-smi的简介、安装、使用方法之详细攻略 目录 NVIDIA GPU的发展历史 nvidia-smi的简介 1、nvidia-smi是nvidia 的系统管理界面解释相关参数含义 2、NVIDIA系统管理接口——v388.73 3、支持产品: nvidia-smi的安装 nvidia-smi的使用方法 1、列出所有可用的 NVIDIA 设备命令 2、nvidia-smi的基础命令用法 NVIDIA GPU的发展历

头部AI社区如有邀博主AI主题演讲请私信—心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,专注,谦虚,自律,反思,成长,还算比较正能量的博主,公益免费传播…内心特别想在AI界做出一些可以推进历史进程影响力的技术(兴趣使然,有点小情怀,也有点使命感呀 1万+

大数据领域分布式存储的常见问题及解决方案

本文章的主要目的是系统地分析大数据领域分布式存储过程中遇到的常见问题,并针对这些问题提出切实可行的解决方案。范围涵盖了分布式存储的各个方面,包括数据一致性、可靠性、性能、安全等,旨在为大数据从业者、研究人员以及对分布式存储感兴趣的读者提供深入的技术解读和实践指导。本文首先介绍分布式存储的核心概念和相关联系,包括其原理和架构。接着详细阐述核心算法原理和具体操作步骤,并用Python代码进行说明。然后引入数学模型和公式,通过举例进一步讲解。之后通过项目实战案例,展示代码的实际应用和详细解读。

专注搜索引擎技术 770

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

上一篇: DDD的精髓
下一篇: 只会 CRUD?滴滴这 DDD 架构建设方案太强了!支持 iOS/Android/网页多种终端
公众号-芋道源码
博客等级 码龄10年 1634粉丝 377原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值