oracle 12.2 启用分片,关于Oracle Sharding,你想知道的都在这里

编辑手记:随着Oracle12.2的发布,Sharding技术也逐渐变得越来越强大,关于Sharding,你所关心的问题的答案,可能都在这里。

注:本文来自Oracle FAQ文档翻译

相关阅读:什么是Oracle Sharding

Oracle Sharding是为OLTP应用程序定制设计的一种可扩展、支持高可用功能的架构,能够在不具有共享硬件或软件的Oracle数据库池中分发和复制数据。 数据库池作为单个逻辑数据库呈现给应用程序,应用程序通过在池中添加额外的数据库(分片),可以在任何平台上弹性扩展(数据,事务和用户)到任何级别, 使用Oracle数据库12.2.0.1的第一个版本支持扩展到1000个分片。1、Oracle Sharding 的优势

与使用类似的可伸缩性方法的本地部署相比,Oracle Sharding提供了卓越的运行时性能和更简单的生命周期管理;还提供了企业DBMS的优势,包括:关系模式,SQL和其他编程接口,支持复杂数据类型,在线模式更改,多核可扩展性,高级安全性,压缩,高可用性,ACID属性,一致性 阅读,使用JSON的开发人员敏捷性等等。

Oracle分片使用水平分区在分片之间分布数据,通过分片分割数据库表,以便每个分片包含具有相同列但行的不同子集的表。从数据库管理员的角度来看,SDB由可以集中或单独管理的多个数据库组成。

从应用程序开发人员的角度来看,SDB看起来像一个单一的数据库:分片的数量和跨越它们的数据的分布对数据库应用程序是完全透明的。 应用程序发出的SQL语句不引用分片,也不取决于分片数及其配置。2、Oracle Sharding 架构设计上的考虑

OLTP应用程序必须明确地为Sharding架构设计,以便实现可扩展性和可用性的好处。 这不同于基于Oracle RAC的HA架构,RAC中可扩展性和可用性对应用程序是透明的。 使用分片数据库的应用程序必须具有明确定义的数据模型和数据分发策略(一致的哈希,范围,列表或组合),主要通过分片键访问数据。 分片键的示例包括customer_id,account_no,country_id等。Oracle Sharding还支持数据放置策略(机架和地理位置感知)以及所有部署模型:内部部署模式和公共云或混合云。

对性能要求较高的事务必须是通常访问10行或100行的单分片事务。例如,查找和更新客户的记帐记录,查找和更新订户的文档等。在用于高性能事务的分片之间没有通信或协调。

当然还支持多分片操作和非分片键访问,但可能会对性能产生影响。这种交易包括简单的聚合,报告等 - 通常小于总工作量的10%。3、Oracle Sharding 高可用、可扩展性的实现

在上述的设计考虑的基础上,在分片数据库架构上运行的应用程序可以实现更高级别的可伸缩性和可用性。Sharding 数据库的性能会随着池中分片的增加而线性增长,因为每个分片之间是彼此独立的。每个分片通常使用本地存储、闪存和内存,为客户进行性能优化提供了相对低的成本。第一个版本的Oracle Sharding旨在扩展到1,000个分片。分片之间彼此独立意味着一个分片的中断或性能较差不会影响在其他分片上执行的事务的可用性或性能。

单个分片的高可用性(HA)由数据库复制的自动部署提供。默认配置是具有自动数据库故障转移的单向Data Guard物理复制,其实现起来非常简单。还可以自动部署Active Data Guard(复制打开只读)或Oracle GoldenGate(双向复制,所有副本均为打开读写)。碎片可以在数据中心内和跨数据中心进行复制,复制是使用Oracle Sharding支持的数据放置策略的数据中心和机架感知实现的,当然也可以手动配置Oracle RAC以提供Shard HA。

碎片是由一组称为Shard Director的复制侦听器作为路由器的前端。 Oracle客户端(JDBC,OCI和ODP.net)和Oracle通用连接池(UCP)已得到增强,可识别连接字符串中指定的分片键,并通过控制每个分片允许的最大连接数确保可用性。连接层中的分片路由缓存(由分片的初始请求填充)用于将请求直接路由到数据所在的分片,以实现最佳运行时性能。如果对分片数据库进行任何更改(例如自动重新平衡或添加/删除分片),则会自动刷新分片路由缓存。为什么Oracle Sharding受到广泛关注Oracle Sharding是响应客户对数据库架构的需求,可以提供线性可扩展性和完全故障隔离的组合,而无需共享存储或损害Oracle数据库的企业质量:严格的一致性,SQL的全部功能,开发人员敏捷性 具有JSON,安全性,高可用性,备份和恢复,生命周期管理等。

Oracle Sharding不仅仅将Oracle的企业质量扩展到分片式数据库架构, 并且通过使用自动化来简化生命周期管理,高级分区方法来解决各种各样的场景案例以及数据相关的路由,以实现卓越的运行时性能。 与竞争性分片解决方案或定制部署相比,这些功能为客户提供了显着的优势。1、Oracle Sharding 在12.2版本中的新特性

Oracle 12.2在Sharding方面增加了许多新的优势:具有完全故障隔离的线性可扩展性。用于Oracle分区的OLTP应用程序可以在任何平台上弹性扩展(数据,事务和用户)到任何级别,只需在额外的独立服务器上部署新的分片。由于计划外中断或计划维护而导致的碎片不可用或减速只影响该碎片的用户,但不会影响其他碎片用户的应用程序的可用性或性能。每个分片可以运行不同版本的Oracle数据库,只要应用程序与最早运行的版本向后兼容即可 - 从而在执行数据库维护时轻松维护应用程序的可用性。

全球数据分布,为消费者带来数据和数据主权,以满足数据隐私法规。

多生命周期管理任务的自动化简化,这些任务包括:自动创建分片和复制,系统管理分区,单一命令部署和细粒度重新平衡。

使用智能、数据相关的路由,实现卓越的运行时性能。

在不牺牲企业RDBMS功能的情况下实现分片的所有优点。包括:关系模式,SQL和其他编程接口,复杂数据类型,在线模式更改,多核可扩展性,高级安全性,压缩,高可用性, ACID属性,一致性读取,开发人员与JSON的敏捷性等。2、设计Oracle Sharding 的意义

Oracle Sharding使用用于部署和管理分片式数据库架构的全面解决方案来替代本地的分片方法。 Oracle分片提供了跨分片分布表分区的新自动化,自动部署分片式数据库,包括HA和数据保护的复制,高性能路由,负载平衡和完整的生命周期管理。

Oracle Sharding还针对分片用例显式优化了Oracle数据库经过时间验证的企业功能。 包括Oracle分区、Data Guard、Active Data Guard、GoldenGate、JDBC / OCI / ODP.NET连接池、DBCA、OEM、Oracle RAC等。应用程序使用Oracle Sharding需要什么条件?

并非所有应用程序都可以利用分片数据库。 Oracle Sharding适用于为分片式数据库架构显式设计的OLTP应用程序。需满足以下条件:应用程序必须有一个明确定义的数据模型和数据分布策略(散列,范围,列表或复合),主要通过某个键访问数据。 密钥的示例包括客户ID,帐户号,country_id等。

所有需要高性能的事务必须是单分片事务。这些事务为高性能路由提供了一个分片键,通常访问10或100行。 例如,查找和更新客户的记帐记录,查找和更新订户的文档等

支持多分片操作或非分片键访问,但性能会降低。 这种交易包括简单的聚合,报告等 - 通常小于总工作量的10%。Oracle Sharding与其他高可用架构的对比1、Oracle Sharding 与RAC

Oracle RAC和Active Data Guard的组合为OLTP和分析应用程序提供了透明的横向扩展和可用性,并且可以满足99 +%的用例需求。 使用Oracle RAC,所有事务可以对数据库中的任何数据起作用,没有必要分区数据或关注多分片操作的性能,所有RAC实例共享对同一物理数据库的直接访问。Oracle Sharding牺牲了透明性,为定制设计的OLTP应用程序提供了巨大的可扩展性和高可用性。 使用Oracle Sharding,应用程序被设计为使更新事务对单个分片中的数据起作用。 跨越多个分片的事务不会受益于与单分片事务相同的性能和可伸缩性。

Q:在什么场景下使用Oracle Sharding 而不是RAC?

有以下两种情况:1、当Oracle Enterprise Architect或客户决定Oracle RAC无法解决当前或未来的可扩展性和可用性要求时,Oracle Sharding会成为首选解决方案;

2、当应用程序被明确地设计用于分片数据库时。

注意,分片和Oracle RAC不是互斥的。分片可以使用Oracle RAC或RAC One节点代替复制HA。第一个版本的Oracle Sharding的唯一注意事项是RAC必须手动配置; Oracle Sharding不提供使用DEPLOY命令自动部署RAC配置,就像Data Guard / Active Data Guard和Oracle GoldenGate一样。正在考虑在将来的版本中自动部署RAC配置。2、Oracle Sharding 与多租户

Oracle多租户是SaaS和其他数据库应用程序的整合解决方案; Oracle Sharding是高容量OLTP系统的可扩展性和高可用性解决方案。

Oracle Multitenant支持用于SaaS应用程序的DBaaS以及私有、公共和开发/测试云。它提供了将数据库联合在一起成为逻辑数据库的基础设施,以实现对应用程序透明的所有数据的高性能查询。 Oracle Multitenant通过为Oracle数据库提供最高的整合密度以及将多个集成为一体的简单性,为降低资本和运营成本提供了独特的优势。

Oracle Sharding为定制设计的OLTP应用程序提供了巨大的可扩展性和高可用性。更新事务必须指定分片密钥,并对单个分片中的数据执行操作,以便受益于分片式数据库架构承诺的高性能和可用性。支持多分片操作或非分片键访问,但性能降低。这样的事务包括简单的聚合,报告等 - 理想地小于分片数据库的总工作负载的10%。

Q:Oracle Sharding是否支持多租户?Oracle Sharding(12.2.0.1)的初始版本不支持Oracle Multitenant。 计划在将来的版本中支持单租户容器数据库,支持多租户容器数据库。

有同时包含Oracle Sharding和多租户的场景案例吗?

有, 当提供对Oracle Multitenant的分区支持时,每个分片将是一个PDB,并且将受益于Multitenant提供任何其他PDB的敏捷性的相同优势。 示例包括:简单地通过从其当前CDB拔出并将其插入到更高版本的CDB中来简化多租户架构中的分片。

迁移到Oracle Cloud和从Oracle Cloud迁移的简单性。 可以拔除作为PDB的内部部署分片,然后插入Oracle云。

碎片的PDB克隆。3、Oracle Sharding 与Oracle MAA

Oracle Sharding是Oracle MAA的自然演进,旨在解决针对定制开发的OLTP应用程序的大规模可扩展性和完全故障隔离的特殊用例。 适用于Oracle数据库的所有Oracle MAA原则也适用于包含SDB的各个分片。 将扩展Oracle MAA最佳实践,以解决SDB配置和管理的任何独特注意事项。4、Oracle Sharding 如何与Oracle集成系统相关?

Oracle Sharding是与大多数其他功能一样的硬件平台,属于Oracle MAA可扩展性和可用性解决方案的保护范围。

Oracle Sharding将受益于底层硬件平台提供的数据库工作负载的任何优势。 这意味着Oracle集成系统提供的数据库性能,可用性和可管理性的所有常见优点也会使在此类系统上运行的分片数据库受益。Oracle Sharding背后的技术实现1、数据在分片之间如何分配?

Oracle Sharding使用水平分区来跨分片(离散物理数据库)分割数据库表,以便每个分片包含具有相同列但行的不同子集的表。

跨分片的分区的分布在表空间级别完成。分片表的每个分区驻留在单独的表空间中,每个表空间与特定分片相关联。每个分片上的表分区与非分片Oracle数据库中使用的常规分区没有区别。即使表的分区驻留在多个数据库中,对应用程序开发人员来说,表的外观和行为与单个数据库中的常规分区表完全相同。应用程序发出的SQL语句从不引用分片,也不依赖于分片数及其配置。

Oracle Sharding提供了几种可选的分区方法,可以自动或由用户确定数据的分布,或两者的组合。2、Oracle支持哪些类型的分片方法?

Oracle Sharding支持三种分片方法:系统管理,用户定义和复合分片。系统管理的分片不要求用户指定数据到分片的映射。使用按照一致性哈希分区,自动在分片中分布数据。分区算法均匀且随机地在分片之间分布数据。这种分布旨在消除热点并在整个碎片上提供均匀的性能。当向SDB添加或从SDB中删除分片时,Oracle Sharding会自动维护平衡的数据分布。系统管理的分片使用为Oracle Sharding优化的一致性哈希分区策略。系统管理的分片是最常用的分片形式。

用户定义的分片允许用户明确指定数据到各个分片的映射。当由于性能,法规或其他原因,某些数据需要存储在特定分片上,并且用户需要对分片之间的数据移动进行完全控制时使用。用户定义的分片的另一个优点是,在分片的计划或计划外中断的情况下,用户准确地知道什么数据不可用。用户定义的分片的缺点是用户需要监视和维护跨分片的数据和工作负载的平衡分布。用户定义的分片使用范围或列表分区策略。

复合分片是用户定义和系统管理的分片的组合,在需要时提供这两种方法的优点。使用复合分片,数据首先按列表或范围分区,然后通过一致的散列进一步分区。这两个级别的分片使得可以将数据映射到一组分片,然后自动保持该组分片上的数据的平衡分布。3、如何在单个分片上包含多个事务?

对于许多应用程序,可以通过将水平分区与跨所有分片的少量只读或读取主表的复制结合来实现高百分比的单分片操作。对于通常与分片表一起访问的相对较小的表,完整表的复制是一个不错的选择。在每个分片中具有相同内容的表称为重复表。

Oracle Sharding使用物化视图复制来同步重复表的内容。每个分片上的重复表由只读物化视图表示。物化视图的主表位于称为碎片目录的特殊数据库中。所有分片上的物化视图都将以可配置的频率自动刷新。 CREATE DUPLICATED TABLE自动创建主表,物化视图和物化视图复制所需的其他对象。4、应用程序如何知道它在运行时必须连接到哪个分片?

应用程序必须指定一个分片键,以使用分片式数据库架构实现高性能。例如,网上银行应用程序可以设计为使用当用户作为分片键登录时生成的customer_id。

当处理数据库事务时,应用程序将分片键传递到连接层:Oracle JDBC,OCI和ODP.net客户端能够识别连接字符串中指定的分段键,以实现高性能数据相关的路由。连接层中的分片路由缓存用于将请求直接路由到数据所在的分片。

用于JDBC客户端的Oracle通用连接池(UCP)还能够识别连接URL中指定的分片键。分片路由缓存用于将连接直接路由到数据所在的分片。 Oracle UCP还支持非Oracle应用程序客户端(如Apache Tomcat,WebSphere等)与Oracle Sharding一起使用。

例如,UCP分片路由缓存包含分片键范围到分片的映射。当应用程序通过分片键检出连接时,UCP从其路由缓存中查找其上存在此键的相应分片。如果池中有匹配的连接可用,则UCP通过应用其内部连接选择算法来返回到这些分片中的一个的连接。如果没有匹配的连接,则通过将具有分片关键字的请求转发到Shard Director来创建新的连接。在第一次连接到分片时,连接池检索分片中的所有键范围,并将它们添加到其路由缓存中,以便后续连接直接转到分片(即绕过Shard Director)。

如果分片不可用,客户端连接将自动重定向到HA的分片副本。5、如果重新平衡数据或添加/删除碎片,则路由缓存如何更新?

所有重新平衡和添加/删除分片操作都由SDB管理层(Shard Catalog和Shard Director)执行。在所有这些操作期间,SDB保持可用并在线。一旦重新平衡完成,分片路由高速缓存将失效,并在下次将连接路由到分片时自动刷新。6、如何在多个shard之间重新平衡工作负载?

在以下情况下需要跨分片的数据迁移:当一个或多个分片添加到SDB或从SDB中删除时

当跨分片的数据或工作负载分布存在偏差时

在由分片数量变化触发的分片之间重新分布数据的过程称为重新分片。自动重新分片可以在SDB上提供统一的数据分布。要理解这是如何完成的,有必要了解如何在碎片上物理分区数据。跨分片的分区分布通过在驻留在不同分片上的表空间中创建分区来实现。为了最小化多分片连接的数量,表族中所有表的相应分区总是存储在同一分片中。分片表的每个分区存储在单独的表空间中。因此,表空间是SDB中的数据分布的物理单位。

分片之间的数据迁移单位是块。块是一组表空间,用于存储表系列中所有表的相应分区。块包含来自表系列的每个表的单个分区。这保证来自不同分片表的相关数据一起移动。在创建SDB时指定每个分片中的块数。图1显示了一个具有3个块的碎片。每个块都包含一组包含来自多个分片表的相关数据的分区。还显示了驻留在所有分片上存在的非分片表空间(Stockitems)中的重复表。

当向SDB添加或从SDB中删除分片时,会迁移多个块以保持跨分片的数据和工作负载的均衡分布。 根据分片方法,重新分片自动发生或由用户指示。

194460926_22_20200709032937474

当发生数据或工作负载倾斜时,特定块也可以从一个碎片移动到另一个碎片,而碎片数量没有任何变化。在这种情况下,块迁移由DBA启动以消除热点。或者,Oracle Sharding也支持在线拆分一个块。当块变得太大时,或者只有一部分块必须迁移到另一个块时,需要拆分。

RMAN增量备份,可传输表空间和Oracle Notification Service技术用于将块迁移对应用程序可用性的影响降至最低。块在块迁移期间保持联机。当存储在块中的数据仅可用于只读访问时,有一段很短的时间(几秒钟)。迁移组块的过程由管理员自动启动。

启用FAN的客户端在块即将在源分片中变为只读时,以及在完成块迁移时在目标分片中完全可用时接收通知。当客户端接收到“chunk read-only”事件时,它们可以重复连接尝试,直到块移动完成,或访问源块中的只读块。在后一种情况下,尝试写入块将导致运行时错误。7、分片如何提供线性可伸缩性?

线性可扩展性通过消除碎片之间的任何依赖性来实现。 每个分片是独立的Oracle数据库,不共享任何硬件或软件。 需要高性能和可扩展性的事务只访问单个分片中包含的数据。 设计用于Oracle分区的OLTP应用程序可以在任何平台上弹性扩展(数据,事务和用户)到任何级别,只需在额外的独立服务器上部署新的分片。 每个分片通常使用本地存储器,闪存和存储器,提供以相对低的成本进一步优化性能的机会。

通过应用程序提供的分片键和Oracle客户端(JDBC,OCI和ODP.net)及Oracle通用连接池(UCP)支持的高性能数据相关路由,将工作负载定向到相应的分片。 分片键的示例包括:customer_id,account_no,country_id等。8、分片如何实现故障隔离?

根据定义,每个分片是独立的Oracle数据库,不与其他分片共享硬件或软件。一个或多个碎片的中断或减速不会影响其他碎片上应用程序的可用性。在分片级别用于HA的复制在分片经历中断时快速恢复可用性。同样,一个分片的计划维护不会影响其他分片的可用性。

另外,分片导向器和分片目录数据库的其他组件也有助于消除单点故障。碎片导向器是一个非常轻量级的进程,不包括Oracle数据库实例。冗余碎片引导器部署在每个区域内部署碎片,以确保对SDB的连续应用程序访问。分片目录数据库使用Oracle Data Guard复制和自动故障转移来提供高可用性。目录数据库对运行时连接的路由没有影响 - 客户端连接使用分片路由缓存来实现高性能数据相关的路由。在Data Guard自动故障转移期间,目录数据库的瞬时不可用性仅导致碎片维护操作或多分片查询的短暂中断。9、如何为分片数据库实施高可用性和灾难恢复?

用于任何Oracle数据库的所有常用Oracle高可用性解决方案也用于为分片式数据库提供HA,备份和恢复以及灾难恢复。具有自动数据库故障转移的Data Guard是用于计划外中断和计划维护的默认HA配置,并自动为每个分片部署;

管理员可以自动部署Active Data Guard(所有分片副本以只读方式打开)或Oracle GoldenGate双向复制用于分片HA;

管理员可以手动配置用于分片HA的Oracle RAC

Oracle恢复管理器(RMAN)和闪回在提供分片级别的备份和基于时间点的恢复

零数据丢失恢复设备提供高效的企业备份和恢复。恢复设备可以执行实时备份,从而保护SDB中的每个事务。

每个分片的其他远程副本由Data Guard,Active Data Guard或Oracle GoldenGate维护,并为站点中断提供实时灾难恢复和数据保护。

基于版本的重新定义在部署修改后端数据库对象的应用程序的新版本时提供了对分片的在线修补。云上支持Oracle Sharding吗?

Oracle数据库云服务(PaaS)目前不提供用于部署分片数据库的整体自动化,但 使用Oracle数据库云服务自动部署Oracle Sharding将会在2017年被列入计划,计划支持混合云和全部云部署模型,以及单数据中心和多数据中心部署。

然后,Oracle Sharded数据库可以使用cookbook部署在Oracle Cloud(DBCS实例)上。

Q:如何为Oracle Cloud(PaaS)授权Oracle Sharding?

使用DBCS EE和DBCS EE高性能(HP),仅限使用三个主分片。 (待机分片数量没有限制);使用DBCS EE极端性能(EP)和Exadata云服务(ECS),对主分片或备用分片数量没有限制。

有任何疑问可以加入云和恩墨大讲堂跟讲师面对面交流。加入"云和恩墨大讲堂"微信群,参与讨论学习

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/521684.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

看完这篇还不会kafka,我跪榴莲!

戳蓝字“CSDN云计算”关注我们哦!Kafka 对外使用 Topic 的概念,生产者往 Topic 里写消息,消费者从中读消息。为了做到水平扩展,一个 Topic 实际是由多个 Partition 组成的,遇到瓶颈时,可以通过增加 Partiti…

Vue + Spring Boot 项目实战(四):前后端结合测试(登录页面开发)

前面我们已经完成了前端项目 DEMO 的构建,这一篇文章主要目的如下: ①打通前后端之间的联系,为接下来的开发打下基础 ②登录页面的开发(无数据库情况下) 文章目录一、后端项目创建1.1. 项目/包名称1.2. web依赖1.3. 运…

探秘盒马机器人餐厅:老外目瞪口呆,90岁奶奶狂点赞

摘要: “菜来了。”一台小车停在餐桌旁,“张开”透明盒盖,瓮声瓮气的机器声提示取餐,它的“肚子”里,是一条热腾腾的清蒸鱼。 刚刚点菜的顾客兴奋地宣布,从下单到拿到菜,只花了11分钟。此时不到…

【漫画】AI小猪的一生

摘要: 6月7日,在上海云栖大会上,阿里云发布ET农业大脑。希望将人工智能与农业深入结合,目前已应用于生猪养殖、苹果及甜瓜种植,具备数字档案生成、全生命周期管理、智能农事分析、全链路溯源等功能。AI可以记录猪完整的…

苹果手机数据线充不了电_手机充电器充不了电?其实4招就能解决

无论科技有多么发达,智能手机怎么样变化,至少就目前使用的智能手机上来看,使用手机就离不开"电"。哪怕是即将开售的折叠手机,也还是需要充电才能够正常使用。所以说,对于是手机而言,"有电&q…

Vue + Spring Boot 项目实战(五):数据库的引入

文章目录一、引入数据库1.安装数据库2. 安装mysql3. MySQL客户端4. .使用 Navicat 创建数据库与表二、使用数据库验证登录1.项目相关配置2.登录控制器2.1. User 类2.2. UserDAO2.3. UserService2.4. LoginController2.5. 测试一、引入数据库 1.安装数据库 官网地址&#xff1…

三招提升数据不平衡模型的性能(附python代码)

摘要: 本文的主要目标是处理数据不平衡问题。文中描述了用来克服数据不平衡问题的三种技术,分别是集成交叉验证、类别权重以及过大预测 。对于深度学习而言,数据集非常重要,但在实际项目中,或多或少会碰见数据不平衡问…

为什么说「中台」程序员将来会最值钱?

戳蓝字“CSDN云计算”关注我们哦!今年在国内互联网公司中真的是很流行中台这个概念,不,是非常流行,是相当流行。作为程序员真的非常有必要了解一下。国内中台概念的由来国内中台的这个概念最早是由阿里巴巴提出来的。据说故事是这…

varclus变量聚类对变量有啥要求_互助问答第208期:递归的双变量probit模型问题...

递归的双变量probit模型的stata命令是什么?比如二元被解释变量为y1,内生的二元变量为t1,x1和x2是其他外生协变量,iv1为内生二元解释变量的工具变量,那么,递归双变量probit模型是否可以写为:bipr…

Vue + Spring Boot 项目实战(六):使用 Element 辅助前端开发

文章目录一、安装并引入 Element1.安装 Element2.引入 Element二、优化登录页面1.使用 Form 组件2.添加样式3.设置背景4.完整代码之前我们实现了登录功能,但不得不说登录页面实在是太简陋了。在这个看脸的社会,如果代码写的烂,界面也做得不好…

不止 5G 和鸿蒙,华为最新大招,扔出 AI 计算核弹

戳蓝字“CSDN云计算”关注我们哦!华为发布全世界最快AI产品,集成1024颗业内最强芯片,训练ResNet-50只需59.8秒。近日,华为全联接大会开幕,推出又一重量级AI产品Atlas900。此前接受外媒采访时,任正非就已经预…

阿里90后工程师利用ARM硬件特性开启安卓8终端“上帝模式”

摘要: 本文以安卓8终端为载体,介绍阿里安全潘多拉实验室成员研究并提出的内核空间镜像攻击利用技巧。文/图 阿里安全潘多拉实验室 团控编者按:团控,阿里安全潘多拉实验室研究人员,该实验室主要聚焦于移动安全领域&…

神龙X-Dragon,这技术“范儿”如何?

戳蓝字“CSDN云计算”关注我们哦!在CSDN总部会议室,阿晶首次见到了阿里云智能研究员、弹性计算技术负责人张献涛——这位不仅仅在阿里云智能内部,在业内也是响当当的虚拟化技术大牛。现在回想起来,当时聊了没两句,阿晶…

python 如何判断一个函数执行完成_三步搞定 Python 中的文件操作

当程序运行时,变量是保存数据的好方法,但变量、序列以及对象中存储的数据是暂时的,程序结束后就会丢失,如果希望程序结束后数据仍然保持,就需要将数据保存到文件中。Python 提供了内置的文件对象,以及对文件…

一位资深程序员大牛给予Java初学者的学习路线建议

摘要: java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了&#x…

Vue + Spring Boot 项目实战(七):前端路由与登录拦截器

文章目录前言一、前端路由二、使用 History 模式三、后端登录拦截器3.1. LoginController3.2. LoginInterceptor3.3. WebConfigurer3.4. 效果检验四、Vuex 与前端登录拦截器4.1. 引入 Vuex4.2. 修改路由配置4.3. 使用钩子函数判断是否拦截4.4. 修改 Login.vue4.5. 效果检验前言…

高手如何实践HBase?不容错过的滴滴内部技巧

摘要: HBase和Phoenix的优势大家众所周知,想要落地实践却问题一堆?replication的随机发送、Connection的管理是否让你头痛不已?本次分享中,滴滴以典型的应用场景带大家深入探究HBase和Phoenix,并分享内核改…

JS 打印 data数据_数据表格 Data Table - 复杂内容的15个设计点

表格是桌面应用中常见的内容型组件,它包含大量的信息和丰富的交互形式,表格具有极高的空间利用率,结构化的展示保证了数据可读性。高效、清晰且易用是进行表格设计的原则性要求。本文将从表格的内容组织到交互作一次汇总,作为数据…

神龙X-Dragon,这技术“范儿”如何?| 问底中国IT技术演进

在CSDN总部会议室,阿晶首次见到了阿里云智能研究员、弹性计算技术负责人张献涛——这位不仅仅在阿里云智能内部,在业内也是响当当的虚拟化技术大牛。现在回想起来,当时聊了没两句,阿晶就问了这样一个问题,“阿里云这款…

干货 | 蚂蚁金服是如何实现经典服务化架构往 Service Mesh 方向的演进的?

摘要: 小蚂蚁说: 蚂蚁金服在服务化上面已经经过多年的沉淀,支撑了每年双十一的高峰峰值。Service Mesh 作为微服务的一个新方向,在最近两年成为领域的一个大热点,但是如何从经典服务化架构往 Service Mesh 的方向上演进…