网站首页 > 技术文章 正文
前言
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视频
- 最近发表
-
- count(*)、count1(1)、count(主键)、count(字段) 哪个更快?
- 深入探索 Spring Boot3 中 MyBatis 的 association 标签用法
- js异步操作 Promise fetch API 带来的网络请求变革—仙盟创梦IDE
- HTTP状态码超详细说明_http 状态码有哪些
- 聊聊跨域的原理与解决方法_跨域解决方案及原理
- 告别懵圈!产品新人的接口文档轻松入门指南
- 在Javaweb中实现发送简单邮件_java web发布
- 优化必备基础:Oracle中常见的三种表连接方式
- Oracle常用工具使用 - AWR_oracle工具有哪些
- 搭载USB 3.1接口:msi 微星 发布 990FXA Gaming 游戏主板
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)