1

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

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

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

据我所知,DashDB 有两种风格 - 常规(在这里松散地使用这个术语来指代标准产品)和 DashDB 事务。

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

  1. 我想了解 JPA 是否能很好地与 DashDB 配合使用。我无法在这个空间中找到好的信息。
  2. 我们应该对 DashDB 常规和事务性使用非规范化设计吗?
4

2 回答 2

2

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

于 2016-05-27T05:54:40.257 回答
-1

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

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

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

于 2016-06-27T06:45:36.813 回答