标签: in-memory-database

内存数据库中TimesTen的替代品

我刚刚发现" 有没有人发布过不同的内存RDBMS之间的详细比较?" 这与我的问题有关.

TimesTen的(见)是一个内存数据库从Oracle.

它包括很多东西.

  • 快速,一致的响应时间
  • 高交易吞吐量
  • 标准SQL,没有应用程序重写
  • 持久和可恢复
  • 高可用性,无数据丢失

然而,它的价格超出了大多数人的需求(41,500.00美元/处理器).

那么有什么替代品,有什么优点和缺点.

(如果它改变了你的答案,我正在使用.NET)

.net database timesten in-memory-database

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

有没有人制作了内存中的GIT存储库?

我希望能够利用GIT(及其工作流程)的优势,但没有磁盘访问的成本 - 我只想利用GIT的分布式版本控制功能来生成像memcached和GIT.(最好是在.NET中)

那里有野兽吗?

.net git caching distributed-caching in-memory-database

10
推荐指数
1
解决办法
578
查看次数

内存中的Java DB

是否有任何可以在嵌入模式下运行的Java数据库,其中一些表存储在内存中,同时从磁盘加载其他表?H2和JavaDB似乎是Java DB的两个领导者,我知道它们都有内存模式,但它们是否会让你将整个数据库加载到内存中,还是可以逐个表决?

database in-memory in-memory-database javadb

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

加载位于H2数据库的类路径中的CSV文件

出于测试目的,我想使用SQL脚本和CSV文件创建和填充一些表.

所以我创建了一个像这样的SQL脚本:

CREATE TABLE T_FOO (
  ...
) as select * from CSVREAD('classpath:/foo.csv');
Run Code Online (Sandbox Code Playgroud)

foo.csv文件存在,位于src/test/resources.

当这个脚本在Eclipse上运行时(其中src/test/resources定义为源目录,因此包含在类路径中),我收到以下错误:

Caused by: java.io.FileNotFoundException: resource /foo.csv
    at org.h2.store.fs.FileSystemDisk.openFileInputStream(FileSystemDisk.java:388)
    at org.h2.util.IOUtils.openFileInputStream(IOUtils.java:708)
    at org.h2.tools.Csv.initRead(Csv.java:317)
    at org.h2.tools.Csv.readResultSet(Csv.java:217)
    at org.h2.tools.Csv.read(Csv.java:193)
    ... 49 more
Run Code Online (Sandbox Code Playgroud)

我做错了什么?如何正确使用classpath:协议加载CSV文件?

如果我把文件的完整路径(如... CSVREAD('C:\my-project\src\test\resources\foo.csv');),那么它的工作原理.但这不是我想做的原因:)

请注意,我使用最新版本的H2(1.3.153),因为我想使用该classpath:协议加载我的文件.

java testing h2 in-memory-database

9
推荐指数
1
解决办法
5024
查看次数

是否有(开源)基于MDX的内存OLAP服务器?

我想知道是否有一个可以处理MDX 的内存 OLAP服务器.

我找到了维基百科的文章.但它没有说明内存功能......

我所知道的唯一一个是Mondrian,它也是上面wiki文章中提到的两个开源解决方案之一.

到目前为止,我刚刚和蒙德里安合作了......我不认为Mondrian是一个真正的内存OLAP服务器.
原因如下:
它有一个内存缓存,其中包含查询结果.但是他们的第一次执行需要很长时间,必须从RDBMS加载.(http://mondrian.pentaho.com/documentation/faq.php#Scalability)
我认为最好的方法是:
在Cache中加载所有的事实和维度表,然后对这个内存中的数据执行每个查询.

AFAIK,甲骨文将在今年发布12c企业版,有可能在内存中拥有一些(或所有)表.这将加速OLAP服务器,它只使用SQL查询RDBMS-fact-tables.
...但企业版非常昂贵......

我想听听其他一些意见.

最好的问候,
丹尼斯.

olap mdx in-memory mondrian in-memory-database

9
推荐指数
1
解决办法
4713
查看次数

在Java应用程序中查询内存中的一组对象的技术

我们有一个系统通过调用另一个返回一组Java对象的系统上的接口来执行"粗略搜索".一旦我们收到搜索结果,我需要能够根据描述属性状态的某些标准进一步过滤生成的Java对象(例如,从初始对象返回所有对象,其中xy> z && ab == c).

每次用于过滤对象集的标准部分是用户可配置的,我的意思是用户将能够选择要匹配的值和范围,但是他们可以从中选择的属性将是固定集.

对于每次搜索,数据集可能包含<= 10,000个对象.搜索将由应用程序用户群手动执行,每天不超过2000次(大约).值得一提的是,结果集中的所有对象都是已知的域对象类,它们具有描述其结构和关系的Hibernate和JPA注释.

可能的解决方案

在我的头脑中,我可以想到3种方法:

  1. 对于每次搜索,在我们的数据库中保留初始结果集对象,然后使用Hibernate使用更细粒度的标准重新查询它们.
  2. 使用内存数据库(例如hsqldb?)来查询和优化初始结果集.
  3. 编写一些自定义代码,迭代初始结果集并提取所需的记录.

选项1

选项1似乎涉及很多网络中的物理数据库(Oracle 10g),可能会导致大量的网络和磁盘活动.还需要将每次搜索的结果与其他结果集隔离,以确保不同的搜索不会相互干扰.

选项2

选项2原则上似乎是一个好主意,因为它允许我在内存中进行更精细的查询,并且不需要结果数据的持久性,只有在搜索完成后才会丢弃.Gut的感觉是,这可能也非常高效,但可能会导致更大的内存开销(这很好,因为我们可以非常灵活地调整JVM获得的内存量).

选项3

选项3可能非常高效,但是我想避免这样做,因为我们编写的任何代码都需要经过仔细的测试,以至于实现灵活且足够强大的时间可能会令人望而却步.


我没有时间对所有3个想法进行原型设计,因此我正在寻找人们对上述3个选项的评论,以及我未考虑过的任何进一步的想法,以帮助我确定哪个想法可能是最合适的.我目前正倾向于选项2(在内存数据库中),所以很想听到有人在内存中查询POJO的经验.

希望我已经详细描述了这种情况,但是不要犹豫,询问是否需要任何进一步的信息来更好地理解这种情况.

干杯,

埃德

java database jpa in-memory-database

8
推荐指数
1
解决办法
816
查看次数

Tachyon默认是由Apache Spark中的RDD实现的吗?

我正在尝试了解Spark的内存功能.在这个过程中,我遇到了Tachyon ,它基本上在内存数据层中,通过使用沿袭系统提供容错而无需复制,并通过检查数据集来减少重新计算.现在让人感到困惑的是,Spark的标准RDD系统也可以实现所有这些功能.所以我想知道RDD在幕后实施Tachyon来实现这些功能吗?如果不是Tachyon的用途,那么它的所有工作都可以通过标准RDD来完成.或者我在将这两者联系起来时犯了一些错误?一个详细的解释或链接将是一个很大的帮助.谢谢.

bigdata in-memory-database apache-spark rdd alluxio

8
推荐指数
1
解决办法
708
查看次数

System.InvalidOperationException:只有在上下文使用关系数据库提供程序时才能使用特定于关系的方法

System.InvalidOperationException:

只有在上下文使用关系数据库提供程序时才能使用特定于关系的方法。

InMemoryDatabase用于测试用例时出现上述错误?

var msaContextOptions = new DbContextOptionsBuilder<MSA.DAL.MsaDbContext>()
           .UseInMemoryDatabase(databaseName: "Get results")
           .ConfigureWarnings(w => w.Ignore(InMemoryEventId.TransactionIgnoredWarning))
           .Options;
Run Code Online (Sandbox Code Playgroud)

unit-testing entity-framework xunit in-memory-database

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

sqlite3:连接到云中的数据库(S3)

我在 s3 存储桶中有一个小的 sqlite 数据库(110kb)。每次运行python应用程序时,我都想连接到该数据库。

一个选项是每次运行python应用程序时下载数据库并像往常一样连接它。我想知道是否存在一种通过内存连接到该 sqlite 数据库的方法,使用S3FileSystemopen。我正在使用sqlite3库和 python 3.6

python sqlite amazon-s3 in-memory-database python-3.x

8
推荐指数
3
解决办法
8719
查看次数

SQL Server 是否支持内存数据库?

我基本上有一个测试场景,我在那里

  1. 创建数据库
  2. 用一些数据填充它
  3. 执行要测试的业务逻辑,修改数据。我不拥有业务逻辑实现或数据库架构。我必须测试已经存在的东西。
  4. 断言数据已按预期更改
  5. 删除数据库

SQL Server 是否仅支持内存中的类似内容,以便我可以通过删除 #1 和 #5 来加快速度?显然我不需要坚持。

sql-server integration-testing database-testing in-memory-database

7
推荐指数
1
解决办法
3989
查看次数