HANA(High-Performance Analytic Appliance)高性能分析设备
HANA是一个软硬件结合体,提供高性能的数据查询功能,用户可以直接对大量实时业务数据进行查询和分析,而不需要 对业务数据进行建模、聚合等。用户拿到的是一个装有预配置软件的设备。至于HANA的云服务,只是对用户而言可以在不购买相关硬件的情况下享受HANA的 高性能,而HANA云服务的背后还是需要更高性能的硬件支撑的。
软件方面,HANA的内存数据库(SAP In-Memory Database, IMDB)是其重要组成部分,包括数据库服务器(In-Memory Database Server)、建模工具(Studio)和客户端工 具(ODBO、JDBC、ODBC、SQLDBC等)。HANA的计算引擎(Computing Engine)是其核心,负责解析并处理对大量数据的各类CRUDQ操作,支持SQL和MDX语句、SAP和non-SAP数据。比较显而易见的一点 是,HANA计算引擎要快速处理用户复杂的查询请求,快速返回查询结果。
SAP内存数据库的 数据并不是只在内存里,也会不停写到硬盘里,这就用到复制服务器Replication Server,包括Log-based,Trigger-based和ETL-based。这些复制服务器需要用到Sybase Replication Server、Sybase Replication Server Agent、Sybase Adaptive Server EntERPrise (AES,适用性服务器)等,以及HANA Load Controller和BO Data Services。
操作系统方面,HANA目前只能运行在Suse Linux 企业版(SLES)上。
硬件方面,SAP和多个硬件厂商合作生产支 持HANA的高性能服务器,包括Dell R910、Fujitsu、HP DL580、IBM x3850等,以及和Cisco(Cisco Unified Computing System. UCS)等公司的合作。直观地说,这些机器的硬盘可能是数个600GB、转速10k rpm的硬盘组成RAID,内存可能有1T,文件系统可能是ext3或GPFS(IBM通用并行文件系统,General Parallel File System)。
和HANA类似,Oracle的Exadata也是一个预配置的软硬件结合体,提供高性能的数据读写操作。 Exadata机器由Exadata数据库机器、Exadata数据库服务器、Exadata存储服务器以及高速网络接口等组成。InfiniBand端 口的传输速度可以达到40Gb/秒。
HANA的快在于用大内存提供内存数据库,并在内存数据库里采用列式存储从而可以将更多的数据装进内存(列式存储更适合数据压缩)。
Exadata的快在于把大部分数据库操作push到硬件,通过高性能硬件提高数据查询速度,通过采用列式结构减少需要在存储和内存间移动的数据量,通过高速网络接口提供数据传输的效率。