摘要: 1 需求背景 该应用场景为AdMaster DMP缓存存储需求,DMP需要管理非常多的第三方id数据,其中包括各媒体cookie与自身cookie(以下统称admckid)的mapping关系,还包括了admckid的人口标签、移动端id(主要是idfa和imei)的人口标签,以及一些黑名单id、i 阅读全文
posted @ 2018-08-16 11:04 割肉机 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 业务背景 现有一个业务需求,需要从一批很大的用户活跃数据(2亿+)中判断用户是否是活跃用户。由于此数据是基于用户的各种行为日志清洗才能得到,数据部门不能提供实时接口,只能提供包含用户及是否活跃的指定格式的文本由业务方使用。 存在的挑战 海量数据如何尽可能用小的空间存储 如何能快速获取指定的数据 如何 阅读全文
posted @ 2018-08-16 11:04 割肉机 阅读(801) 评论(0) 推荐(0) 编辑
摘要: 进行了一下Mongodb亿级数据量的性能测试,分别测试如下几个项目: (所有插入都是单线程进行,所有读取都是多线程进行) 1) 普通插入性能 (插入的数据每条大约在1KB左右) 2) 批量插入性能 (使用的是官方C#客户端的InsertBatch),这个测的是批量插入性能能有多少提高 3) 安全插入 阅读全文
posted @ 2018-08-16 10:35 割肉机 阅读(1354) 评论(0) 推荐(0) 编辑
摘要: 千万级别:mysql 千万以及亿级别:mongdb 阅读全文
posted @ 2018-08-16 10:34 割肉机 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 1. 为什么使用线程池 诸如 Web 服务器、数据库服务器、文件服务器或邮件服务器之类的许多服务器应用程序都面向处理来自某些远程来源的大量短小的任务。请求以某种方式到达服务器,这种方式可能是通过网络协议(例如 HTTP、FTP 或 POP)、通过 JMS 队列或者可能通过轮询数据库。不管请求如何到达 阅读全文
posted @ 2018-08-16 10:17 割肉机 阅读(7861) 评论(0) 推荐(0) 编辑
摘要: 引 如果对什么是线程、什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内。 用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现。说这个话其实只有一半对,因为反应“多角色”的程序代码,最起码每个角色要给他一个线程吧,否则连实际场景都无法 阅读全文
posted @ 2018-08-16 10:15 割肉机 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 表 表 4.1、innodb存储引擎表类型 innodb表类似oracle的IOT表(索引聚集表-indexorganized table),在innodb表中每张表都会有一个主键,如果在创建表时没有显示的定义主键则innodb如按照如下方式选择或者创建主键。首先表中是否有唯一非空索引(unique 阅读全文
posted @ 2018-08-16 09:56 割肉机 阅读(1114) 评论(0) 推荐(0) 编辑
摘要: 目录 B+树 B+树的插入操作 B+树的删除操作 回到顶部 B+树 B+树和二叉树、平衡二叉树一样,都是经典的数据结构。B+树由B树和索引顺序访问方法(ISAM,是不是很熟悉?对,这也是MyISAM引擎最初参考的数据结构)演化而来,但是在实际使用过程中几乎已经没有使用B树的情况了。 B+树的定义十分 阅读全文
posted @ 2018-08-16 09:54 割肉机 阅读(6868) 评论(0) 推荐(0) 编辑
摘要: 事务操作四原则: 1>原子性:简单来说——整个事务操作如同原子已经是物理上最小的单位,不可分离事务操作要么一起成功,要么一起失败。 2>一致性:倘若事务操作失败,则回滚事务时,与原始状态一致。即是一致性 3>隔离性:当你在进行事务操作时,其他事务的操作不能影响到你的事务操作也就是事务与事务之间是隔离 阅读全文
posted @ 2018-08-16 09:24 割肉机 阅读(414) 评论(0) 推荐(0) 编辑
摘要: 1、MySQL的复制原理以及流程 (1)、复制基本原理流程 1. 主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中; 2. 从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进 自己的relay log中; 阅读全文
posted @ 2018-08-16 09:07 割肉机 阅读(1968) 评论(0) 推荐(0) 编辑
摘要: 一、 MySQL存储引擎MyISAM与InnoDB如何选择 MySQL有多种存储引擎,每种存储引擎有各自的优缺点,可以择优选择使用:MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACK 阅读全文
posted @ 2018-08-16 09:03 割肉机 阅读(197) 评论(0) 推荐(0) 编辑
摘要: MySQL数据库的常见操作 1、创建数据库 2、创建重名的数据库以及如何查看警告信息 3、设置数据库的编码方式(默认为utf8) 4、修改和查看数据库的编码方式 5、删除数据库 6、6、删除已经删除了的数据库 1、创建数据库 花括号代表必须是要有的,中括号代表是可有可不有,竖线是代表选择,即是从花括 阅读全文
posted @ 2018-08-16 09:02 割肉机 阅读(457) 评论(0) 推荐(0) 编辑
摘要: MySQL概念学习与逐步上手操作系列(一套完整) https://www.cnblogs.com/zlslch/category/962962.html 阅读全文
posted @ 2018-08-16 09:01 割肉机 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页 阅读全文
posted @ 2018-08-16 08:59 割肉机 阅读(5568) 评论(0) 推荐(0) 编辑