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

支撑百万行代码核心系统运转,太平洋保险与OceanBase的升级之路

太平洋保险此次首先升级的核心系统“太保 95500 客服系统”(下文简称:P17),拥有百万行代码,与传统数据库绑定程度非常深,还采用了很多传统数据库生态的配套产品,如自定义锁、自治事务、嵌套表、索引组织表...、实时数据同步和增量数据订阅于一体的数据传输服务,实现了低风险、低成本、高效率的数据流通,构建了稳定、安全的数据架构。...据悉,在 OceanBase 为太平洋保险打造的智能决策服务平台中,MySQL 租户与寿险统一承保平台 oracle 租户共用集群,总计 40 个集群里有 20 个 MySQL 租户,140 多个 Oracle...现在,太平洋保险全栈信创数据库已投产上线并在稳定运行。据悉,在保持高运行性能、高可用能力的同时,太平洋保险数据库软件维保费用大幅降低,设备投入也得到节省。...如果说 P17 客服系统成功完成 OceanBase 迁移上线并平稳运行,是太保集团第一个核心攻坚成功的信创数字化转型标杆系统,具有里程碑意义;那么可以说,太保集团的全栈国产化实践则为金融保险行业起到了很好的示范作用

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

    线上MySQL的自增id用尽怎么办?

    代码实现时row_id是个长度为8字节的无符号长整型(bigint unsigned)。...但InnoDB在设计时,给row_id留的只是6个字节的长度,这样写到数据表中时只放了最后6个字节,所以row_id能写到数据表中的值,就有两个特征: row_id写入表中的值范围,是从0到2^48 -...2^48 - 1已经很大,但若一个MySQL实例活得久,还是可能达到上限。...那这bug也是只存在于理论上吗? 假设一个MySQL实例的TPS是50w,持续这样,17.8年后就会出现该情况。但从MySQL真正开始流行到现在,恐怕都还没有实例跑到过这个上限。...我们创建了一个高质量的技术交流群,与优秀的人在一起,自己也会优秀起来,赶紧点击加群,享受一起成长的快乐。

    3.9K20

    这句简单的sql,如何加索引?颠覆了我多年的认知

    我们首先准备一下运行环境,然后按照最左前缀原则和explain关键字来进行验证。结果真是颠覆了xjjdog多年的认知。 准备阶段 为了进行验证,我们创建一个简单的数据表。...这次效果非常好,显示使用了index,使用了where,只在索引上就完成了操作。但扫描的行数却增加了。 但是,这与我们的经验是相悖的。idx_c_b_a的索引,是在字段(c,b,a)上创建的。...SUBQUERY 子查询中的第一个。 type 表示MySQL在表中找到所需行的方式,或者叫访问类型。常见访问类型如下,从下到上,性能越来越差。...End 可以看到,在我们创建了多个索引的时候,mysql的查询优化,并不一定能够进行智能的解析、用到最优的方式,需要使用force index指定索引。...这是现象,至于深层次的原因,欢迎读过mysql相关源码的给解释一下。 这对经常变换字段进行排序的代码来说,并不是一个好的信号。考虑到程序的稳定性,我想应该要尽量减少where条件过滤后的结果集。

    61340

    将数据文件(csv,Tsv)导入Hbase的三种方法

    2.使用Java创建一个 connectDB() 方法来 MySQL。 3.通过脚本执行JAR文件 4.验证导入的数据 在HBase中创建了目标表用于插入数据。...然后,使用JDBC中MySQL中获取数据之后,我们循环读取结果集,将MySQL中的一行映射为HBase表中的一行。 创建了Put对象,利用row key添加一行数据。...运行Hive查询会花费很长时间,因为它会默认遍历表中所有的数据。但其可以设置分区查询。 HBase通过存储key/value来工作。...``` -m 1 #启动 Map 数量 查看:只查询前10条 scan 'user_action',{LIMIT=>10} #只查询前面10行 一种MySQL到HBase的迁移策略的研究与实现 三类迁移方法的比较...Job以第一个Job的输出(middata)做为输入,然后将其格式化HBase的底层存储文件HFile (3)调用BulkLoad将第二个Job生成的HFile导入到对应的HBase表中 代码的实现:

    3.7K10

    MySQL数据库的高级使用

    1、思考 目前只有一个goods表,我们想要增加一个商品分类信息,比如:移动设备这个分类信息,只通过goods表无法完成商品分类的添加,那么如何实现添加商品分类信息的操作?...SQL语句 使用连接更新表中某个字段数据 1、更新goods表中的商品分类信息 上一节创建了一个商品分类表(good_cates),并且完成了商品分类信息的插入,现在需要更新goods表中的商品分类信息...:双飞燕这个品牌信息,只通过goods表无法完成品牌信息的添加,那么如何实现添加品牌信息呢?...,那么这个工作量无疑是巨大的,我们可以通过使用程序代码的方式去连接MySQL数据库,然后对MySQL数据库进行增删改查的方式,实现10000条数据的插入,像这样使用代码的方式操作数据库就称为数据库编程。...MyISAM不支持事务,优势是访问速度快,对事务没有要求或者以select、insert为主的都可以使用该存储引擎来创建表 查看goods表的创表语句: -- 选择数据库 use jing_dong;

    1.8K10

    mysql进阶(二十六)MySQL 索引类型(初学者必看)

    大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说mysql进阶(二十六)MySQL 索引类型(初学者必看)[通俗易懂],希望能够帮助大家进步!!! 一、前言 索引是快速搜索的关键。...MySQL 索引的建立对于 MySQL 的高效运行是很重要的。下面介绍几种常见的 MySQL 索引类型。 在数据库表中,对字段建立索引可以大大提高查询速度。...假如我们创建了一个 mytable 表: CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL ); 只听到从架构师办公室传来架构君的声音...相反,MySQL会扫描所有记录,即要查询 10000 条记录。 索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。组合索引,即一个索包含多个列。...一般情况这个问题不太严重,但如果在一个大表上创建了多种组合索引,索引文件的会膨胀很快。 索引只是提高效率的一个因素,如果MySQL有大数据量的表,就需要花时间研究建立最优秀的索引,或优化查询语句。

    24520

    MySQL 慢查询、 索引、 事务隔离级别

    慢查询 什么是慢查询 MySQL 的慢查询日志是 MySQL 提供的一种日志记录,它用来记录在 MySQL 中响应时间超过阀值的语句,阈值指的是运行时间超过 long_query_time 值的 SQL...long_query_time 的默认值为 10,意思是运行 10秒 以上的语句。默认情况下,MySQL 数据库并不启动慢查询日志,需要我们手动来设置这个参数。...两张比较大的表进行 JOIN,但是没有给表的相应字段加索引 表存在索引,但是查询的条件过多,且字段顺序与索引顺序不一致 对很多查询结果进行 GROUPBY 索引 创 建 索 引 的 目 的 就...注 意 , 每 个 表 中 只 能 有 一 个 主 键 。...索引列不能参与计算,保持列“干净”,比如 from_unixtime(create_time) = ’2014-05-29’就不能使用到索引,原因很 简单,b+树中存的都是数据表中的字段值,但进行检索时

    2.8K50

    联合索引这点事儿

    建表 按照ER图,建立数据库和表,并且进行测试数据的填充。(建表sql和填充脚本的文件可公众号(Vegout)回复关键字“联合索引”获取) ?...add key title_summary_index(title,summary) 再次执行select语句,耗时 已找到记录: 1,111 警告: 0 持续时间 1 查询: 0.031 sec 但此时如果我们只查询...也就是publish_time使得不能够走第二个联合索引,但publish_time之后的条件可以走第一个联合索引。...只走了一个索引。...文中测试sql涉及到publish_time字段的地方需要修改成你运行脚本时插入的时间。 抱歉:建了那么多表,文中只用了一个,我原来以为都会用到了,捂脸。给自己开脱一下,万一以后文章用到了嘞。哈哈

    58030

    Spring Boot + flowable 快速实现工作流

    Flowable只在流程实例运行中保存运行时数据,并在流程实例结束时删除记录。这样保证运行时表小和快。 4、ACT_HI_: 'HI’代表history。...,但其真正内容存储在act_ge_bytearray表中,以字节形式存储; act_re_model:流程模板信息表,存储流程模板相关描述信息,但其真正内容存储在act_ge_bytearray表中,以字节形式存储...:监听信息表,不常用; act_ru_execution:运行时流程执行实例表,记录运行中流程运行的各个分支信息(当没有子流程时,其数据与act_ru_task表数据是一一对应的); act_ru_identitylink...:运行时流程人员表,重要,常用于查询人员或部门的待办任务时使用; act_ru_job:运行时定时任务数据表,存储流程的定时任务信息; act_ru_variable:运行时流程变量数据表,存储运行中的流程各节点的变量信息...图片 RepositoryService很可能是使用Flowable引擎要用的第一个服务。

    1.1K30

    Java Review(三十四、JDBC)

    例如, 如下代码就创 建了调用上面存储过程的 CallableStatement 对象: // 使用Connection创建一个 CallableStatement 对象 cstmt = conn.prepareCall...下面代码通过这两个参数创建了一个 PreparedStatement 对象, 由该对象生成的 ResultSet 对象将是可滚动、 可更新的结果集。...但目前最新 的 MySQL 驱动暂不支持该方法。...一旦事务开始之后, 程序可以像平常一样创建 Statement 对象, 创建了 Statement 对象之后, 可以执行任意多条 DML 语句, 如下代码所示: stmt.executeUpdate(..., 如下代码所示: // 释放数据库连接 conn.close(); 但上面代码并没有关闭数据库的物理连接, 它仅仅把数据库连接释放, 归还给连接池, 让其他客户端可以使用该连接。

    77320

    MySQL binlog的三个业务应用场景

    mysql使用binlog进行主从复制,如图: img 客户端向master的mysql sever写入数据 当数据发生变化时,master将变更的数据记录写入到二进制文件中,即binlog。...而如果原始数据变化了但缓存尚未超时,则缓存中的数据就是过时的数据了。当数据有变更的时候主动修改缓存数据。 img 当客户端更改了数据之后,中间件系统通过binlog获得数据变更,并同步到缓存中。...而目前我接触到的最常见的就是第一个场景——数据异构,可以异构到其他表中,也可以异构到其他数据引擎中,比如Elastic Search。...------ 我们创建了一个高质量的技术交流群,与优秀的人在一起,自己也会优秀起来,赶紧点击加群,享受一起成长的快乐。...VirtualBox 7将支持Win 11和macOS Monterey ·································· 你好,我是程序猿DD,10年开发老司机、阿里云MVP、腾讯云TVP、出过书创过业

    47630

    30个MySQL数据库常用小技巧,吐血整理。

    假定机器上运行 着多个桌面应用程序。将MySQL服务器配置成使用最少的系统资源。...DedicatedMySQL Server Machine (专用 MySQL 服务器):该选项代表只运行MySQL服务的服务器。假定运行没有运行其它应用程序。...因为SQL只有在运行时才会解析局部变量,但优化程序不能将访问计划的选择推迟到运行时;它必须在编译时进行选择。然 而,如果在编译时建立访问计划,变量的值还是未知的,因而无法作为索引选择的输入项。...12、不要写一些没有意义的查询,如需要生成一个空表结构: select col1,col2 into #t from t where 1=0 这类代码不会返回任何结果集,但是会消耗系统资源的,应改成这样...,当索引列有大量数据重复时,SQL查询可能不会去利用索引,如一表中有字段sex,male、female几乎各一半,那么即使在sex上建了索引也对查询效率起不了作用。

    1K50

    mysql联合索引的理解

    对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。例如索引是key index (a,b,c)....索引名index_name可选,缺省时,MySQL将根据第一个索引列赋一个名称。另外,ALTER TABLE允许在单个语句中更改多个表,因此可以在同时创建多个索引。...第3条语句只在删除PRIMARY KEY索引时使用,因为一个表只可能有一个PRIMARY KEY索引,因此不需要指定索引名。...如果没有创建PRIMARY KEY索引,但表具有一个或多个UNIQUE索引,则MySQL将删除第一个UNIQUE索引。 如果从表中删除了某列,则索引会受到影响。...在MySQL中,有值‘A’(升序)或NULL(无分类)。   · Cardinality   索引中唯一值的数目的估计值。通过运行ANALYZE TABLE或myisamchk -a可以更新。

    1.5K20

    Mysql性能优化四:分库,分区,分表,你们如何做?

    分库分区分表概念 分区 就是把一张表的数据分成N个区块,在逻辑上看最终只是一张表,但底层是由N个物理区块组成的 。 分表 就是把一张数据量很大的表按一定的规则分解成N个具有独立存储空间的实体表。...就是横着来分区了,举例来说明一下,假如有100W条数据,分成十份,前10W条数据放到第一个分区,第二个10W条数据放到第二个分区,依此类推。也就是把表分成了十分,根用merge来分表,有点像哦。...经常运行直接依赖于用于分割表的列的查询。...1,如果一个分区中创建了子分区,其他分区也要有子分区 2,如果创建了了分区,每个分区中的子分区数必有相同 3,同一分区内的子分区,名字不相同,不同分区内的子分区名子可以相同(5.1.50不适用) mysql...所以我把它列到了分表的范围以内;集群我们在第三部分详情说明; 优点:扩展性好,没有多个分表后的复杂操作(php代码) 缺点:单个表的数据量还是没有变,一次操作所花的时间还是那么多,硬件开销大。

    84730

    ranger 2.3.0 从源码编译到搭配 MySQL 8.0 的踩坑

    因为最近信创需要, 因此需要在 arm 环境中搭建 ranger 服务,并且搭配 MySQL 8.0 , 从编译到初步完成搭建一共花费了接近两天的时间,期间遇到了不少问题,我觉得可以说一下,下边就是一个基本完整的搭建过程...8.0.x 即可,关于 MySQL 的初始化, 创建 ranger 数据库,配置用户密码等就暂时省略.配置 maven 仓库由于编译后的代码是要在 arm 平台上运行,因此这里不能简单配置,要保证拉取的仓库可以在...arm 平台上运行....不过这里有影响的主要是第一个,因此需要配置 db_setup.py 在 852 行左右有这样的代码表的时候会报错 在 ${root.path}/target/ranger-2.3.0-admin/db/mysql/optimized/current 下有一个 ranger_core_db_mysql.sql

    14500

    一篇 CPU 占用高,导致请求超时的故障排查

    二、定位故障 根据这种故障的一般处理思路,先找出问题进程内CPU占用率高的线程,再通过线程栈信息找出该线程当时在运行的问题代码段,操作如下: 根据思路查看高占用的“进程中”占用高的“线程”,追踪发现7163...既然是数据库的问题就检查数据库,思路是先打印了所有在跑的数据库线程,检查后发现跟进情况找到问题表: 打印mysql现有进程信息,并把信息生成log文件,使用的命令如下: mysql -uroot -p...-e "show full processlist" >mysql_full_process.log 过滤log文件,发现查询最多的表,使用的命令如下: grep Query mysql_full_process.log...; 确认表是否有索引,发现表未创建索引; show create table table_name\G 三、确认及处理问题 询问了研发表的数据是否重要,确认不重要,检查字段有时间字段,根据时间确认只留一个月的数据...五、其他 在处理问题后,又查询了一下数据库相关问题的优化,有方案说在mysql配置文件中添加innodb_buffer_pool_size参数也可以优化查询查询时间,但该参数的意义把数据放到内存了,也就是说如果数据更新了

    1.9K50

    为什么阿里不推荐使用MySQL分区表?

    但session2的第一个insert成功。因为对于引擎,p_2018和p_2019是两个不同表,即2017-4-1的下一个记录并不是2018-4-1,而是p_2018分区的supremum。...由于MyISAM引擎只支持表锁,所以这条update语句会锁住整个表tt上的读。 但session2的第一条查询语句可以正常执行,第二条语句才进入锁等待。...手工分表也要找到需要更新的所有分表,然后依次执行更新。 性能上和分区表没有差别。 分区表由server层决定使用哪个分区 手动分表由应用层代码决定使用哪个分表 所以从引擎层看,也没啥区别。...通用分区策略,是MySQL一开始支持分区表的时候就存在的代码,在文件管理、表管理的实现上很粗糙,性能问题很严重。...我见过一个用户做了按天分区策略,然后预先创建了10年的分区。这种情况下,访问分区表的性能自然是不好的。

    2K20
    领券