问题标签 [in-memory-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 投票
0 回答
478 浏览

php - 是否可以在 APC 中存储 sqlite 的 :memory: 表?

在阅读PHP / SQLite - Copying a table from disk to memory之后, 我必须问这个问题。

假设我有一个网页在每次页面加载时都会使用一些数据,我希望它位于共享内存中,因为数据可能会变得很大,APC 可以解决这个问题。我需要能够搜索数据并使用聚合函数等。所以 sql 是要走的路。

最终的解决方案是 sqlite 的 :memory: 表,但在 PHP 中,这样的表不会是持久的。

是否可以在 APC 中存储 sqlite 的 :memory: 表?或者该问题的任何其他解决方案?

0 投票
4 回答
495 浏览

mysql - In-Memory SQL/NoSQL - 保持查询能力 - 也许使用 MySQL 或 SQL Server

我希望能够在数据存储中运行一组记录/文档,但始终让这些记录在 RAM 中保持新鲜。我只需要使用大约 1.5GB 到 2GB 的 RAM(可能更少)。这将是基于服务器的而不是嵌入式的。

我知道内存键值存储对我不起作用,因为我需要丰富的查询能力。

我知道 MySQL 可以做基于内存的表,但不确定人们是否将这个功能用于我的想法。SQL Server 可以在内存中固定表吗?整张桌子?

我应该查看哪些其他数据存储?如果快速,Map/Reduce 样式查询也可以。

0 投票
5 回答
4143 浏览

haskell - Haskell 中关系数据的安全建模

我发现想要在我的函数式程序中对关系数据进行建模是很常见的。例如,在开发网站时,我可能希望使用以下数据结构来存储有关我的用户的信息:

接下来,我想存储有关用户在我的网站上发布的消息的数据:

这种数据结构存在多个问题:

  • 我们无法区分具有相似姓名和出生日期的用户。
  • 用户数据将在序列化/反序列化时重复
  • 比较用户需要比较他们的数据,这可能是一项昂贵的操作。
  • 字段的更新User是脆弱的——你可能会忘记更新User数据结构中所有出现的 。

这些问题是可控的,而我们的数据可以表示为一棵树。例如,您可以像这样重构:

但是,可以将您的数据塑造为 DAG(想象任何多对多关系),甚至是一般图(好吧,也许不是)。在这种情况下,我倾向于通过将数据存储在Maps 中来模拟关系数据库:

这种工作,但由于多种原因是不安全和丑陋的:

  • 您只是一个Id远离无意义查找的构造函数调用。
  • 在查找时您会得到Maybe a,但通常数据库在结构上会确保存在一个值。
  • 它很笨拙。
  • 很难确保数据的引用完整性。
  • 管理索引(这对于性能非常必要)并确保它们的完整性更加困难和笨拙。

是否有克服这些问题的现有工作?

看起来 Template Haskell 可以解决它们(就像通常那样),但我不想重新发明轮子。

0 投票
1 回答
3973 浏览

qt - 如何在两个 sqlite-memory-database 之间复制?

如何在 Qt 中的两个 sqlite-memory-database 之间进行复制。像这样:

0 投票
1 回答
236 浏览

java - 需要内存数据库的理由

我的用例如下——
我有一个包含大约 1000 多个条目的数据库表,并且该表不经常更新/编辑,但我希望这在未来会发生变化。表中的某些列包含相当长的字符串。
现在我正在编写一个 UI 应用程序,该应用程序将具有一些鼠标悬停事件,这些事件将显示从上述数据库表中派生的文本。

对于我的用例,我决定编写一个后端“服务器”,它将托管一个内存数据库,该数据库将包含上述表中存在的所有数据。现在,UI 应用程序将在启动时缓存来自后端服务器存在或托管的内存数据库中的所需数据。

我的用例是否证明使用内存数据库是合理的?
如果没有,我应该考虑哪些替代方案?

编辑 1——我的用例还涉及非常频繁地在数据库上运行多个不同复杂度的搜索。

谢谢
p1ng

0 投票
1 回答
497 浏览

hsqldb - 如何创建仅在 JVM 生命周期内存在的 HSQLDB 数据库?

从文档中我收集到临时数据库仅在单个连接的生命周期内存在(不够长),而内存数据库实际上是持久的并创建文件(太长)。

如何创建多个连接可以访问但不是持久的数据库?

谢谢!

0 投票
0 回答
132 浏览

merge - 将数据集合并到内存数据库中的性能

我正在考虑使用 Dataset.Merge 方法将多个数据集合并为一个保存在内存数据库中以供以后进行 SQL 查询的数据集。一般来说,这种方法在性能方面的效率如何?

0 投票
2 回答
482 浏览

java - 高效的 JSP/Tomcat 持久存储?

我在 Apache Tomcat 6 上运行了一些非常简单的 JSP 应用程序。

服务器每天为每个应用处理大约 100.000 个请求。由于应用程序依赖于许多网络元素,因此需要设置很多配置参数。但是,一旦设置,我希望所有会话共享相同的数据。

一直从磁盘读取似乎不是一个合适的解决方案。从数据库中读取也不适合我(各种限制)。

是否存在与 JSP/Java 兼容的经过验证的、可靠的内存持久存储,所有已加载的 JSP 会话都可以用于加载配置数据?

[编辑] 我不想为此做太多的繁重或重构。它应该是一个愚蠢、简单的数据存储,具有干净的界面(可能是命令响应类型),因此没有重型框架和库。

0 投票
0 回答
44 浏览

sql - 将 SQL 查询结果从磁盘转移到内存数据库

我正在使用 C#,我想最初使用 SQL 查询磁盘数据库,并将结果存储在内存数据库中以进行进一步的 SQL 查询。在那里获得结果的有效方法是什么?

0 投票
0 回答
258 浏览

c# - 排序合并两个数据集:哪种方法更快?

问候溢出者,

我有两个需要合并和排序的巨大数据集。我可以吗:

  1. 使用 DataSet.Merge,然后使用 DataSet.Sort?
  2. 将两个数据集插入到由排序列索引的内存数据库中,然后对其进行查询?
  3. 将两个数据集都插入到没有索引的内存数据库中并在查询时进行排序?
  4. 其他选择;例如多线程合并排序算法,它采用数据集并输出合并和排序的数据集?

亲切的问候