首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么OpenFlow没有被广泛采用?

这是一些OpenFlow开发人员报告的在研发过程中遇到的可操作行与可扩展性问题: ❆ 标准不够完善 ☘ 有些硬件厂商无法修改数据包头,影响了他们在路由以及交换应用上的可用性 ☘ 其他的能修改L2的头...,无法修改L3的包头 ☘ 很多硬件实现在数据包匹配上有限制 - 匹配vlan 封装的vlan报文(QinQ),MPLS标签,甚至IPv6报文 ❆ 不一致的表访问与受限的接口管理 ☘ 一些用户报告OpenFlow1.0...的实现用了TCAM解决流表匹配会导致支持流的数量受限,而且无法广泛使用。...一般情况下,TCAM支持最多2K条流,但是L3或者Vlan表能够达到128K条(在受限的数据包头匹配情况下)。 ☘ 一些厂商不提供硬件上全部表的访问,并且强制控制器去对接他们私有的接口。...架构能够提供最大的灵活性以及最好的OpenFlow支持,但是最大总带宽只能达到300-600Gbps;采用ASIC架构能够达到1-3Tbps总带宽,但是提供有限的OpenFlow支持(尽管最新的ASIC芯片能够在达到1M路由表的情况下处理

1.3K60

毁誉参半的GATK,为什么没有被淘汰?

那么,为什么 GATK 在众多争议中依然屹立不倒呢?...今天,我们就来一探究竟,并探讨一下为什么其他流行的变异检测工具如 DeepVariant、VarScan 和 FreeBayes 也无法完全替代 GATK。...GATK 这么难用,为什么没有被淘汰? 尽管 GATK 存在一定的挑战,但它在变异检测方面的卓越性能以及丰富的功能和工具使得它仍然是生物信息学家的首选工具之一。...最后,不容忽视的一点是,DeepVariant 是基于二倍体的人类基因组数据训练的,其他物种需要重新训练才能达到最佳使用效果,这无疑增加了使用的难度。 为什么 VarScan 无法替代 GATK?...一键分析10X单细胞数据(点击图片跳转) 一键分析Bulk转录组数据(点击图片跳转)

30610
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    作为现代开发的基础,为什么 TDD 没有被广泛采用?

    作者 | Buttondown 译者 | Sambodhi 策划 | Tina 测试驱动开发 在 1999 年左右是最前沿的技术,也是现代开发的基础,但为什么直到现在还没有被广泛使用?  ...对于 TDD 没有广泛被应用的问题,GeePaw Hill 发了系列 推文 进行了探讨。他认为问题在于其支持者在组织方面的失败,他们推动得太猛,想将“TDD”转化为“测试很好”。...比如,设想一个工作器,可以从三条数据流中提取数据,把这些数据合并在一起,然后把他们上载到数据库。我要保证不会出现重度的数据,流的停顿能够得到优雅地处理,所有的数据最终都会合并,诸如此类。...为什么 TDD 还没有征服世界 今天真是大开眼界。测试驱动开发在 1999 年左右是最前沿的。它是现代开发的基础。我无法想象不使用它。...所以,在所有这些之后,我有了我的假设,即为什么 TDD 没有传播开来。老实说,这是一种相当反常的假设。极繁的 TDD 并不像极繁主义者所认为的那么重要。TDD 在方法组合中使用得更好。

    52730

    【DB笔试面试565】在Oracle中,为什么索引没有被使用?

    ♣ 题目部分 在Oracle中,为什么索引没有被使用? ♣ 答案部分 “为什么索引没有被使用”是一个涉及面较广的问题。有多种原因会导致索引不能被使用。...首要的原因就是统计信息不准,第二原因就是索引的选择度不高,使用索引比使用全表扫描效率更差。...一、快速检查 n 表上是否存在索引? n 索引是否应该被使用? 二、索引本身的问题 n 索引的索引列是否在WHERE条件中(Predicate List)?...n 在总体成本中,表扫描的成本是否占大部分? n 访问空索引并不意味着比访问有值的索引高效? n 参数设置是否正确? 四、其它问题 n 是否存在远程表(Remote Table)?

    1.2K20

    为什么 Java 线程没有 Running 状态?一下被问懵!

    我们可能会问,为何 JVM 中没有去区分这两种状态呢?...又或者是时间分片没有用完就被抢占,这时也是回到 ready 状态。...这一切换的过程称为线程的上下文切换(context switch),当然 cpu 不是简单地把线程踢开就完了,还需要把被相应的执行状态保存到内存中以便后续的恢复执行。...所以,解决办法就是:一旦线程中执行到 I/O 有关的代码,相应线程立马被切走,然后调度 ready 队列中另一个线程来运行。 这时执行了 I/O 的线程就不再运行,即所谓的被阻塞了。...处于 IO 阻塞,只是说 cpu 不执行线程了,但网卡可能还在监听呀,虽然可能暂时没有收到数据: 就好比前台或保安坐在他们的位置上,可能没有接待什么人,但你能说他们没在工作吗?

    45220

    【教程】truncate清空表数据,为什么数据库的空间还是和原来一样并没有释放|truncate table 空间没有释放|数据库释放表空间教程|

    前言 我们经常会被问到delete和truncate的区别,然后我们经常回答delete是删除表数据,truncate是清空表, 但是你有没有想过,当你用truncate清空表数据的时候,为什么数据库的空间还是和原来一样并没有释放...一、为什么truncate不会立即释放表空间 那是因为当使用truncate命令清空表数据时,数据库并不会立即释放空间。相反,它会将空间标记为可重用,以便在以后插入新数据时可以使用。...这是因为truncate命令是一种快速清空表数据的方法,它不会逐行删除数据,而是直接删除整个表的数据。因此,数据库并不会像使用delete命令一样逐行删除数据并释放空间。...如果您想要立即释放空间,可以使用alter table命令来重建表,或使用vacuum命令来清理数据库中的未使用空间。...打开数据库命令行或客户端工具。 2. 连接到要清理的数据库。 3. 在命令行或客户端工具中输入以下命令: VACUUM; 4. 执行命令后,数据库将开始清理未使用空间。

    1.1K00

    面试官问:数据库 delete 表数据,磁盘空间还是被一直占用,为什么?

    明明已经执行了delete,可表文件的大小却没减小,令人费解 项目中使用Mysql作为数据库,对于表来说,一般为表结构和表数据。表结构占用空间都是比较小的,一般都是表数据占用的空间。...当我们使用 delete删除数据时,确实删除了表中的数据记录,但查看表文件大小却没什么变化。...那怎么才能让表大小变小 DELETE只是将数据标识位删除,并没有整理数据文件,当插入新数据后,会再次使用这些被置为删除标识的记录空间,可以使用OPTIMIZE TABLE来回收未使用的空间,并整理数据文件的碎片...COPY:复制:使用一种临时表的方式,克隆出一个临时表,在临时表上执行DDL,然后再把数据导入到临时表中,在重命名等。这期间需要多出一倍的磁盘空间来支撑这样的 操作。执行期间,表不允许DML的操作。...LOCK选项 SHARE:共享锁,执行DDL的表可以读,但是不可以写。 NONE:没有任何限制,执行DDL的表可读可写。 EXCLUSIVE:排它锁,执行DDL的表不可以读,也不可以写。

    68710

    你有没有想过为什么交易和退款要拆开不同的表?

    前言 " 近期做新项目,在设计表结构的时候,突然想起来之前面试的时候遇到的一个问题,那时候也是初出茅庐,对很多东西一知半解(当然现在也是),当时那个小哥哥问我为什么交易和退款要拆成两个表?...因为之前一直做聚合支付,而在使用过程中,也是支付和退款表拆开的,一直这么用,并没有觉得不妥。...但是恰好那次那个小哥哥就问了这个问题,支付和退款为什么要分开记录? 当时也是确实是实力不允许,我只是说了就是这么用的,把正向流程和逆向流程拆开,分开实现逻辑,比较方便。...毕竟对出入账只是流水没有状态变化,比如出账中,入账中,等等,流水表完全可以记在一个里面,然后用字段进行标识是出账还是入账。...在订单成功的时候存储到一个公共存储中,可以通过 MQ 等,将数据保送到另一张表/库,或者 ES 中用来存储。这样订单查询还可以和业务逻辑的表/库分开。

    1.2K20

    我让数据库锁表!差点被开除!

    前段时间阿粉在公司开发的时候,不慎导致了数据库产生了锁表的操作,因为阿粉之前从来没有遇到过,之前只是了解过一点,所以导致了锁表,于是阿粉为了解决问题,研究了一下这一部分的内容,于是决定把这一块的知识分享给大家...数据库锁定机制 话说如果你只是单纯的说 "锁表",总是让人感觉有点 Low ,而我们就直接换个比较高大上一点的名词,锁定机制!...为了保证数据的完整,也就是他的一致性和有效性,所以才会让数据库出现了锁定机制,相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。...说明了一件事:只有通过索引条件检索数据时,InnoDB 才使用行锁,否则使用表锁。 是不是感觉很诧异,但是事实上就是这样的。...insert、update、delete 这些操作的并发操作上,当我们使用多个数据库连接的时候,同时对一个表中的数据进行更新的操作的时候,那么速度就会对应的变慢,如果持续一段时间之后,那么就会出现锁表的现象了

    35310

    大数据时代:为什么80%以上数据中心被闲置?

    再过了三年,当第二个大型数据中心即将投入使用之时,该银行表示已经着手开始第三个数据中心的选址。 上面这个故事真实反映了国内企业在数据量飙升的时代对于数据中心的需求。...而到了2014年,数据中心建设的高涨热情突然被泼了一瓢冷水,这期间尤以设备厂商感觉最为明显——市场环境变差了。...由于初期数据中心建设的规划不统一,2013年以前国内的数据中心中90%为小型数据中心。而海量数据的产生,数据中心的规模会越来越大,中型和大型的数据中心市场未来会有非常大的增长。...和美国的情况类似,中国的数据中心也被能耗严重制约。...仍有一半以上的数据中心设计PUE没有达到1.5的规划要求,特别是中小型数据中心在绿色节能方面差距较大,同时数量庞大的老旧数据中心改造任务也颇为艰巨。

    3.3K80

    从崩溃的选课系统,论为什么更安全的 HTTPS 协议没有被全面采用

    本文会先解释 HTTP 为什么是不安全的,然后讲解 HTTPS 为了保证 Web 的安全提供了哪些手段,最后再揭晓谜底,为什么更安全的 HTTPS 协议在互联网上没有被全面采用。 1....2)服务器返回的 HTTP 响应报文可能也并没有被正确的客户端所接收,可能是已伪装的客户端 ?...显然,如果通信双方都各自持有同一个密钥,且没有别人知道,则两方的通信安全是可以被保证的(除非密钥被破解)。 那么,最大的问题就是如何保证这个密钥的安全传输,不被外部攻击者知道。...为什么 HTTPS 没有被全面采用 回到文章标题,既然 HTTPS 安全可靠,那为什么不所有的 Web 网站都使用 HTTPS 呢?...看到这里,不知道大家能不能够理解为什么基本上所有学校的选课系统全是 HTTP 了: 首先,大部分选课系统基本都需要校园网或者 VPN 才能够登录,不需要考虑被外界攻击或者信息泄露问题 其次,即便使用的是

    74020

    数据库为什么都设计为单表

    为什么全为单表设计 数据库的表格设计最好都为单表 理由 1、单表查询更利于后续的维护。...2、代码可复用性高 这个不用多说,join联表的SQL,基本不太可能被复用,但是拆分后的单表查询,比如上面例子中,我查询出tab数据,任何地方组装需要tab数据,我都不需要再次做相关查询,直接使用。...相比而言,拆分成单表查询+代码上组装,业务逻辑更清晰,优化更方便,单个表的索引设计上也更简单。用多几行代码,多几次数据库查询换取这些优点,还是很值得的。...5、缓存利用率更高 比如上面查询中的tag是不常变动的数据,缓存下来,每次查询就可以跳过第一条查询语句。而关联查询,任何一张表的数据变动都会引起缓存结果的失效,缓存利用率不会很高。...在后续数据量上去,需要分库分表时,Join查询更不利于分库分表,目前MySQL的分布式中间件,跨库join表现不良。

    4400

    数据库表设计太劣质,被领导疯狂diss

    在大家开发的时候,很多时候不是说,有人告诉你已经完全的设计好数据库了,也没有专门的人去管理数据库表设计这块的内容,而阿粉的朋友就是这么悲催,接手了公司一个同事的一个比较重要的功能,而阿粉的朋友也没有重新进行设计...一个SQL查询,关联那么多的表,效率能高到哪里去呢? 学会通过需求来进行定制 大家还记得阿粉之前写过的用UUID生成主键,被diss么?...使用uuid作为数据库主键,被技术总监怼了一顿!...但是它提高了业务响应的时间,现在为什么有些中间件的存在,就是因为随着公司业务的拓展,数据量的增多,有时候一个表中的数据超过百万,甚至千万,当你写一个NOT IN 的时候,你就会发现,一秒,两秒,三秒.....,一般很多都是刚入行不久的年轻人,对字段设计没有什么概念的。

    28320

    为什么你创建的数据库索引没有生效?

    从最好到最差的连接类型为:const、eq_reg、ref、range、indexhe和ALL; possible_keys:显示可能应用在这张表中的索引。如果为空,没有可能的索引。...在不损失精确性的情况下,长度越短越好; ref:显示索引的哪一列被使用了,如果可能的话,是一个常数; rows:MySQL认为必须检查的用来返回请求数据的行数; Extra:关于MySQL如何解析查询的额外信息...2、尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,即使其中有条件带索引也不会使用,这也是为什么尽量少用 or 的原因; ?...(重复数据较多的列) 假如索引列TYPE有5个键值,如果有1万条数据,那么 WHERE TYPE = 1将访问表中的2000个数据块。...再加上访问索引块,一共要访问大于200个的数据块。如果全表扫描,假设10条数据一个数据块,那么只需访问1000个数据块,既然全表扫描访问的数据块少一些,肯定就不会利用索引了。

    1.8K10

    为什么说大数据的发展值得被加倍重视?

    而随着大数据应用技术的不断深入和发展,其发展前景也被越来越来的人看好。可以说,未来的大数据不论是企业还是个人都值得倍加重视。...和以往技术的更新迭代相比,大数据的出现更像是一个巨大的“集合”,而大数据所带来的影响力也已经遍布了各行各业,毕竟无论从哪个行业来说没有什么是能够脱离数据的。...二、大数据驱动企业发展 伴随着大数据在行业中影响力的不断加大,各个行业的企业与大数据对接已经是一个必然的趋势。...从Facebook的数据泄露,到万豪酒店数据泄露,如今戴尔也被波及。...数据的价值体现的越明显,大数据技术的越强大,相对应的数据安全就越重要,无论是企业和个人,在数据时代如何保障自己的数据安全,已经成为一个严重的问题,所以,在未来的发展中,大数据的安全问题必将是一个需要重点攻克的难题

    37020

    故障分析 | 数据库表空间被 rm 后,怎么处理

    ---- 背景介绍 客户生产环境由于运维人员误操作,将 MySQL 数据库中,某个业务表 ibd 文件给 rm 掉了。由于历史原因该环境没有可用从库。针对这种情况,我们怎么处理呢?...情景复现 在单实例中,将表 sbtest1 的数据文件 rm 删掉后,观测数据库的运行状态【文件恢复前不要重启 mysql 】。...前提条件 准备数据库与测试表数据 创建一个 MySQL-5.7.28 的单实例数据库,并用 sysbench 准备1张100w的测试表。...可以看到当 sbtest1.ibd 文件被 rm 掉后,针对该表的增删改查操作还是能够正常进行,且 mysql-error.log 中没有任何报错。...在进行cp之前,要确保该表数据变更已经落盘,且没有新的操作。

    75940

    突发状况,数据库表被锁,抓瞎了?

    背景 在程序员的职业生涯中,总会遇到数据库表被锁的情况,前些天就又撞见一次。由于业务突发需求,各个部门都在批量操作、导出数据,而数据库又未做读写分离,结果就是:数据库的某张表被锁了!...用户反馈系统部分功能无法使用,紧急排查,定位是数据库表被锁,然后进行紧急处理。这篇文章给大家讲讲遇到类似紧急状况的排查及解决过程,建议点赞收藏,以备不时之需。...解决方案 想象一个场景,当然也是软件工程师职业生涯中会遇到的一种场景:原本运行正常的程序,某一天突然数据库的表被锁了,业务无法正常运转,那么我们该如何快速定位是哪个事务锁了表,如何结束对应的事物?...重启是可以解决表被锁的问题的,但针对线上业务很显然不太具有可行性。 下面来看看不用跑路的解决方案: 第一步:查看表使用 遇到数据库阻塞问题,首先要查询一下表是否在使用。...第二步:查看进程 查看数据库当前的进程,看看是否有慢SQL或被阻塞的线程。

    1.2K10
    领券