关于SinoDB的系统结构,首先从以下这张图开始讲解:
这张图,将SinoDB的系统架构进行了描述。在上方,如电脑模样的,代表的是客户(Client);中间深色椭圆代表共享内存,而里面的彩色条纹代表的是SinoDB的进程和线程;下方圆柱形代表磁盘存储系统。
并且上方的Fan-in(扇入)和Fan-out(扇出)是SinoDB的进程管理中所提供的高度并行机制。Fan-in(扇入),是由多到少,表示少数进程能同时处理大批量的数据信息,避免所有的进程都运行在操作系统上。Fan-out(扇出),是由少到多,表示一件复杂的事务过程,可以拆分成多个小规模的事务并行处理。
因此,SinoDB数据库服务器的组件是由进程、共享内存和磁盘锁组成。进程主要是执行数据库服务器实例(instance)请求的任务。共享内存用于缓存数据表的数据,以及维护和控制进程所需的资源。磁盘用于存储数据表的数据和数据库服务器的系统信息。
以下就是SinoDB数据库服务器的系统架构图:
从图上我们可以看到,系统将物理CPU虚拟为内部的逻辑处理器(VP),按其功能分为不同的类型,主要包含有CPU、AIO、PIO、LIO等。而共享内存组件则分为:常驻内存段、虚拟段和消息段,每个部分用来存储不同的信息。最后,磁盘组件(DbSpace)是一个逻辑管理单元,包含:rootdbs(根数据库表空间)、物理日志表空间、逻辑日志表空间、临时表空间和用户数据表空间