数据库
MySQL NotePostgreSQLHBaseRedisMongoDBMongoDB TestCassandraElasticSearchNeo4j数据湖IcebergYCSBYCSB EorrorJMeter分布式存储非分布式存储单机文件系统的挑战分布式存储选型参考:其他FTP服务
关系型数据库
MySQL Note
PostgreSQL
列式数据库
HBase
键值数据库
Redis
Redis Note0:命令Redis Note2:性能测试工工具redis-benchmarkRedis Note4:Redis为什么单线程的这么快Redis Note6:Redis-Key—ListRedis Note8:Redis-Key—HashRedis Note10:三种特殊数据类型—Geospatial地理位置Redis Note12:三种特殊数据类型—BitmapsRedis Note14:Redis实现乐观锁Redis Note16:Python连接RedisRedis Note18:Redis配置文件Redis Note20:持久化之AOF操作Redis Note22:Redis伪集群环境搭建Redis Note24:主从模式搭建+哨兵Redis Note26:Docker搭建Redis一主二从三哨兵Redis Note28:Redis的Slot槽Redis Note30:Java使用RedisRedis Note3:De
Redis Note1:安装Redis Note3: 基础知识(命令)Redis Note5:Redis-Key—StringRedis Note7:Redis-Key—SetRedis Note9:Redis-Key—ZSetRedis Note11:三种特殊数据类型—HyperloglogRedis Note13:Redis事务Redis Note15:Java连接Redis—JedisRedis Note17:SpringBoot整合RedisRedis Note19:持久化之RDB操作Redis Note21: Redis发布订阅Redis Note23:主从模式搭建Redis Note25:Redis缓存穿透和雪崩Redis Note27:一致性Hash算法Redis Note29:Redis Cluaster高可用集群Redis Note31:Python使用RedisRedis Note3:De (1)
文档型数据库
MongoDB
MongoDB Test
Cassandra
ElasticSearch
ElasticSearch1:简介 ElasticSearch3:开启远程访问ElasticSearch5:Kibana可视化平台ElasticSearch7:使用docker-compose一键启动ES&Kibana服务ElasticSearch9:索引操作ElasticSearch11:文档操作ElasticSearch13:高亮查询 ElasticSearch15:分词器ElasticSearch17:中文分词器IKElasticSearch19:过滤查询ElasticSearch21:ES集群ElasticSearch22:Docker搭建集群ESElasticSearch24:K8S搭建ESElasticSearch2:De(10)
图数据库
Neo4j
时序数据库
数据湖
数据湖
Iceberg
Iceberg1: 数据湖Iceberg技术在小米的落地与场景应用
其他
数据库测试
一、基准测试,无实际业务场景压测方法
- YCSB工具压测
二、有实际业务场景压测方法
- jmeter
YCSB
YCSB Eorror
YCSB Eorror (1)except subprocess.CalledProcessError, err:YCSB Eorror (2)./bin/ycsb.sh: 205: mvn: not foundYCSB Eorror (3)SLF4J: Failed to load class”org.slf4j.impl.StaticLoggerBinder".YCSB Eorror (4)com.datastax.driver.core.exceptions.InvalidQueryException: ANY ConsistencyLevel is only supported for writesYCSB Eorror (5)YCSB Eorror (6)JMeter
分布式存储
文件系统 | 开发者 | 开发语言 | 开发协议 |
GFS | Google | ㅤ | 不开源 |
HDFS | Apache | Java | Apache |
Ceph | 加州大学圣克鲁兹分校Sage Weil | C++ | LGPL |
TFS | Alibaba | C++ | GPL V2 |
GlusterFS | ZRESEARCH | C | GPL V3 |
GridFS | MongoDB | C++ | ㅤ |
非分布式存储
直连存储 (DAS):存储和数据直连,拓展性、灵活性差。
中心化存储(NAS、SAN):设备类型丰富,通过网络互连,具有一定的拓展性,但是受到控制器能力限制,拓展能力有限。同时,设备到了生命周期要进行更换,数据迁移需要耗费大量的时间和精力。
单机文件系统的挑战
绝大多数文件系统都是单机的,在单机操作系统内为一个或者多个存储设备提供访问和管理。随着互联网的高速发展,单机文件系统面临很多的挑战:
- 共享:无法同时为分布在多个机器中的应用提供访问,于是有了 NFS 协议,可以将单机文件系统通过网络的方式同时提供给多个机器访问。
- 容量:无法提供足够空间来存储数据,数据只好分散在多个隔离的单机文件系统里。
- 性能:无法满足某些应用需要非常高的读写性能要求,应用只好做逻辑拆分同时读写多个文件系统。
- 可靠性: 受限于单个机器的可靠性,机器故障可能导致数据丢失。
- 可用性:受限于单个操作系统的可用性,故障或者重启等运维操作会导致不可用。
分布式存储
选型参考:
- 适合做通用文件系统的有:Ceph,Lustre,MooseFS,GlusterFS;
- 适合做小文件存储的文件系统有:Ceph,MooseFS,MogileFS,FastDFS,TFS;
- 适合做大文件存储的文件系统有:HDFS,Ceph,Lustre,GlusterFS,GridFS;
- 轻量级文件系统有:MooseFS,FastDFS;
- 简单易用,用户数量活跃的文件系统有:MooseFS,MogileFS,FastDFS,GlusterFS;
- 支持FUSE挂载的文件系统有:HDFS,Ceph,Lustre,MooseFS,GlusterFS。
其他
FTP服务
FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。