关系型数据库MySQL拓展
SQL Server
Oracle
有些厂商二次开发MySQL,添加定制功能,rename得到数据库 C/S模式好几个进程通过网络请求同一个SQLServer
安卓手机内置数据库 SQLite 进程内的数据库 不同进程访问不同的SQLite
主要的关系型数据库有 SQL Server、Oracle、MySQL、MariaDB、DB2(安全性好,日志,监控)
MySQL目前属于Oracle
MySQL区别于其他关系型数据库的一大特点,支持插件式存储引擎,InnoDB,MyISAM,Memory,不同引擎下,索引和数据是怎么存储的和原理。
设计成C/S模式,服务器模型采用了I/O复用+可伸缩线程池,是实现网络服务器的经典典型。
使用了select+线程池,没有使用epoll,MySQL的操作不仅仅是在内存上,还有磁盘I/O
网络I/O接受的快,实际处理磁盘I/O处理的慢,没有必要用epoll
uring 纯异步网络I/O编程接口,比epoll还高24%
核心问题 磁盘I/O是支持数据持久化 DB层绕不开的问题。
非关系型数据库NoSQL拓展
不支持SQL的数据库
SQL结构化查询语句,关系型数据库典型的代表
方便了数据库的增删改查,权限设置
NoSQL存储方式和关系型数据库不同,
主要是kv存储key-value,键值对存储,带有映射关系的值
关系型数据库存储是一个二维表,有行有列,行是记录,列是属性
主要非关系型数据库有redis、leveldb、rocksdb、mangodb
其他数据库
大数据分析的列式数据库
纵向数据库 Hbase
开源的分布式数据库
ceph