# DBS

# Flag

DBS(Data Base System,数据库系统)包括:DB(数据库)和DBMS(database management system,数据库管理系统) ,Structured Query Language(SQL)

备份/迁移/同步/导入导出

(EXTRACT,TRANSFORMATION,LOAD) ETL:Talend、Kettle、Informatica、Inaplex Inaport、Hevo、Xplenty、Skyvia、DBConvert Studio、Sprinkle

数据库分类

  1. 关系型数据库(SQL)
  2. 非关系型数据库(NoSQL):键值、列存储、图形、文档、搜索引擎
  3. 网状数据库
  4. 层次数据库
  5. 新型数据库(NewSQL):关系型数据库与NoSQL的结合 The bridge between SQL and NoSQL (opens new window)
  6. 分布式数据库

NoSQL

  • 1970: NoSQL = We have no SQL
  • 1980: NoSQL = Know SQL
  • 2000: NoSQL = No SQL!
  • 2005: NoSQL = Not only SQL
  • 2013: NoSQL = No, SQL!

# 其他数据库

图数据库 (opens new window)

# Redis

存储方式

  • 适合用 String 存储的情况:
    • 每次需要访问大量的字段
    • 存储的结构具有多层嵌套的时候
  • 适合用 Hash 存储的情况:
    • 在大多数情况中只需要访问少量字段
    • 自己始终知道哪些字段可用,防止使用 mget 时获取不到想要的数据

安装

wget https://download.redis.io/redis-stable.tar.gz
tar -zvf redis-stable.tar.gz
cd redis-stable
make
make install
cp redis.conf /etc/redis.conf
vi /etc/redis.conf

输入/daemonAidaemonize no改成daemonize yes 允许任意IP访问:输入/NETWORK搜索,替换bind 127.0.0.1bind 0.0.0.0 设置访问密码:输入/SECURITY搜索,取消注释requirepass foobared 修改protected-mode yes(保护模式,需配置设置访问密码) 为 protected-mode no

# 启动
redis-server /etc/redis.conf
ps -ef | grep redis
# 连接redis
redis-cli -p 端口 -a 密码
# 配置设置密码,不会修改配置文件
config set requirepass 密码
# 单实例关闭redis
redis-cli shutdown
# 多实例关闭,指定端口关闭redis
redis-cli -p 6379 shutdown

# MongoDB