saphana是什么_saphana是什么数据库

saphana是什么_saphana是什么数据库,第1张

帮助客户制定HANA计划的咨询顾问与分析师承认其中的复杂性,他们认为HANA分析型应用将最终走进企业混合ERP环境

也许短期大规模BusinessSuite向HANA的迁移不会出现,但这是一个非常重大的变革,SAP用户必须重新评估他们的企业系统

埃森哲公司的SAP分析与HANA部门全球主管NicolaMoriniBianzino表示:“客户向HANA迁移的方式是小步走,大多数的SAP客户都在进行评估,他们需要一套系统的方法来决定如何进行迁移,以及是否在云中运行HANA

客户将从小的组件开始向HANA迁移,同时需要保证业务的正常运转

这与迁移到云的形式非常相似,部分业务留在企业内部,部分放到云中

”对于那些市场竞争中处于领先位置的大型企业来说,他们对预测分析的需求是明显的,是HANA的典型客户群

而像公共事业这种行业,他们的迁移步伐会慢一些

当HANA企业云以及相关的选项更成熟,证明迁移更可行的时候,MoriniBianzino期待一些小型公司也能够跟上脚步

相比而言,SAPBWonHANA应用更简单一些,而且成本与风险相对较低

MoriniBianzino表示:“通常BW系统的规模不是很大,所以前期的投入会相对较少

埃森哲在印度的一个制造业客户近期就完成了向HANA的迁移

”另外一些没有准备好对ERP系统进行完全“平台再造”的客户首先会考虑一些批量处理负载,比如财务结算,他们能够从HANA的性能提升上快速获得回报

改写历史一些观察家指出,HANA强袭的一个主要原因是SAP对新的收入流的迫切需求

凯捷公司的HANA咨询顾问MikePrice表示,ERP热潮早已经过去,而为了推广HANA,SAP不得不对其ERP平台进行重新投资,包括核心代码的重写

实在难以想象现在有多少人在为此写代码

SAP声称,基于HANA的BusinessSuite对客户来说将提供无缝的迁移体验,专家对此表示赞同

Forrester著名分析师PaulHamerman称,基于HANA的BusinessSuite并不是另一个版本,它更像是一个增强的功能包

客户通过迁移到HANA的确能够获得非常好的性能提升,比如在财务结算上的测试显示能够提供1000倍以上的性能提升

Hamerman表示:“在HANA的推广方面,SAP一直非常小心,不给客户造成迁移必须‘大动干戈’的印象

这与甲骨文形成鲜明对比

”Hamerman这里指的是Oracle融合应用软件产品线

HANA早期回报体现在接近实时的运行传统的批量处理应用

然而,速度并不是唯一的优势

特别是对于跨国公司来说,他们基本上会统一时间进行基于ERP的批量处理,通常是在夜里

然而由于时差关系,一些地区业务就可能需要暂停

因此这种接近于实时的处理能力会非常具有吸引力

什么是SAPHANA

SAPHANA是一个软硬件结合体,提供高性能的数据查询功能,用户可以直接对大量实时业务数据进行查询和分析,而不需要对业务数据进行建模、聚合等

saphana的作用

HANA不是一个数据仓库,而是一个平台,在这个平台之上用户可以构建数据仓库或集市、报表和仪表盘等。

HANA能做的,首先是作为内存数据库,提供数据插入、修改和高效的查询功能。

其次,作为一个平台,在HANA之上,BO报表系统可以提供更好的用户体验_用户几乎不需要等待数据返回。

用户可以使用HANA的建模工具直接访问ECC或其它数据源,避开BW。但也可以在HANA之上建BW,把BW那些性能问题交给HANA解决。

SAPHANA提供多用途的内存应用设备,企业可以利用它即时掌握业务运营情况,从而对所有可用的数据进行分析,并对快速变化的业务环境做出迅速响应。

通过SAPHANA,企业可以在业务运作期间基于海量实时详细信息分析业务运营情况。企业可以探索和分析来源于所有数据源的全部交易数据和分析数据。运营数据在产生时由内存获取,并通过灵活的视图迅速将分析信息呈现给用户。外部数据可轻松的被添加至分析模型,与整个企业的数据进行整合

通过SAPHANA可直接访问运营数据,而不影响SAPERP和其他运营系统的性能。企业可以近乎实时地将主要交易表同步到内存中,以便在分析或查找时能够轻松对这些表进行访问。一旦数据可通过内存访问,各个部门就可以从预订单据、销售线索、服务要求等大量列表中查找单个行项目,而不会对运营系统造成任何影响。这种高效的建模流程支持提供明细行项目的直接访问模型,以及支持更为复杂的分析流程的分析模型。

SAPHANA提供从概念到分析的高效工作流程。该工作流涵盖整个流程,从识别相关运营数据(将原始数据转化为相关信息)开始,到在模型中生成按语义分组的信息,最后是发布完成的模型。SAPHANA与传统分析模型的主要区别在于摒弃了任何物质化的东西,即,所有模型都是完全虚拟的,均基于基本的具体运营数据计算结果。这样,模型就能够被方便的修改。

SAPHANA可以访问任何数据。当企业需要非SAP应用程序中的运营数据,或想在现有分析模型的基础上进行扩展时,任何数据源均可作为SAPHANA的数据基础。使用SAP数据服务组件,可以将非SAP运营数据加载到SAPHANA内存中,这样,企业就可以通过极其精简的流程创建一个特定业务情景的完整视图。

SAPHANA添加了易用的建模经验来进一步提高业务用户的自主性。视图遵循语义规则,将原始运营数据转化成可以理解的信息,据此,业务用户可以在基于Web的建模环境中自主地创建新分析模型。

SAP的商务智能分析工具可以直接使用SAPHANA内存数据,使业务用户能够全面利用其所有高性能应用程序的洞察和分析功能。但是,如果用户希望使用Excel或其他工具和应用程序进行数据分析,那么他们可以通过MDX、SQL等标准接口连接到SAPHANA。

SAPHANA为现有应用程序、运营系统或其他业务应用程序提供标准接口。这意味着SAPHANA不会因为连接到现有数据源而打乱现有系统架构,并轻松利用现有BI客户端。作为一款完备的实时分析解决方案,SAPHANA可以帮助企业尽快获得收益。

在方法中,使用了hana数据源从hana数据库中查出数据,然后将数据写到mysql数据库中,对数据库进行修改 *** 作时,我们一般会添加事务回滚的 *** 作,以便程序出错时可以还原数据库。

问题:

在方法中添加能使程序异常的代码(比如:int i = 1/0;)进行测试,并在方法中贴上以下注解:

@Transactional(rollbackFor = Exceptionclass)

复制

但是发现事务并没有回滚

检查了项目的配置, 两个数据源配置了事务管理器:

hana数据源配置:

import javaxsqlDataSource;

import combaomidoumybatisplusspringMybatisSqlSessionFactoryBean;

import orgapacheibatissessionSqlSessionFactory;

import orgmybatisspringSqlSessionTemplate;

import orgmybatisspringannotationMapperScan;

import orgspringframeworkbeansfactoryannotationQualifier;

import orgspringframeworkbootjdbcDataSourceBuilder;

import orgspringframeworkcontextannotationBean;

import orgspringframeworkcontextannotationConfiguration;

import orgspringframeworkcontextannotationPrimary;

import orgspringframeworkcoreiosupportPathMatchingResourcePatternResolver;

import orgspringframeworkjdbcdatasourceDataSourceTransactionManager;

import topibase4jcoreConstants;

import topibase4jcoreutilPropertiesUtil;

import topibase4jcoreutilSecurityUtil;

@Configuration

@MapperScan(basePackages = "comxxxmapperhana",sqlSessionTemplateRef ="hanaSqlSessionTemplate")

public class HanaDataSourceConfig {

/创建数据源/

@Bean(name = "hanaDataSource")

@Primary

public DataSource gethanaDataSource() {

DataSource build = DataSourceBuildercreate()

driverClassName(PropertiesUtilgetString("hanadriverClassName"))

url(PropertiesUtilgetString("hanaurl"))

username(PropertiesUtilgetString("hanausername"))

password(SecurityUtildecryptDes(PropertiesUtilgetString("hanapassword"), ConstantsDB_KEYgetBytes()))

build();

return build;

}

@Bean(name = "hanaSqlSessionFactory")

@Primary

public SqlSessionFactory hanaSqlSessionFactory(@Qualifier("hanaDataSource") DataSource dataSource) throws Exception {

MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean();

beansetDataSource(dataSource);

//设置mapper配置文件

beansetMapperLocations(new PathMatchingResourcePatternResolver()getResources("classpath:mapper/hana/xml"));

return beangetObject();

}

/创建事务管理器/

@Bean("hanaTransactionManger")

@Primary

public DataSourceTransactionManager hanaTransactionManger(@Qualifier("hanaDataSource") DataSource dataSource){

return new DataSourceTransactionManager(dataSource);

}

/创建SqlSessionTemplate/

@Bean(name = "hanaSqlSessionTemplate")

@Primary

public SqlSessionTemplate hanaSqlSessionTemplate(@Qualifier("hanaSqlSessionFactory") SqlSessionFactory sqlSessionFactory){

return new SqlSessionTemplate(sqlSessionFactory);

}

}

复制

mysql数据源配置:

import combaomidoumybatisplusspringMybatisSqlSessionFactoryBean;

import orgapacheibatispluginInterceptor;

import orgapacheibatissessionSqlSessionFactory;

import orgmybatisspringSqlSessionTemplate;

import orgmybatisspringannotationMapperScan;

import orgspringframeworkbeansfactoryannotationQualifier;

import orgspringframeworkbootjdbcDataSourceBuilder;

import orgspringframeworkcontextannotationBean;

import orgspringframeworkcontextannotationConfiguration;

import orgspringframeworkcontextannotationEnableAspectJAutoProxy;

import orgspringframeworkcoreiosupportPathMatchingResourcePatternResolver;

import orgspringframeworkjdbcdatasourceDataSourceTransactionManager;

import orgspringframeworktransactionannotationEnableTransactionManagement;

import topibase4jcoreutilPropertiesUtil;

import javaxannotationResource;

import javaxsqlDataSource;

@Configuration

@MapperScan(basePackages = "comxxxmappermysql",sqlSessionTemplateRef ="mysqlSqlSessionTemplate")

public class MysqlDataSourceConfig {

@Resource

private MybatisPlusConfig mybatisPlusConfig;

/创建数据源/

@Bean(name = "mysqlDataSource")

public DataSource getmysqlDataSource() {

DataSource build = DataSourceBuildercreate()

driverClassName(PropertiesUtilgetString("druiddefaultdriverClassName"))

url(PropertiesUtilgetString("druidwriterdefaulturl"))

username(PropertiesUtilgetString("druidwriterdefaultusername"))

password(PropertiesUtilgetString("druidwriterdefaultpassword"))

build();

return build;

}

@Bean(name = "mysqlSqlSessionFactory")

public SqlSessionFactory mysqlSqlSessionFactory(@Qualifier("mysqlDataSource") DataSource dataSource) throws Exception {

MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean();

beansetDataSource(dataSource);

//设置mapper配置文件

beansetMapperLocations(new PathMatchingResourcePatternResolver()getResources("classpath:mapper/mysql/xml"));

Interceptor[] interceptors = {

mybatisPlusConfigpaginationInterceptor(),

mybatisPlusConfigperformanceSonInterceptor()

};

beansetPlugins(interceptors);

return beangetObject();

}

/创建事务管理器/

@Bean("mysqlTransactionManger")

public DataSourceTransactionManager mysqlTransactionManger(@Qualifier("mysqlDataSource") DataSource dataSource){

return new DataSourceTransactionManager(dataSource);

}

/创建SqlSessionTemplate/

@Bean(name = "mysqlSqlSessionTemplate")

public SqlSessionTemplate mysqlSqlSessionTemplate(@Qualifier("mysqlSqlSessionFactory") SqlSessionFactory sqlSessionFactory){

return new SqlSessionTemplate(sqlSessionFactory);

}

}

复制

由于默认的数据源是hana数据源,但是现在我们要将mysql的事务进行回滚,如果不将默认的事务管理器设置mysql对应的事务管理器为默认的话, 事务回滚将不起作用。

因此,可以添加配置类,以配置默认的事务管理器为mysql的,配置类要实现TransactionManagementConfigurer

/

将mysql数据源的事务管理器设置为默认的事务

/

@Configuration

public class SpecifyDefaultTransactionManagerConfig implements TransactionManagementConfigurer {

@Autowired

private MysqlDataSourceConfig mysqlDataSourceConfig;

@Override

public PlatformTransactionManager annotationDrivenTransactionManager() {

return mysqlDataSourceConfigmysqlTransactionManger(mysqlDataSourceConfiggetmysqlDataSource());

}

复制

再次进行测试,事务将回滚成功

如果不想添加配置类,可以在注解中标明使用的是哪个事务管理器

这里我们要用的是mysql的,因此可以这样配置

@Transactional(value = "mysqlTransactionManger",rollbackFor = Exceptionclass)

复制

value的值就是事务管理器bean的名称

spring boot

三星电视

精选推荐

广告

springboot多数据源即分布式事务解决方案

79下载·0评论

2018年10月16日

SSM多数据源配置事务回滚处理

2777阅读·0评论·1点赞

2019年1月15日

MySQL 多库事务回滚

284阅读·0评论·0点赞

2022年10月23日

Spring Boot多数据源(支持Spring声明式事务切换和回滚)pdf

10下载·0评论

2021年7月21日

Spring 事务

165阅读·0评论·0点赞

2020年4月14日

java多数据源回滚_Spring多数据源事务

1053阅读·0评论·0点赞

2021年3月10日

Springboot多数据源 解决事务回滚失效

3004阅读·6评论·2点赞

2021年8月6日

springboot 多数据源 添加事务,事务回滚

1125阅读·4评论·0点赞

2021年12月1日

dynamic-datasource多数据源的配置使用(读写分离、事务的回滚)

4146阅读·3评论·4点赞

2022年1月26日

Spring Boot项目多数据源事务不生效的问题

2641阅读·0评论·8点赞

2021年10月15日

Springboot集成SpringJDBC多数据源事务回滚(二)

SAPHANA的命令行工具主要是hdbsql,可以交互式或非交互式运行,还可以从文件导入命令执行

我们首先来看看如何交互式运行命令

我们现在已经有了一个SAPHANA数据库

进入到命令行后我们需要切换到HANA安装时创建的用户,我们将切换到这个用户名:su_a17adm

然后输入hdbsql,我们就进入了交互式界面

一般建议安装在xp系统上。但是旗舰版应该可以安装。找不到系统数据库应该是你用友软件以前安装过,并且用过的原因。需要在注册表中把installok,更改为installed 就可以重建用友系统数据库,具体注册表位置在locak_machine-software-ufsoft -uf2000(或者wf-uf8520)-setup-setup

以上就是关于saphana是什么_saphana是什么数据库全部的内容,包括:saphana是什么_saphana是什么数据库、什么是saphanasaphana有什么用_SAPHANA、失败回滚项目变成子模块等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9854825.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存