SAP HANA Index Server Architecture:
SAP HANA Index Server体系架构图:
-
连接和会话管理(Connection and Session Management) 主要负责创建和管理会话和管理连接数据库的客户端,用于与用户进行交互。一旦建立一个会话,index server会分配一块专用会话内存,客户端可以通过SQL 语句与SAP HANA数据库进行交互。每个会话都会存放有相应会话信息,有一组参数数据,如:auto-commit,当前事务隔离级别等,在创建会话进行用户权限认证可以由SAP HANA数据库本身进行验证(登录的用户名和密码),也可以通过委托给外部第三方认证机构进行验证如LDAP directory。 通过HANA 的监控视图M_CONNECTIONS可以得到连接的详细信息,如连接类型,资源使用情况。MEMORY_SIZE_PER_CONNECTION保存的一个连接占用的内存大小。
-
请求处理和执行控制(Request Processing And Execution Control) 对客户端请求进行分析和执行的一套组件。请求解析器负责分析客户端请求和调度它到相应的组件去处理。执行层充当控制器调用不同的引擎和路线的中间结果去下一个执行步骤。例如,事务控制语句被转发到事务管理器。数据定义语句派遣的元数据管理和对象调用转发到对象存储。数据操作语句被转发给优化器创造一个优化的执行计划,随后被转发到执行层。
SQL解析器(SQL Parser):检查SQL语句的语法和语义,生成逻辑的执行计划,标准的SQL语句可以直接被HDB引擎处理运行。
Sqlscript: SAP HANA数据库有自己的脚本语言叫Sqlscript,Sqlscript是一个SQL语句扩展的集合,目的是为了优化SQL语句,增强SQL语句的并行性。Sqlscript操作数
据库表采用的SQL查询处理一种对数据库无副作用的功能。目的是把密集型数据的应用逻辑卸载到数据库中,在数据库进行计算。
多维表达式(Multidimensional Expressions(MDX)):是一个语言,用来对存储在联机事务处理数据立方体中的多维数据进行查询和操作处理。
3. 事务管理(Transaction Manager):
4. 元数据管理(Metadata Manager) :
5. 权限管理(Authorization Manager) :
6. 数据库优化器(Database Optimizer):
7. 数据库执行器(Database Executor):
8. 行存储(Row Store):
9. 列存储(Column Store):
10.持久层(Persistence Layer):