网站首页 > 技术文章 正文
前言
SAP HANA(全称SAP High-performance ANalytic Appliance)
是SAP出品的一款基于列式存储的内存数据库软硬件一体的解决方案。
目前接触到的hana是传统公司还在使用SAP技术,故而依赖SAP下的hana数据库,数据中台从该数据库抽取数据一般默认需要它下发给Oracle或者Mysql再进行后续操作。
目前使用SAP(普通小公司用不起)或者Hana数据库的企业应该很少。
PS: 由于SAP的开发者团队很少,所以据了解这类高级开发很多去做外包或者说free的,每个月到手3W,还是不错的
这里归纳总结一下Hana的特点与工作原理
HANA的特点:
- 内存数据库系统:SAP HANA可以把系统所有的数据都载入内存中。因此,与传统的将数据存储在硬盘上的数据库相比,HANA的性能可以提升10~10,000倍。
- 列式存储:HANA使用了列式存储,可以提高内存的使用率和数据的检索效率。
- MPP架构
- 自动压缩数据
- 并行处理高并发:SAP HANA专门针对并行处理做了优化。
- 云计算: X86架构,可以扩展成云数据库。可以运行到VMWare
- 行列混合存储
- 可对接大数据工具:HANA可以对接大数据处理工具(例如Hadoop和R语言)。
列式存储举例:
HANA工作原理
- HANA工作台处理进行 HANA 建模、系统日常管理和监控等操作。同时具备基本的商业BI与报表能力。
- 数据加载:将数据抽取到 SAP HANA。在 HANA 环境下提供了众多的 ETL 工具,
- 使用 SLT 可以实现数据的实时同步抽取。而使用 Data Services 组件可以根据业务需求,定时周期性地从多个数据源抽取最新的业务数据,并将其填充至 HANA 内存中。还可以利用 DXC (Direct Extractor Connection)方式直接抽取 SAP 系统中的标准数据源。
- 对数据源的支持:SAP HANA 支持所有的主流系统的数据源。
- 客户可以使用JDBC、ODBC、Python等调用SAP HANA,提供了丰富的API能力。这里其实R语言几乎用的人就很少了
简化版本:
HANA的系统组成
Name Server(名字服务器):整个 HANA 数据库系统环境中通讯管理,通过 Name Server 可以知道当前 HANA 服务器的部署情况;
Index Server(索引服务器): HANA 核心组件,承担着内存管理、事务管理、元数据管理器及权限认证、多版本并发控制(MVCC)等众多的管理工作;
Statistics Server(统计分析服务器):负责收集所有数据库组件运行的状态、执行效率和资源的消耗状态,还监控 HHANA Studio 的访问,并且返回不同的提示信息给登录的用户;
Pre-processor Server(预处理器服务器)
XS Engine (XS 引擎或 XS Server):可以将持久层的数据模型封装成 HTTP 的方式供外部使用;
Hdbdaemon:以正确的顺序开始或停止其他进程
HANA的吉尼斯纪录
HANA拿到了最大数据仓库12PB的吉尼斯纪录,证明了其强大的数据能力。
- 上一篇: 搭建Python自带静态Web服务器
- 下一篇: python服务器socket编程
猜你喜欢
- 2025-01-01 Python的一个轻量级桌面GUI开发第三方库:Eel
- 2025-01-01 隐藏彩蛋:你知道python有一个内置的数据库吗?
- 2025-01-01 Python编程绝对初学者指南,一步一步的指南,有示例和实验练习
- 2025-01-01 python服务器socket编程
- 2025-01-01 搭建Python自带静态Web服务器
- 2025-01-01 python套接字socket编程搭建简易服务器,完成计算器实例
- 2025-01-01 Python快速搭建HTTP服务
- 2025-01-01 手把手教你使用Python轻松搞定发邮件
- 2025-01-01 软件测试工程师必会技术:Python带你上手WebSocket
- 2025-01-01 使用python爬取抖音app视频
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)