标签: derby

我疯了吗?将已建立的产品从HSQLDB切换到Apache Derby

我有一个已建立的软件产品,它使用HSQLDB作为其内部设置数据库.客户项目存储在此数据库中.多年来,HSQLDB已经为我们提供了相当好的服务,但它有一些稳定性/腐败问题,我们必须围绕这些问题进行编码,即便如此,我们也似乎无法完全保护自己.

我正在考虑更改内部数据库.从开发的角度来看,这样做会相当痛苦,但是向客户解释损坏的数据库(和丢失的数据)并不好玩.

所以我的问题是:有没有人有足够的经验来衡量Apache Derby的长期稳定性?我发现谷歌的一篇帖子抱怨德比不稳定,但是从2006年开始,所以我觉得它在过去的4年里得到了改善.或者,是否存在我可以使用的另一个纯Java嵌入式(进程中)数据库(商业或开源).性能对我来说不是很重要.稳定是王道.断电时的数据完整性,良好的BLOB支持和热备份都是必须的.

请不要建议不是基于SQL的关系数据库.我正在尝试改造现有产品,而不是从头开始,谢谢.

java derby hsqldb embedded-database

22
推荐指数
6
解决办法
7968
查看次数

引发者:错误XSDB6:Derby的另一个实例可能已经启动了数据库

我正在尝试运行SparkSQL:

val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)  
Run Code Online (Sandbox Code Playgroud)

但是我得到的错误如下:

        ... 125 more
Caused by: java.sql.SQLException: Another instance of Derby may have already booted the database /root/spark/bin/metastore_db.
        at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
        at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
        at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
        at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
        ... 122 more
Caused by: ERROR XSDB6: Another instance of Derby may have already booted the database /root/spark/bin/metastore_db.
        at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
        at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.privGetJBMSLockOnDB(Unknown Source)
        at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.getJBMSLockOnDB(Unknown Source)
        at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.boot(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

我看到有一个metastore_db文件夹存在..
我的hive Metastore包含mysql as metastore.但不确定为什么错误显示为derby execption

hadoop derby apache-spark

22
推荐指数
3
解决办法
3万
查看次数

我是否需要为关系数据库表的主键创建单独的索引

如果我创建具有主键的表是为表自动创建的索引,或者是否需要单独执行.

即如果这是表ddl

 CREATE TABLE release(guid varchar(36) NOT NULL PRIMARY KEY,
name varchar(255),xmldata  CLOB(512 K))
Run Code Online (Sandbox Code Playgroud)

我还需要做什么

CREATE INDEX release_idx ON release(guid)
Run Code Online (Sandbox Code Playgroud)

或不

(我正在使用Derby一个Java附带的数据库)

database indexing derby create-table

21
推荐指数
1
解决办法
1万
查看次数

@GeneratedValue(strategy = GenerationType.AUTO)没有像想象的那样工作

我正在尝试将对象持久化到数据库.继续获取'列ID不能接受空值错误'.我的对象看起来像这样:

    @Entity
public class TestTable {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Integer id = 0;

    @Column(nullable=false, length=256)
    private String data = "";

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getData() {
        return data;
    }

    public void setData(String data) {
        this.data = data;
    }

}
Run Code Online (Sandbox Code Playgroud)

我的坚持功能:

public static synchronized boolean persistObject(Object obj){
        boolean success = true;
        EntityManager em = null;
        EntityTransaction tx = null;
        try{
            em = getEmf().createEntityManager();
            tx = …
Run Code Online (Sandbox Code Playgroud)

jboss hibernate jpa derby

19
推荐指数
2
解决办法
5万
查看次数

如何更改derby数据库的列数据类型?

我正在尝试更改derby db列的数据类型.当前价格列设置为DECIMAL(5,0).我想把它改成DECIMAL(7,2).我这样做了:

alter table item alter column price set data type DECIMAL(7,2);
Run Code Online (Sandbox Code Playgroud)

但它没有用,并显示错误:

Error: Only columns of type VARCHAR may have their length altered. 
Run Code Online (Sandbox Code Playgroud)

我可以知道如何改变它吗?谢谢.

sql database derby

18
推荐指数
2
解决办法
3万
查看次数

Clojure的嵌入式(纯Java)数据库

我需要一个用于Clojure应用程序的嵌入式数据库.也许它与任何其他Java应用程序的标准相同,但我还是得到其他人的意见.我不是选择SQLite,因为那不是纯Java,因此独立应用程序的分发变得复杂得多.似乎要走的路是Apache Derby.还有什么我应该考虑的吗?

database derby clojure embedded-database

18
推荐指数
1
解决办法
5760
查看次数

如何从Spark Shell中删除derby.log,metastore_db

运行spark-shell时会创建一个文件derby.log和一个文件夹metastore_db.如何配置spark以将这些放在其他地方?

对于derby日志,我尝试过去掉derby.log就像这样spark-shell --driver-memory 10g --conf "-spark.driver.extraJavaOptions=Dderby.stream.info.file=/dev/null"有几个不同的属性,但火花忽略了它们.

有谁知道如何摆脱这些或为他们指定默认目录?

derby apache-spark

18
推荐指数
2
解决办法
1万
查看次数

德比或MySQL还是......?

对于什么类型的要求,你会选择Apache Derby(或Java DB)而不是MySQL(反之亦然)?我环顾四周,人们只是比较两者,但没有人谈论何时考虑每一个.我正在使用Glassfish + Java/Restlet + MySQL开发基于Web的应用程序.

我希望这个系统有大约100-200个用户,在给定时间内大约有30-50个并发用户负载 - 主要是.

如果我想让网络应用程序可下载/可分发,我被告知要查看Derby.但这是我使用它的唯一原因吗?它适用于网络应用程序吗?有人用过吗?您的经验是什么,何时选择其中一个?(大多数关于比较的讨论都早于MySQL v5,因为它不支持存储过程,触发器等,但现在不再是这种情况).

我可以理解一个独立的数据库服务器模型,其中Web服务器发送请求,但是这个模型如何随嵌入式数据库而改变?或者是否默认在网络配置中使用Derby?

mysql derby

17
推荐指数
2
解决办法
3万
查看次数

Derby/JavaDB与SQLiteJDBC

我在这里找到了很多比较,但不是这个比较; 那么,每个人最好的是什么?

java sqlite derby sqlitejdbc javadb

16
推荐指数
2
解决办法
1万
查看次数

哪个嵌入式数据库具有最大的SQL兼容性和并发支持?

我的应用程序目前使用Microsoft Access,但现在可能托管在Linux机器上.此外,当从多台计算机访问时,其中一台计算机可能会更新记录(当其他用户正在读取时).

我还要求嵌入式数据库应该支持复杂的SQL查询 - 比如内部SQL,联接等.

我尝试了SQLite,但是许多现有的查询都失败了,或者需要修复(就像在使用内部联接的简单查询中,在FROM之后的括号不被SQLite接受,并且必须被删除).也不支持右连接.

我开始了解Apache DerbyH2,但首先会更喜欢你的宝贵意见.

编辑:

我忘了提到我的应用程序完全用Java编写.

编辑:

在预设时,我使用Microsoft Access mdb,在网络驱动器上共享,从远程计算机进行无DSN连接.

更新

我使用Firebird进行了试验,它确实看起来非常好,零管理和SQL兼容.它很快,我可以尝试的任何典型查询都没有问题.我对它非常满意,并希望将它用于我提出这个问题的项目.

希望Advantage Server也会很好,但没有时间来审查它.在审查/使用Firebird之后,我觉得不需要尝试其他任何东西.

database sqlite firebird derby embedded-database

15
推荐指数
2
解决办法
3767
查看次数