原文:一道面试题: 订单表按照订单ID分库分表之后,如何根据其他字段进行高性能查询

目录 前言 Elasticsearch构建二级索引 Elasticsearch存储全部字段 MySQL与Elsaticsearch中数据的增删改查如何保证事务 订阅binlog 编程式事务 补偿 使用消息队列同步更改数据库 弊端 前言 前几天滴滴第三轮面试的时候, 遇到一道面试题, 大意是说现在给定一个订单表, 是按照订单ID来进行分库分表的, 那么如果想要根据订单的商户ID来进行查询某个商户的 ...

2020-12-27 13:12 0 855 推荐指数:

查看详情

订单分库方案

MySQL分库,一般只能按照一个维度进行查询.以订单为例, 按照用户ID mod 64 分成 64个数据库.按照用户的维度查询很快,因为最终的查询落在一台服务器上.但是如果按照商户的维度查询,则代价非常高.需要查询全部64台服务器.在分页的情况下,更加恶化.比如某个商户查询第10页的数据 ...

Mon May 18 06:45:00 CST 2020 0 679
分库面试题2

1、面试题 现在有一个未分库的系统,未来要分库,如何设计才可以让系统从未分库动态切换到分库上? 2、面试官心里分析 你看看,你现在已经明白为啥要分库了,你也知道常用的分库中间件了,你也设计好你们如何分库的方案了(水平拆分、垂直拆分、 ...

Sat Aug 04 04:05:00 CST 2018 0 912
分库面试题5

1、面试题 你们有没有做MySQL读写分离?如何实现mysql的读写分离?MySQL主从复制原理的是啥?如何解决mysql主从同步的延时问题? 2、面试官心里分析 这个,高并发这个阶段,那肯定是需要做读写分离的,啥意思?因为实际上大部分的互联网公司,一些网站,或者是 ...

Sat Aug 04 04:10:00 CST 2018 0 880
订单分库的思路

一、两种方案分库 一般业界,对订单数据的分库,笔者了解,有两类思路:按照订单号来切、按照用户id来切。 方案一、按照订单号来做hash分散订单数据 把订单号看作是一个字符串,做hash,分散到多个服务器去。 具体到哪个库、哪个存储数据 ...

Mon May 18 06:28:00 CST 2020 0 2121
分库面试题1

1、面试题 为什么要分库(设计高并发系统的时候,数据库层面该如何设计)?用过哪些分库中间件?不同的分库中间件都有什么优点和缺点?你们具体是如何对数据库如何进行垂直拆分或水平拆分的? 2、面试官心里分析 其实这块肯定是扯到高并发了,因为分库一定是为了支撑 ...

Sat Aug 04 04:03:00 CST 2018 0 1298
分库面试题3

1、面试题 如何设计可以动态扩容缩容的分库方案? 2、面试官心里分析 (1)选择一个数据库中间件,调研、学习、测试 (2)设计你的分库的一个方案,你要分成多少个库,每个库分成多少个,3个库每个库4个 (3)基于选择好的数据库中间件,以及在测试环境建立 ...

Sat Aug 04 04:06:00 CST 2018 0 2231
分库的几个面试题

分库是高并发高可用系统的一个重要的点,互联网公司面试常常会问道。 为什么要分库(设计高并发系统的时候,数据库层面应该如何设计)? 首先要清楚,分库是两回事,是两个独立的概念。分库都是为了防止数据库服务因为同一时间的访问量(增删查改)过大导致宕机而设计的一种应对 ...

Sat Nov 02 08:13:00 CST 2019 0 2649
分库面试题4

1、面试题 分库之后id主键如何处理? 2、面试官心里分析 其实这是分库之后你必然要面对的一个问题,就是id咋生成?因为要是分成多个之后,每个都是从1开始累加,那肯定不对啊,需要一个全局唯一的id来支持。所以这都是你实际生产环境中必须考虑的问题 ...

Sat Aug 04 04:09:00 CST 2018 0 3596
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM