使用DashDB作为数据库(而不是数据仓库)

时间:2016-05-27 00:07:00

标签: java jpa ibm-cloud dashdb

注意:这不是一个编程问题(至少在目前)。一旦我开始进一步发展,就会寻求社区对编程问题的帮助。如果这个问题被认为不合适,请随意删除。

我正在尝试将DashDB作为Bluemix上的数据库使用。 DashDB数据将由Java / Java EE应用程序使用

我不打算将其用作数据仓库。

据我所知,DashDB有两种形式 - Regular(在这里松散地使用这个术语来指代标准产品)和DashDB Transactional。

DashDB Transaction,我相信用于事务工作负载。

  1. 我想了解JPA是否适合DashDB。我无法在这个空间找到好的信息。
  2. 我们应该对DashDB Regular和Transactional使用非规范化设计吗?

2 个答案:

答案 0 :(得分:2)

dashDB Transactional Bluemix计划提供了针对在线事务处理(OLTP)优化的dashDB数据库。这意味着它专为高度结构化的重复处理而设计,并支持ACID事务。这就是说你应该使用经典RDBMS所使用的所有最佳实践:规范化,约束等。我确认dashDB-JPA集成还没有很好地记录,但在使用JPA时应该没有特别的问题。由于您的应用程序将在Liberty Runtime上运行,因此当您绑定dashDB服务实例时,server.xml会自动使用带有JNDI名称的dataSource进行配置,并且还会添加数据库驱动程序jar。

答案 1 :(得分:-1)

JPA今天无法与DashDB无缝协作。 DashDB使用按列组织的默认值,JPA不能很好地使用它。今天没有特定的方法来使用JPA中的注释按行设置组织。我们试图覆盖DB2Dictionary,但这也不起作用。

如果我使用sql语句删除表并使用附加了逐行组织的sql语句重新创建表,则JPA能够读取该表。

不确定谁应该解决此问题 - JPA或DashDB:)