介绍HANA
关于HANA的中文资料似乎比较少,整理了一下,抛砖引玉,有错请指出:)
HANA是什么
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到硬件,通过高性能硬件提高数据查询速度,通过采用列式结构减少需要在存储和内存间移动的数据量,通过高速网络接口提供数据传输的效率。
HANA能做什么
HANA不是一个数据仓库,而是一个平台,在这个平台之上用户可以构建数据仓库或集市、报表和仪表盘等。
HANA能做的,首先是作为内存数据库,提供数据插入、修改和高效的查询功能。
其次,作为一个平台,在HANA之上,BO报表系统可以提供更好的用户体验 – 用户几乎不需要等待数据返回。
用户可以使用HANA的建模工具直接访问ECC或其它数据源,避开BW。但也可以在HANA之上建BW,把BW那些性能问题交给HANA解决。
HANA的架构
下图比较直观地展示了HANA的软件架构:
最下层是SAP ECC、BW及其它非SAP数据源,通过Data Services和Modeling Studio把数据导入HANA,通过Replication Services写到磁盘,,通过HANA计算引擎处理数据插入和查询等操作。HANA是一个平台,在这个平台之上可以是BO、BW,以及其它产品。
HANA的价格
了解到的信息就是Hasso说HANA can run an entire company on a box comparable to a Mac mini,大概是几千美元到几万美元。应当比几百万美元的Oracle Exadata便宜。