zoukankan      html  css  js  c++  java
  • mysql-数据库,实例,进程,线程的概念

    一些基本的概念

    数据库(DB):是磁盘上的一系列物理文件,这个“数据库”,不是我们平时口语中所说的“数据库”,后面我会提到

      mysql数据库就是一堆frm、MYD、MYI、ibd文件

    数据库管理系统(DBMS):我们平时“口语中所说的数据库",由数据库+数据库实例构成

    数据库实例(instance):操作系统中文件是死的,要使用文件(操作数据库中的数据)就需要把文件读到内存,实例就是干这个事的,

    实例是由一系列进程(或线程)和内存区组成的,和数据库打交道,都是通过实例来操作的

    mysql,pg,oracle的进程和线程设计

    mysql是单进程多线程设计的,oracle和postgres是多进程的,究其原因在这里:https://www.zhihu.com/question/20303558

    大体就是后两者出现的时间较早,那时候线程技术还不成熟

    实例和进程:

    一个mysql数据库实例在系统表现上就是一个服务进程,对于实现mysql多实例,需再安装一个端口号不同的mysql,例如InnoDB引擎的后台线程

    1. Master Thread负责将缓冲池中的数据异步刷新到磁盘
    2. IO Thread负责异步IO请求的回调处理。read thread线程数4个,write thread线程数4个
    3. Purge Thread负责事务被提交后,回收已经使用并分配的undo页
    4. Page Cleaner Thread负责脏页的刷新操作

    pg中一个实例有多个进程,实例的总控进程是Postmaster,还有其他辅助进程,包括:SysLogger系统日志进程,BgWriter后台写进程,WalWriter预写式日志进程等

    在同一台pg上创建一个实例,只需要指定一个不同的端口即可

    实例和数据库

    一般的,对于mysql和pg来说,一个实例可以操作一个或多个数据库

  • 相关阅读:
    chrome调试
    css与jquery、图标字体、常用数据
    subline 快捷键与功能解释
    mysql-5.7.25安装及常用语法
    python 异步IO-aiohttp与简单的异步HTTP客户端/服务器
    python异步IO-asyncio、async和await
    python 异步IO-协程
    python 异步IO
    python-生成器即send()用法
    python -迭代器与生成器 以及 iterable(可迭代对象)、yield语句
  • 原文地址:https://www.cnblogs.com/yb38156/p/12693773.html
Copyright © 2011-2022 走看看