问题标签 [hamsterdb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
73 浏览

c++ - 使用 HAM_OVERWRITE 在 HamsterDB 中插入一个值

如果我使用 flag 将值插入到HamsterDB数据库中HAM_OVERWRITE,当键不存在时会产生什么影响?

我正在跟踪程序中的最高序列号并将其保存在 HamsterDB 数据库中:

再次启动应用程序时,high_serial_将使用存储在 DB 中的当前值进行初始化:

但是这个电话是扔的HAM_KEY_NOT_FOUND文档指出,如果密钥不存在,它将简单地插入。这不是我正在经历的。

0 投票
2 回答
2067 浏览

database - 什么数据库在写入磁盘时真的很快?

我正在开发一种生物学软件,该软件会生成数百万个长度通常大于 30 个字符的字符串(由核苷酸碱基组成,AGCT)。写成C。

我需要一个数据库以足够快的速度将这些数据存储在磁盘上,以免造成整个软件变慢的瓶颈,并且不会消耗过多的 RAM。此外,我需要它在我的应用程序中完全链接。我不想强迫我的用户安装 SQL 服务器或类似的东西。

我已经尝试过 hamsterDB、SQLite、Kyoto Cabinet 和 MapDB,但都没有成功。问题是我需要至少以大约 50k 操作/秒的速度从数据库中插入或更新数据。通过一些优化,我让 SQLite 变得更快。它达到 18k 操作/秒(它使用同步关闭、journal_mode 关闭、事务、ignore_check_constraints 开启、cache_size 为 500.000 和预编译语句)。

每个序列被分类为 A 或 B,我需要知道每种序列有多少。现在我正在使用序列作为键,并为 A 类型添加一个计数器,为 B 类型添加另一个计数器。在 SQLite 数据库上,我使用如下列和命令:

这比简单的 INSERT INTO 慢,但如果 seq 已经存在于 DB 上,我只需要增加其中一列。

使用京都内阁我得到了非常高的速度,但它只支持字符串记录,我需要添加和更新整数来计算我有多少 A 和 B。

有谁知道另一个可以满足我对写入速度和记录灵活性的需求的好数据库?

0 投票
0 回答
53 浏览

hamsterdb - 错误 HamsterDB 在 Make

我想为 lessfs 安装 HamsterDB,我做了 ./configure 并且没问题,但是当我编写命令 Make 时,显示以下错误,你能帮帮我吗?有人使用 lessfs 和 hamsterdb 吗?