一、基础概念
xshell不让用了,免费申请网址打不开,so发现了一个轻量级ssh工具 【putty】 推荐一下,二进制打开就可以用,只有1M
数据磁盘:
1、寻址:ms级别
2、带宽:G/M
内存:
1、寻址:ns级别(比磁盘寻址快了10万倍)
2、带宽:很大
IO buffer 成本问题
磁盘与磁道,扇区,一扇区 512Byte ,扇区太小带来一个成本问题:索引变大
磁盘格式化默认4k, 无论读取多少数据,都是最少4k从磁盘拿
随着文件变大,I/O成为瓶颈,速度变慢了
数据存储在磁盘上的关系型数据库
1、数据存储在:data page(默认4k)
2、索引也是建在4k的data page上
3、数据和索引都在磁盘,内存中会存储一个B+树
3、关系型数据库建表,必须给出schema类型:字节宽度;存储:倾向于行级存储
5、差不多速度千Byte/sec
SAP公司的HANA数据库
内存级别的关系型数据库,内存为2T。ERP软件+定制硬件:售价2个亿
数据在磁盘(数据量大的时候索引也很占位置)和内存中存储体积是一样的
由此引出折中的方法,利用缓存存储数据
memcached redis(redis可达10wByte/sec)
计算机依赖的基础设施:
1、冯诺依曼的硬件体系
2、以太网、TCP/IP的网络
数据库排名网站
https://db-engines.com/en/ranking
问题
1、数据库表很大,性能下降?
增删改,速度变慢
查询速度?1、1个或者少量查询依然很快;2、并发大的时候会受硬盘带宽的影响。
二、数据类型
2.2 List(链表)
help @list
2.3 hash
2.4 set
2.5 sorted_set 有序集
元素包含 分值,正/反项索引
- 物理内存中元素是按照分值从小到大排列,排列顺序不随命令发生变化(适用于歌曲排行榜)
127.0.0.1:6379> zadd k11 8 apple 2 banan 3 orange
127.0.0.1:6379> ZRANGE k11 0 1
1) "banan"
2) "orange"
127.0.0.1:6379> zrevrange k11 -2 -1
1) "orange"
2) "banan"
127.0.0.1:6379> zrange k11 0 -1
1) "banan"
2) "orange"
3) "apple"
- 是一个集合,交、并,差集
zunionstore 交集命令 权重、聚合指令
- 排序是如何是实现,增删改查的速度
底层使用skip list跳跃表,
730

被折叠的 条评论
为什么被折叠?



