前段时间我在准备暑期实习嘛,这是当时面携程的时候二面的一道问题,我一脸懵逼,赶紧道歉,不好意思不知道没了解过,面试官又解释说 redo log,我寻思着 redo log 我知道啊,WAL 是啥?给面试官整无语了(滑稽),为我当时的无知道歉.后来回去百度了一下才知道,最近又在丁奇大佬的<MySQL 实战 45 讲> 中看到了 WAL,遂来写篇文章总结下. InnoDB 体系架构 在说 WAL 之前,有必要简单介绍下 InnoDB 存储引擎的体系架构,方便我们理解下文,并且 redo log 也…
原文地址:http://blog.csdn.net/zwan0518/article/details/11972853 目录(?)[-] 一查询优化 1创建索引 2缓存的配置 3slow_query_log分析 4分库分表 5子查询优化 二数据转移 21插入数据   如今随着互联网的发展,数据的量级也是撑指数的增长,从GB到TB到PB.对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求.这个时候NoSQL的出现暂时解决了这一危机.它通过降低数据的安全性,减少对…
本文主要概括的是 WAL 机制涉及的三种日志,具体与其他组件的联系.执行可查看 一条 sql 的执行过程详解 .MySQL中的事务原理和锁机制 . 是什么 WAL,全称是Write-Ahead Logging, 预写日志系统.指的是 MySQL 的写操作并不是立刻更新到磁盘上,而是先记录在日志上,然后在合适的时间再更新到磁盘上.这样的好处是错开高峰期.日志主要分为 undo log.redo log.binlog.这三种在之前的博客已经详细说过了,作用分别是 " 完成MVCC从而实现 MySQL…
携程大数据平台负责人张翼分享携程的实时大数据平台的迭代,按照时间线介绍采用的技术以及踩过的坑.携程最初基于稳定和成熟度选择了Storm+Kafka,解决了数据共享.资源控制.监控告警.依赖管理等问题之后基本上覆盖了携程所有的技术团队.今年的两个新尝试是Streaming CQL(华为开源)和JStorm(阿里开源),意在提升开发效率.性能和处理消息拥塞能力,目前已有三分之一的Storm应用已经迁到JStorm 2.1上. 今天给大家分享的是携程在实时数据平台的一些实践,按照时间顺序来分享我们是怎…
一.MySQL数据库有几个配置选项可以帮助我们及时捕获低效SQL语句 1,slow_query_log这个参数设置为ON,可以捕获执行时间超过一定数值的SQL语句. 2,long_query_time当SQL语句执行时间超过此数值时,就会被记录到日志中,建议设置为1或者更短. 3,slow_query_log_file记录日志的文件名. 4,log_queries_not_using_indexes这个参数设置为ON,可以捕获到所有未使用索引的SQL语句,尽管这个SQL语句有可能执行得挺快. 二…
如何查找MySQL中查询慢的SQL语句 更多 如何在mysql查找效率慢的SQL语句呢?这可能是困然很多人的一个问题,MySQL通过慢查询日志定位那些执行效率较低的SQL 语句,用--log-slow-queries[=file_name]选项启动时,mysqld 会写一个包含所有执行时间超过long_query_time 秒的SQL语句的日志文件,通过查看这个日志文件定位效率较低的SQL .下面介绍MySQL中如何查询慢的SQL语句 一.MySQL数据库有几个配置选项可以帮助我们及时捕获低效S…
转载自https://www.cnblogs.com/qmfsun/p/4844472.html 如何在mysql查找效率慢的SQL语句呢?这可能是困然很多人的一个问题,MySQL通过慢查询日志定位那些执行效率较低的SQL 语句,用--log-slow-queries[=file_name]选项启动时,mysqld 会写一个包含所有执行时间超过long_query_time 秒的SQL语句的日志文件,通过查看这个日志文件定位效率较低的SQL .下面介绍MySQL中如何查询慢的SQL语句 一.My…
门票景点详情,景点api支持查询携程旅游门票景点详情. 接口名称:景点api 接口平台:开放api 接口地址:http://api2.juheapi.com/xiecheng/senicspot/ticket/info 支持格式:JSON 请求方式:HTTP POST/GET 请求示例:http://api2.juheapi.com/xiecheng/senicspot/ticket/info?scenicspotid=234&key=您申请的KEY 接口备注:门票景点详情 请求参数: 名称 类…
一.MySQL中的索引###<1>索引的概念 索引就是一种数据结构(高效获取数据),在mysql中以文件的方式存在.存储建立了索引列的地址或者指向. 文件 :(以某种数据 结构存放) 存放地址 指向数据 类似一本书的目录,能够提高检索效率. ###<2>特点 提高数据的获取效率,也是数据库优化的一部分. 在多表连接时,作为条件加速连接的速度 . 在分组和排序查询时,作为条件,能够减少分组和排序所消耗的时间. 创建和维护索引 会消耗时间,随着数据量的增加消耗的时间也增加 索引文件会占…
一.TCL事务控制语言###<1>事务的概念 事务是访问并可能更新数据库中各种数据项的执行单元. 事务是一条SQL语句,一组SQL语句,或者整个程序. 事务是恢复和并发控制的基本单位. 事务四个特性:ACID特性,原子性,一致性,隔离性,持续性. ###<2>为什么要使用事务 转账操作:用户A给用户B转账1000元 隐含的条件:扣钱和加钱,要么同时成功,或者同时失败. 事务就是对数据库中的数据的多步操作,并且可以控制数据操作的一致性.对数据的多步操作要么同时成功,或者同时失败. #…
其实GO语言从1.6版本开始非常不错了,GC性能优化非常到位,并且各种并行设计比从新实现一套C++版本的确是方便不少. 语言包也很多,库也相对稳定,完全可以适用于生产环境. 本文主要是给刚刚入门新手注意一个携程空跑的问题,因为这种问题可能在C++中也遇到过,只是一些代码书写习惯导致. 首先来看一段代码: func (c *WSConn) processHandler() { for { select { case message, ok := <-c.processMsg: // 处理数据包 i…
https://mp.weixin.qq.com/s/QTqcBZlAhp5cLRJGJVZRNw 干货 | 携程Redis治理演进之路(二) 原创 技术中心 携程技术 2020-12-24      …
异步导出数据到Mysql中 上次说过从Item中同步写入数据库,因为网络的下载速度和数据库的I/O速度是不一样的所以有可能会发生下载快,但是写入数据库速度慢,造成线程的堵塞:关于堵塞和非堵塞,同步和异步的关系,因为没接触过,所以也不是很好的理解,这里查看了些资料,已做记录 链接1:https://www.zhihu.com/question/19732473;http://wiki.jikexueyuan.com/project/twisted-intro/ 实现异步写入mysql数据库的思路:…
<?php $begin = time(); //同步请求 function multi_sync(){ $host = '192.168.2.87'; $user = 'census'; $password = 'census'; $database = 'census'; $mysqli = new mysqli($host, $user, $password, $database); $query = "SELECT sleep(1);" ; $query .= "…
四 项目开发 1 创建数据库db_etl,新建两张表user 和oder.表结构如第一部分图所示. 2 编写python脚本,实现自动向mysql中插入数据. 新建python 项目,目录结构如下图 编写代码如下: # _*_ coding:UTF- _*_ ''' Created on 2016年12月1日 @author: duking ''' import MySQLdb import random,string import time import threading ''' 数据库连接…
import requests import json import re import csv import threadpool import time, random from bs4 import BeautifulSoup from fake_useragent import UserAgent def hotel(city_letter, city_num, city_name): with open('has_address.json', 'a+', encoding="utf-8…
前言 数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建.查询.更新和删除数据.不同的存储引擎提供不同的存储机制.索引技巧.锁定水平等功能,使用不同的存储引擎,还可以 获得特定的功能.现在许多不同的数据库管理系统都支持多种不同的数据引擎.MySQL的核心就是存储引擎. 存储引擎查看 MySQL给开发者提供了查询存储引擎的功能,我这里使用的是MySQL5.1,可以使用: SHOW ENGINES 命令来查看MySQL使用的引擎,命令的输出为(我用的Navicat P…
文 | 潘国庆 携程大数据平台实时计算平台负责人 本文主要从携程大数据平台概况.架构设计及实现.在实现当中踩坑及填坑的过程.实时计算领域详细的应用场景,以及未来规划五个方面阐述携程实时计算平台架构与实践,希望对需要构建实时数据平台的公司和同学有所借鉴. 一.携程大数据平台之总体架构 携程大数据平台结构分为三层: 应用层:开发平台Zeus(分为调度系统.Datax数据传输系统.主数据系统.数据质量系统).查询平台(ArtNova报表系统.Adhoc查询).机器学习(基于tensorflow.spa…
一.面试前的准备 1.1 如何准备一场面试1.1.1 如何获取大厂面试机会1.1.2 面试必知 ①. 准备介绍自己 ②. 关于着装 ③ .随身带上自己的成绩单和简历 ④. 如果笔试就提前刷一些笔试题 ⑤. 花时间作一些逻辑题 ⑥. 准备好自己的项目介绍 ⑦. 提前了解公司以及要应聘的岗位 1.1.3 提前准备技术面试1.1.4 面试之前先做好定向复习1.1.5 面试之后复盘 1.2 简历改如何写1.2.1为什么说简历很重要1.2.2 这3点你必须要知道1.2.3 你必须知道的两大法则 ①. ST…
一.瞎扯点什么 1.1 阿波罗 ​ 阿波罗是希腊神话中的光明之神.文艺之神,同时也是罗马神话中的太阳神:他是光明之神,从不说谎,光明磊落,在其身上找不到黑暗,也被称作真理之神.他非常聪明,通晓世事,是预言之神. 后世各种各样的项目都喜欢以阿波罗命名,比如著名的美国登月计划:阿波罗计划: 既然携程以阿波罗(Apollo)命名项目,那我们我们接下来看看,携程阿波罗能给我们程序员带来怎样的光明(我希望这个光明是可以每天下午6点钟的太阳 哈哈): 下面看看.net core和Apollo会碰撞出什么样的…
Apollo实现.NET Core微服务统一配置(测试环境-单机) https://www.cnblogs.com/guolianyu/p/10065999.html 一.前言 注:此篇只是为测试环境下的快速入门.后续会给大家带来生产环境下得实战开发. 具体的大家可以去看官方推荐.非常的简单明了.以下介绍引用官方内容: 复制代码 Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性…
携程阿波罗(Apollo) https://www.cnblogs.com/xiaxiaolu/p/10025597.html 一.瞎扯点什么 1.1 阿波罗 ​ 阿波罗是希腊神话中的光明之神.文艺之神,同时也是罗马神话中的太阳神:他是光明之神,从不说谎,光明磊落,在其身上找不到黑暗,也被称作真理之神.他非常聪明,通晓世事,是预言之神. 后世各种各样的项目都喜欢以阿波罗命名,比如著名的美国登月计划:阿波罗计划: 既然携程以阿波罗(Apollo)命名项目,那我们我们接下来看看,携程阿波罗能给我们程…
原文:https://www.jianshu.com/p/23d695af7e80 Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适用于微服务配置管理场景. 服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器. Java客户端不依赖任何框架,能够运行于所有Java运行时环境,同时对Spring/Sprin…
  本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.蚂蚁金服等公司offer,岗位是Java后端开发,因为发展原因最终选择去了携程,入职一年时间了,也成为了面试官,之前面试了很多家公司,感觉大部分公司考察的点都差不多,趁空闲时间,将自己的心得记下来,希望能给正在找或者准备找工作的朋友提供一点帮助.   下面提的问题可以看下你自己是否能回答出来,是否做好准备了,当然面试题准备是一方面,你本身的技能掌握是一方面,本身技能不过硬也会被刷下来,下面的图是进阶体系图可…
原文链接:https://blog.csdn.net/luhong327/article/details/81453001 一.Apollo配置中心介绍 1.What is Apollo 1.1 Apollo简介 Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性. Apollo支持4个维度管理Key-Value格式的配置: application (应用)environmen…
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.携程等10家互联网公司的校招Offer,因为某些自身原因最终选择了携程.6.7月主要是做系统复习.项目复盘.LeetCode与牛客刷题等准备工作,并且投了字节跳动.拼多多.猿辅导在内的几家公司的提前批,当然还是挂在了简历,因为毕竟自己的学校.学历.项目经验肯定比不过牛客网上那些大厂实习的大佬了,有时间也给自己做个总结,也希望能帮助到大家 (PS:再次编辑,感谢大家的支持,受宠若惊.私信问我要这些面试答案的,希望交流的朋友…
写在前面:选型考虑 携程于1999年创立,2016-2018年全面推进应用 MySQL 数据库,前期线上业务.前端技术等以 SQL Server 为主,后期数据库逐步从 SQL Server 转到开源 MySQL 数据库.随着技术多元化以及业务的不断发展,MySQL 逐渐无法满足携程需求,主要体现在:业务数据模型呈现多元化,在异地多活部署.运维成本.资源弹性管理以及应用稳定性等方面对数据库技术提出了新的要求,MySQL 方案在单机性能瓶颈表现明显,同时分库分表方案带来运维复杂度和维护成本也随之增…
一.业界背景与现状 近些年来,有三件事实在业界同时发生:     1.  业务的发展朝着"生产"和"使用"海量增长数据的方向演进.     2.  摩尔定律 的失效.     3.  快速增长的存储和网络带宽需求同时束缚着传统数据中心基础设施.   这三件事实的影响下,大大限制了为应用程序扩展能力.数据存储和分析扩展容量以及以系统降本增效的能力.这也导致以计算为中心的架构逐渐转变为了以数据为中心的架构,同时对数据库管理员.IT 基础设施管理者甚至采购团队提出了新的挑…
在 12 月 28 日微信公开课上,张小龙对微信小程序的形态进行了阐释,小程序有四个特定:无需安装.触手可及.用完即走.无需卸载. 由于携程这种订酒店.火车票和机票等工具性质非常强的服务,非常符合张小龙的对小程序的定义,所以很适合做一个小程序. 今天,有机会体验了一下携程酒店机票火车票这个小程序,在这里跟大家分享一下. 扫一扫携程提供的二维码之后,看到携程小程序的名字为"携程酒店机票火车票". 携程小程序加载页面 确认进入体验版之后,就正式加载进入小程序,跳到了以下这个页面--没错,就…
首先介绍一下携程App的网络服务架构.由于携程业务众多,开发资源导致无法全部使用Native来实现业务逻辑,因此有相当一部分频道基于Hybrid实现.网络通讯属于基础&业务框架层中基础设施的一部分,为App提供统一的网络服务: 1Native端的网络服务 Native模块是携程的核心业务模块(酒店.机票.火车票.攻略等),Native模块的网络服务主要通过TCP连接实现,而非常见的Restful HTTP API那种HTTP连接,只有少数轻量级服务使用HTTP接口作为补充. TCP连接网络服务模…