问题标签 [embedded-database]

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 投票
4 回答
79871 浏览

unit-testing - 用于测试的嵌入式 H2 数据库的 Spring 配置

使用嵌入式 h2 数据源和可选的 JUnit进行集成测试的 Spring 配置是什么样的?

我对SingleConnectionDataSource的第一次尝试基本上奏效了,但在需要同时多个连接或暂停事务的更复杂的测试中失败了。我认为基于 tcp 的服务器模式下的h2可能也可以工作,但这可能不是内存中临时嵌入式数据库的最快通信模式。

有哪些可能性及其优点/缺点?另外,您如何创建表/填充数据库?


更新:让我们指定一些对此类测试很重要的具体要求。

  • 数据库应该是临时的并且在内存中
  • 出于速度要求,连接可能不应该使用 tcp
  • 如果我可以在调试过程中使用数据库工具来检查数据库的内容,那就太好了
  • 我们必须定义一个数据源,因为我们不能在单元测试中使用应用服务器数据源
0 投票
5 回答
2706 浏览

delphi - SQLite 和 DISQLite 如何比较大型简单数据库?

SQLiteDISQLite之间有什么区别,为什么我要选择一个而不是另一个?

我的上下文是我正在处理一个大型数据库(可能高达 10 GB),其中的关键部分是在一个非常简单的表中,该表具有单个索引字段和一个最大大小为几 KB 的文本字段。我的开发工具是Delphi 2009,数据库会嵌入到我的.exe中。

我的主要标准是速度。这适用于在典型 Windows 计算机上运行的软件应用程序,例如 Windows 7 和 4 GB RAM。

如果你想推荐另一个数据库工具,请告诉我为什么它比这两个更适合我的应用程序,尤其是在速度前沿。

0 投票
8 回答
8692 浏览

.net - 嵌入式非关系 (nosql) 数据存储

我正在考虑为我的 Windows 桌面应用程序使用/实现某种嵌入式键值(或文档)存储。我希望能够存储各种类型的数据(GPS 轨迹就是一个例子),当然还能够查询这些数据。数据量将无法同时全部加载到内存中。

我正在考虑使用 sqlite 作为键值存储的存储引擎,类似于y-serial,但用 .NET 编写。我还阅读了有关FriendFeed 使用 MySQL 存储无模式数据的信息,这是关于如何将 RDBMS 用于非关系数据的一个很好的指导。sqlite 似乎是一个不错的选择,因为它的简单性、可移植性和库大小。

我的问题是嵌入式非关系存储是否还有其他选项?它不需要是可分发的,也不需要支持事务,但它必须可以从 .NET 访问,并且它应该具有较小的下载大小。

更新:我发现一篇题为SQLite as a Key-Value Database的文章将 sqlite 与 Berkeley DB 进行了比较,Berkeley DB 是一个嵌入式键值存储库。

0 投票
1 回答
721 浏览

open-source - 具有高[存储]容量的开源键/值

我正在寻找满足以下要求的键/值存储:

  1. 开源
  2. C API(C++ 也可以)
  3. 一定程度的崩溃恢复
  4. 每个文件的高[存储]容量
  5. 键和值都是任意二进制数据
  6. 嵌入式(如 DBM、SQLite 等)

GDBM 看起来特别有吸引力。datum根据结构int dsize;明确使用键和值大小限制为 2GB的事实,这很好。但是,我对 GDBM 的问题是我找不到任何关于数据库文件大小限制的文档。例如,Berkeley DB 提供高达 256TB 的数据库文件。如果这足够大,那么 GDBM 将是完美的。

有人知道 GDBM 文件大小上限吗?如果做不到这一点(或者如果它太小),你还能提出什么其他建议?这样的野兽存在吗?

0 投票
2 回答
1979 浏览

java - Java 嵌入式数据库持久化

使用嵌入式 java 数据库时,有人可以解释数据库如何跨会话持久化数据吗?它是否在应用程序连接到数据库时重新加载的 PC 上创建本地文件?或者我是否需要在存在/重启时明确转储/重新加载内容?

谢谢,杰夫

0 投票
5 回答
100 浏览

sql - 是否有任何数据库支持自动/定时关闭数据库?

我们想实现一种应用程序架构,其中我们在磁盘上有大量数据库,每个客户一个数据库文件。

当用户请求进入数据库时​​(如果尚未打开)。

在一段时间没有活动后,数据库会被服务器自动关闭,从而释放数据库服务器资源。

使用这种架构,我们应该能够在磁盘上拥有大量数据库,但在任何时候都只能将其中的一部分加载到数据库服务器中。

问题是很少有数据库似乎支持自动关闭数据库的概念。似乎 MIcrosoft SQL Server 可能允许这样做,但我们正在使用所有开源技术,因此 SQL Server 不是一个选项。

我们会考虑任何免费或开源的数据库技术,但我看不到任何支持自动关闭功能的技术。

有谁知道有什么不同吗?

更新:寻找基于 Linux 而不是 Windows 的解决方案。

谢谢

0 投票
1 回答
826 浏览

sql - 适用于移动应用程序的良好嵌入式数据库

我正在 windows mobile 和 android 上开发一个应用程序,我需要一个用于该应用程序的数据库,截至目前已入围 3 个精简版数据库。SQLite Ultralite(来自 Sybase)Oracle Lite

在这 3 个中,我无法使用 VS2008 上的现有项目配置 UltraLite。我目前正在使用带有来自http://sqlite.phxsoftware.com的 dll 的 SQLite,但我需要一个数据密集型的嵌入式数据库。因此我想到了使用 Oracle Lite,但就 Oracle Lite 而言,我不知道许可或成本问题。

所以现在我有两个问题:

  1. 谁能帮我为我的 VS2008 项目配置 Ultralite(我尝试了教程 - http://www.codeproject.com/KB/database/Win_Mobile5_Database_App.aspx但仍然不断收到错误)

  2. 有什么合法的方式我可以使用 Oracle Lite 免费开发我的移动应用程序,如果不是,费用是多少?

0 投票
1 回答
195 浏览

c# - 为嵌入式地图应用程序存储图像

我有不同分辨率的栅格化地图,其中包含 15K/60K/240K 图片,每个图片大小为 256x256,并且我有可以显示地图的 .NET Compact Framework 应用程序。但是将 300k 文件复制到 SD 卡需要很长时间,大约需要 35-60 小时(我只复制了 15K,大约需要 2 到 2.5 小时),而且我担心它会破坏 FAT16 文件系统(硬件不支持FAT32,所以我不能将 fat16 切换到 fat32)或者复制后一切都会很慢。

所有图片都是这样存储的:/mapdata/res{resolution}/x{x_coord}/y{y_coord}.png

任何可嵌入的数据库都可以帮助我吗?或者我应该将图像打包成像 /storage/res1/x12.zip 这样的 zip 文件,并存档所有 y*.png?或者我应该用所有这些图片创建 ISO 映像,然后将 iso 逐字节复制到 SD 中?

0 投票
0 回答
162 浏览

ado.net - What is the detailed syntax for the 'CREATE DATABASE' statement for VistaDB?

What is the detailed syntax for the 'CREATE DATABASE' statement for VistaDB?

The documentation only describes various procedures,functions,operators etc, but nothing on the 'CREATE DATABASE' statement. The 'create database' 'how-to' specifies hard coded values for the page size and other parameters, but can I use an ADO.NET connection string to create my database at runtime? Maybe using the 'VistaDBConnectionStringBuilder' to parse it and obtain values specified in the string.

What is the recommended way of creating the database at runtime given a connection string?

0 投票
2 回答
3340 浏览

c# - C# 的跨平台嵌入式数据库/键值存储

我正在寻找一种快速、可嵌入的键/值存储,它在键集合(或简单的可嵌入数据库)上具有游标语义,可以在 .NET 和单声道中使用。需要它是开源的,宁愿使用 MIT 或 Apache 风格的许可证而不是 GPL 许可证。不反对需要编写绑定的库,只要二进制文件可用于 windows 和 linux。

考虑的选项:

  • SQLite - 具有绑定和本机实现,但单线程并且不是那么快
  • 嵌入式 InnoDB - 我找不到 .NET 绑定,它是 GPLv2
  • Berkley DB - 我找不到 .NET 绑定
  • 东京内阁 - 我找不到 .NET 绑定,并且在 Windows 上构建有问题
  • MadCow 内存映射数据结构 - GPLv2

有没有比上面更好的选项,或者我不知道的上面的绑定?

更新:在 4.8 和 5.0 中使用了 Oracle 的官方 BDB 绑定,但无法让它们在单声道下工作。还有一些其他问题(BDB 的 C# 驱动程序仍然不成熟)。编写了一个受 BitCask 启发的 K/V 存储,名为 Firkin ( http://github.com/sdether/Firkin ) 存储并现在使用它。