数据库
...大约 15 分钟
DB-TUTORIAL
💾 db-tutorial 是一个数据库教程。
- 🔁 项目同步维护:Github | Gitee
- 📖 电子书阅读:Github Pages | Gitee Pages
目录
关系型数据库
列式数据库
HBase 架构
、HBase 快速入门
、HBase 命令
、HBase 数据模型
、HBase 运维
、HBase Java API 高级特性之过滤器
、HBase Java API 高级特性之协处理器
、HBase Java API 管理功能
、HBase Java API 基础特性
、HBase Java API 其他高级特性
、HBase Schema 设计
数据库中间件
数据库综合
搜索引擎数据库
Elasticsearch
- Elasticsearch 简介
- Elasticsearch 存储
- Elasticsearch 搜索(上)
- Elasticsearch 搜索(下)
- Elasticsearch 聚合
- Elasticsearch 分析
- Elasticsearch DSL
- Elasticsearch 集群
- Elasticsearch 优化
- Elasticsearch 运维
- Elasticsearch API
- ElasticSearch API 之 High Level REST Client
- Elasticsearch 面试 💯
Elastic
- Elastic 快速入门
- Elastic 技术栈之 Filebeat
- Filebeat 运维
- Elastic 技术栈之 Kibana
- Kibana 运维
- Elastic 技术栈之 Logstash
- Logstash 运维
文档数据库
KV 数据库
Redis
- Redis 基本数据类型 - 关键词:
String
、Hash
、List
、Set
、Zset
- Redis 高级数据类型 - 关键词:
BitMap
、HyperLogLog
、Geo
、Stream
- Redis 数据结构 - 关键词:
对象
、SDS
、链表
、字典
、跳表
、整数集合
、压缩列表
- Redis 内存管理 - 关键词:
定时删除
、惰性删除
、定期删除
、LRU
、LFU
- Redis 持久化 - 关键词:
RDB
、AOF
、SAVE
、BGSAVE
、appendfsync
- Redis 事件 - 关键词:
文件事件
、时间事件
- Redis 复制 - 关键词:
SLAVEOF
、SYNC
、PSYNC
、命令传播
、心跳
- Redis 哨兵 - 关键词:
高可用
、监控
、选主
、故障转移
、Raft
- Redis 集群 - 关键词:
高可用
、监控
、选主
、故障转移
、分区
、Raft
、Gossip
- Redis 订阅 - 关键词:
订阅
、SUBSCRIBE
、PSUBSCRIBE
、PUBLISH
、观察者模式
- Redis 独立功能 - 关键词:
事务
、ACID
、MULTI
、EXEC
、DISCARD
、WATCH
- Redis 管道 - 关键词:
Pipeline
- Redis 脚本 - 关键词:
Lua
- Redis 运维 - 关键词:
安装
、配置
、命令
、集群
、客户端
- Redis 实战 - 关键词:
缓存
、分布式锁
、布隆过滤器
- Redis 面试 - 关键词:
面试
Redis
资料 📚
数据库综合资料
- DB-Engines - 数据库流行度排名
- 书籍
- 《数据密集型应用系统设计》 - 这可能是目前最好的分布式存储书籍,强力推荐【进阶】
- 教程
- CMU 15445 数据库基础课程
- CMU 15721 数据库高级课程
- 检索技术核心 20 讲 - 极客教程【进阶】
- 后端存储实战课 - 极客教程【入门】:讲解存储在电商领域的种种应用和一些基本特性
- 论文
- 文章
关系型数据库资料
- 综合资料
- 《数据库的索引设计与优化》
- 《SQL 必知必会》 - SQL 的基本概念和语法【入门】
- Oracle 资料
Mysql 资料
- 官方
- Mysql 官网
- Mysql 官方文档
- 官方 PPT
- 书籍
- 《高性能 MySQL》 - 经典,适合 DBA 或作为开发者的参考手册【进阶】
- 《MySQL 技术内幕:InnoDB 存储引擎》
- 《MySQL 必知必会》 - Mysql 的基本概念和语法【入门】
- 教程
- MySQL 实战 45 讲
- runoob.com MySQL 教程 - 入门级 SQL 教程
- mysql-tutorial
- 文章
- MySQL 索引背后的数据结构及算法原理
- Some study on database storage internals
- Sharding Pinterest: How we scaled our MySQL fleet
- Guide to MySQL High Availability
- Choosing MySQL High Availability Solutions
- High availability with MariaDB TX: The definitive guide
- Mysql 相关经验
- Booking.com: Evolution of MySQL System Design ,Booking.com 的 MySQL 数据库使用的演化,其中有很多不错的经验分享,我相信也是很多公司会遇到的的问题。
- Tracking the Money - Scaling Financial Reporting at Airbnb ,Airbnb 的数据库扩展的经验分享。
- Why Uber Engineering Switched from Postgres to MySQL ,无意比较两个数据库谁好谁不好,推荐这篇 Uber 的长文,主要是想让你从中学习到一些经验和技术细节,这是一篇很不错的文章。
- Mysql 集群复制
- Monitoring Delayed Replication, With A Focus On MySQL
- Mitigating replication lag and reducing read load with freno
- Better Parallel Replication for MySQL
- Evaluating MySQL Parallel Replication Part 2: Slave Group Commit
- Evaluating MySQL Parallel Replication Part 3: Benchmarks in Production
- Evaluating MySQL Parallel Replication Part 4: More Benchmarks in Production
- Evaluating MySQL Parallel Replication Part 4, Annex: Under the Hood
- Mysql 数据分区
- StackOverflow: MySQL sharding approaches?
- Why you don’t want to shard
- [How to Scale Big Data Applications](https://www.percona.com/sites/default/files/presentations/How to Scale Big Data Applications.pdf)
- MySQL Sharding with ProxySQL
- 各公司的 Mysql 数据分区经验分享
- 更多资源
- awesome-mysql - MySQL 的资源列表
Nosql 数据库综合
- Martin Fowler 在 YouTube 上分享的 NoSQL 介绍 Introduction To NoSQL, 以及他参与编写的 NoSQL Distilled - NoSQL 精粹,这本书才 100 多页,是本难得的关于 NoSQL 的书,很不错,非常易读。
- NoSQL Databases: a Survey and Decision Guidance,这篇文章可以带你自上而下地从 CAP 原理到开始了解 NoSQL 的种种技术,是一篇非常不错的文章。
- Distribution, Data, Deployment: Software Architecture Convergence in Big Data Systems,这是卡内基·梅隆大学的一篇讲分布式大数据系统的论文。其中主要讨论了在大数据时代下的软件工程中的一些关键点,也说到了 NoSQL 数据库。
- No Relation: The Mixed Blessings of Non-Relational Databases,这篇论文虽然有点年代久远。但这篇论文是 HBase 的基础,你花上一点时间来读读,就可以了解到,对各种非关系型数据存储优缺点的一个很好的比较。
- NoSQL Data Modeling Techniques ,NoSQL 建模技术。这篇文章我曾经翻译在了 CoolShell 上,标题为 NoSQL 数据建模技术,供你参考。
- MongoDB - Data Modeling Introduction ,虽然这是 MongoDB 的数据建模介绍,但是其很多观点可以用于其它的 NoSQL 数据库。
- Firebase - Structure Your Database ,Google 的 Firebase 数据库使用 JSON 建模的一些最佳实践。
- 因为 CAP 原理,所以当你需要选择一个 NoSQL 数据库的时候,你应该看看这篇文档 Visual Guide to NoSQL Systems。
选 SQL 还是 NoSQL,这里有两篇文章,值得你看看。
列式数据库资料
Cassandra 资料
- 沃尔玛实验室有两篇文章值得一读。
- Yelp: How We Scaled Our Ad Analytics with Apache Cassandra ,Yelp 的这篇博客也有一些相关的经验和教训。
- Discord: How Discord Stores Billions of Messages ,Discord 公司分享的一个如何存储十亿级消息的技术文章。
- Cassandra at Instagram ,Instagram 的一个 PPT,其中介绍了 Instagram 中是怎么使用 Cassandra 的。
- Netflix: Benchmarking Cassandra Scalability on AWS - Over a million writes per second ,Netflix 公司在 AWS 上给 Cassandra 做的一个 Benchmark。
HBase 资料
- Imgur Notification: From MySQL to HBASE
- Pinterest: Improving HBase Backup Efficiency
- IBM : Tuning HBase performance
- HBase File Locality in HDFS
- Apache Hadoop Goes Realtime at Facebook
- Storage Infrastructure Behind Facebook Messages: Using HBase at Scale
- GitHub: Awesome HBase
针对于 HBase 有两本书你可以考虑一下。
- 首先,先推荐两本书,一本是偏实践的《HBase 实战》,另一本是偏大而全的手册型的《HBase 权威指南》。
- 当然,你也可以看看官方的 The Apache HBase™ Reference Guide
- 另外两个列数据库:
KV 数据库资料
Redis 资料
- 官网
- 书籍
- 源码
- 资源汇总
- Redis Client
- 文章
- Learn Redis the hard way (in production) at Trivago
- Twitter: How Twitter Uses Redis To Scale - 105TB RAM, 39MM QPS, 10,000+ Instances
- Slack: Scaling Slack’s Job Queue - Robustly Handling Billions of Tasks in Milliseconds Using Kafka and Redis
- GitHub: Moving persistent data out of Redis at GitHub
- Instagram: Storing Hundreds of Millions of Simple Key-Value Pairs in Redis
- Redis in Chat Architecture of Twitch (from 27:22)
- Deliveroo: Optimizing Session Key Storage in Redis
- Deliveroo: Optimizing Redis Storage
- GitHub: Awesome Redis
文档数据库资料
- Couchbase Ecosystem at LinkedIn
- SimpleDB at Zendesk
- Data Points - What the Heck Are Document Databases?
MongoDB 资料
- 官方
- 教程
- 数据
- 文章
- 更多资源
搜索引擎数据库资料
ElasticSearch
- 官方
- Elasticsearch 官网
- Elasticsearch Github
- Elasticsearch 官方文档
- Elasticsearch: The Definitive Guide - ElasticSearch 官方学习资料
- 书籍
- 教程
- 文章
- 更多资源
图数据库
- 首先是 IBM Devloperworks 上的两个简介性的 PPT。
- 然后是一本免费的电子书《Graph Database》。
- 接下来是一些图数据库的介绍文章。
时序数据库
- What is Time-Series Data & Why We Need a Time-Series Database
- Time Series Data: Why and How to Use a Relational Database instead of NoSQL
- Beringei: High-performance Time Series Storage Engine @Facebook
- Introducing Atlas: Netflix’s Primary Telemetry Platform @Netflix
- Building a Scalable Time Series Database on PostgreSQL
- Scaling Time Series Data Storage - Part I @Netflix
- Design of a Cost Efficient Time Series Store for Big Data
- GitHub: Awesome Time-Series Database
传送 🚪
◾ 💧 钝悟的 IT 知识图谱 ◾
Powered by Waline v2.15.7