数据库
文章平均质量分 90
CoLiuRs
菜鸟。
展开
-
Go 存储系列:Hash存储引擎 Bitcask
Bitcask 是一种底层格式为日志模样的 kv 存储,就是只追加,保证文件是一直顺序写入的,写入性能非常好大部分接触的KV存储引擎是可能都是Redis。Redis的所有数据都是装在内存的,也可以根据配置持久化在磁盘里面,但是读都是从内存里面读的,这意味着redis的读写速度都非常快。但是这有一个限制,那就是单机Redis存储的数据不能大于内存本身。而Bitcask的最大限制是内存必须装得下所有的key,因为Bitcask的value是存在磁盘上的。原创 2023-05-26 18:50:56 · 1304 阅读 · 1 评论 -
缓存数据一致性,雪崩,大Key,热Key问题解决方案
使用缓存为什么使用缓存缓存就是数据交换的缓冲区(称作Cache),目的就是提高我们的接口性能,特别是那些需要大量CPU计算和I/O获取的数据。使用缓存带来的问题缓存虽然能够提高应用程序的性能,但也会带来一些问题。比如:缓存失效,缓存击穿,缓存雪崩,数据一致性问题缓存雪崩缓存失效为什么会带来问题呢?试想一下,单个的缓存失效其实并不会引发多大的问题,问题在于当大量的Key同时失效时,在高并发的情况下,大量的请求同时到数据库层,会给数据库层带来压力,从而引发其他的问题。解决方案优化过期时间既然是原创 2022-05-10 00:57:46 · 1215 阅读 · 0 评论 -
ElasticSearch 系列:入门
简介Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用Elasticsearch的水平伸缩性,能使数据在生产环境变得更有价值。ElasticSearch 应用场景海量数据分析引擎站内搜索引擎数据仓库基本概念Elasticsearch 是一个分布式文档存储。Elasticsearch 不是将信息存储为列状数据的行,而是存储已序列化为 JSON 文档的复杂数据结构。当集群中有多个 Elasticsearch原创 2021-09-17 01:32:11 · 112 阅读 · 0 评论 -
详解DB数据迁移
数据迁移概述简单讲:将数据从一个地方转移到另外一个地方,或者是从一个应用程序移动到另一个应用程序,实现对原有数据的复制。复杂讲:不仅仅是将数据从一个地方移动到另一个地方。这里需要考虑业务定义、架构变更、应用改造、数据一致性等诸多方面问题。在实际迁移工作中,需要结合业务方方面面,做好合理规划及实施,否则很可能会导致迁移结果达不到预期,浪费人力。迁移目的成本现有数据库成本过高,因而考虑至低成本方案。这里需要关注几点:迁移后方案的总体成本,不仅要考虑初期采购成本,也要考虑后期维护及商业方案中过了初始几原创 2021-05-12 00:07:37 · 1528 阅读 · 0 评论 -
docker 使用 mysql
docker 使用 mysql下载mysql镜像docker pull mysql 启动MySQL实例:docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysqldocker 命令查看容器docker ps删除容器docker rm ${ID}停止容器docker stop ${ID}进入容器docker exec -it mysql bash..原创 2020-11-05 00:33:26 · 81 阅读 · 0 评论 -
MySQL 学习笔记(索引)
MySQL 学习笔记(索引)索引什么是索引索引有哪些优缺点索引使用场景索引覆盖索引有哪几种类型索引的数据结构B-Tree 索引哈希索引哈希索引的限制空间数据索引(R-Tree)全文索引索引的优点高性能的索引策略独立的列前缀索引和索引选择性多列索引查询性能优化为什么查询速度会慢慢查询基础:优化数据访问重构查询的方式...原创 2020-04-25 23:04:40 · 281 阅读 · 0 评论 -
MySQL 学习笔记(Schema、事物)
MySQL 学习笔记(Schema、事物)Schema 设计数据类型的选择整数实数字符串类型BLOB和TEXT 类型日期和时间类型MySQL Schema 设计中的陷阱范式和反范式范式化通常带来的好处反范式的优缺点事务四个基本特性事务隔离级别Read Uncommitted(未提交读)Read Committed(提交读)Repeatab...原创 2020-04-25 23:03:58 · 713 阅读 · 0 评论 -
MySQL 学习笔记(基础)
MySQL 学习笔记基础查询数据 Select使用一个查询获取数据库中所有表的MySQL行计数比较两个表不同的数据case表达式插入数据(Insert)具有SELECT子句的MySQL INSERT更新表数据(UPDATE)删除表数据(DELETE)修改表结构ALTER TABLE语句更改列将新的列添加到表中重命名表Schema 设计...原创 2020-04-19 22:42:34 · 126 阅读 · 0 评论 -
MongoDB 学习笔记
MongoDB 学习笔记简介MongoDB 将数据存储为一个文档。MongoDB是一个基于分布式文件存储的数据库。链接格式:mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]数据库一个mongodb中可以建立多个数据库,MongoD...原创 2020-03-16 23:47:22 · 180 阅读 · 0 评论 -
Redis 常用命令
Redis是什么基于内存的支持持久化k:v NOSQL 数据库用途缓存、数据库、消息中间件RedisDesktopManger功能持久化功能发布订阅功能事务功能过期键功能复制集群RedisRedis 是一个开源的,基于内存的结构化数据存储媒介,可以作为数据库、缓存服务或消息服务使用。Redis支持多种数据结构,包括字符串、哈希表、链表、集合、有序集合、...原创 2020-03-03 01:00:52 · 237 阅读 · 0 评论