摘要: 树是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。 把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点: (01) 每个节点有零个或多个子节点; (02) 没有父节点的节点称为根节点; (03) 每一个非根节点有且只有一个父节点; 阅读全文
posted @ 2021-10-29 17:41 bluesky1 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 一、大型网站系统的特点高并发,大流量需要面对高并发用户,大流量访问。Google 日均 PV 35 亿,日 IP 访问数 3 亿;腾讯 QQ 的最大在线用户数 1.4 亿(2011年数据)。高可用系统 7 x 24 小时不间断服务。海量数据需要存储、管理海量数据,需要使用大量服务器。Facebook 阅读全文
posted @ 2021-10-29 11:31 bluesky1 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 一致性哈希算法(Consistent Hashing)最早在论文《Consistent Hashing and Random Trees: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web》中被提出 阅读全文
posted @ 2021-10-29 10:51 bluesky1 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 1.把第一个URL按照三种Hash算法,分别生成三个不同的Hash值。 2.把第二个URL也按照三种Hash算法,分别生成三个不同的Hash值。 3.依次比较每一个Hash结果,只有当全部结果都相等时,才判定两个URL相同。 具体怎样映射呢?流程如下:1.创建一个空的Bitmap集合。 2.把第一个 阅读全文
posted @ 2021-10-29 10:39 bluesky1 阅读(58) 评论(0) 推荐(0) 编辑
摘要: Bit-map的基本思想32位机器上,对于一个整型数,比如int a=1 在内存中占32bit位,这是为了方便计算机的运算。但是对于某些应用场景而言,这属于一种巨大的浪费,因为我们可以用对应的32bit位对应存储十进制的0-31个数,而这就是Bitmap的基本思想。Bit-map算法利用这种思想处理 阅读全文
posted @ 2021-10-29 10:18 bluesky1 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 当我们使用读写分离、缓存后,数据库的压力还是很大的时候,这就需要使用到数据库拆分了。数据库拆分简单来说,就是指通过某种特定的条件,按照某个维度,将我们存放在同一个数据库中的数据分散存放到多个数据库(主机)上面以达到分散单库(主机)负载的效果。切分模式: 垂直(纵向)拆分、水平拆分。垂直拆分一个数据库 阅读全文
posted @ 2021-10-29 10:08 bluesky1 阅读(1273) 评论(0) 推荐(0) 编辑
摘要: 假如没有分布式事务在一系列微服务系统当中,假如不存在分布式事务,会发生什么呢?让我们以互联网中常用的交易业务为例子: 上图中包含了库存和订单两个独立的微服务,每个微服务维护了自己的数据库。在交易系统的业务逻辑中,一个商品在下单之前需要先调用库存服务,进行扣除库存,再调用订单服务,创建订单记录。正常情 阅读全文
posted @ 2021-10-29 10:08 bluesky1 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 看看阿里巴巴中文网站首页 以女装/女包包为例 商品基本信息名称、价格,出厂日期,生产厂商等关系型数据库:mysql/oracle目前淘宝在去O化(也即拿掉Oracle),注意,淘宝内部用的Mysql是里面的大牛自己改造过的为什么去IOEIBM小型机 廉价的PC机oracle数据库 myqlEMC存储 阅读全文
posted @ 2021-10-29 10:06 bluesky1 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2021-10-29 09:49 bluesky1 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 为什么使用NoSQL ?今天我们可以通过第三方平台(如:Google,Facebook等)可以很容易的访问和抓取数据。用户的个人信息,社交网络,地理位置,用户生成的数据和用户操作日志已经成倍的增加。我们如果要对这些用户数据进行挖掘,那SQL数据库已经不适合这些应用了, NoSQL数据库的发展也却能很 阅读全文
posted @ 2021-10-29 09:48 bluesky1 阅读(61) 评论(0) 推荐(0) 编辑
摘要: RDBMS vs NoSQLRDBMS SQL 高度组织化结构化数据 结构化查询语言(SQL) 数据和关系都存储在单独的表中。 数据操纵语言,数据定义语言 严格的一致性 基础事务 NoSQL 代表着不仅仅是SQL 没有声明性查询语言 没有预定义的模式 -键 - 值对存储,列存储,文档存储,图形数据库 阅读全文
posted @ 2021-10-29 09:48 bluesky1 阅读(36) 评论(0) 推荐(0) 编辑
摘要: MySQL数据库也经常存储一些大文本字段,导致数据库表非常的大,在做数据库恢复的时候就导致非常的慢,不容易快速恢复数据库。比如1000万4KB大小的文本就接近40GB的大小,如果能把这些数据从MySQL省去,MySQL将变得非常的小。关系数据库很强大,但是它并不能很好的应付所有的应用场景。MySQL 阅读全文
posted @ 2021-10-29 09:47 bluesky1 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 单机MySQL的美好年代 在90年代,一个网站的访问量一般都不大,用单个数据库完全可以轻松应付。 在那个时候,更多的都是静态网页,动态交互类型的网站不多。 上述架构下,我们来看看数据存储的瓶颈是什么?1. 数据量的总大小 一个机器放不下时2. 数据的索引(B+ Tree)一个机器的内存放不下时3. 阅读全文
posted @ 2021-10-29 09:45 bluesky1 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 业务介绍 什么是秒杀?通俗一点讲就是网络商家为促销等目的组织的网上限时抢购活动 比如说京东秒杀,就是一种定时定量秒杀,在规定的时间内,无论商品是否秒杀完毕,该场次的秒杀活动都会结束。这种秒杀,对时间不是特别严格,只要下手快点,秒中的概率还是比较大的。淘宝以前就做过一元抢购,一般都是限量 1 件商品, 阅读全文
posted @ 2021-10-29 09:32 bluesky1 阅读(136) 评论(0) 推荐(0) 编辑