2010-05-02 4 views
1

postgresql에서 작동하는 DAO에 대한 단위 테스트를하고 있습니다. 내 DAO가 사용하는 일부 SQL 쿼리에는 DATE 함수가 포함됩니다. postgresql과 비슷한 기능을 지원하는 메모리 내장 데이터베이스가 있습니까?DATE 함수를 지원하는 메모리 데이터베이스가 있습니까?

현재 DATE 기능에 대한 지원을 찾고 있지만 앞으로는 다른 기능을 사용할 수 있습니다.

+0

호기심 - 어떤 종류의 DATE 함수에 대해 이야기하고 있습니까? (Postgres 매뉴얼의 approriate 페이지에 대한 링크가 도움이 될 것입니다.) –

답변

0

리눅스에서는 램 디스크를 사용하여 postgresql을 사용하여 "in memory database"를 만들 수 있습니다. PostgreSQL의 메일 링리스트에 a thread에서 인용 :

In my opinion very nice solution is building part of PostgreSQL database in memory - below it is instruction how to build PostgreSQL schema in memory in Linux. I tested this with my ROLAP solution for recalculation MOLAP cubes in memory and then join with master cube (this speeds up proces about 10 times!!! - but in other solution may be different).

In grub (or other bootloader) you must declare ramdisk and then in OS:

mke2fs /dev/ram0 
mkdir /mnt/ram0 
mount /dev/ram0 /mnt/ram0 
mkdir /mnt/ram0/pgspace 
chown postgres:postgres mnt/ram0/pgspace 

The "/mnt/ram0/pgspace" folder must be empty (ERROR: directory "/mnt/ram0" is not empty)

And then you may create tables (in this schema of course) and write to them.

나는이 시도하지 않았다, 나는이 문제없이 작동하는지 100 % 확실하지 않다. 동일한 스레드에서 그들은 메모리 지원과 함께 다른 db 엔진을 제안하지만, DATE 함수에 대한 언급은 없습니다. 다른 rdbms는 테이블 공간을 지원하는 경우에도 램 디스크로부터 이익을 얻을 수 있습니다.

편집

예 : 지금

CREATE TABLESPACE inram LOCATION '/mnt/ram0/pgspace'; 
CREATE TABLE foo(i int) TABLESPACE inram; 

foo 테이블이 메모리 테이블해야한다.

+0

이것이 어떻게 단위 테스트에도 적용될 수 있는지는 정말로 알 수 없습니다. –

+0

@Chris J : 나는 당신의 질문에 더 잘 대답하기를 바랍니다. 어쨌든 이것은 "하나가 당신을위한 것입니다, 이것은 하나의 대안입니다"답변입니다. –

1

TimesTen 메모리 데이터베이스도 확인하십시오. 매우 빠르며 TO_DATE 함수를 가지고 있습니다 :

Command> SELECT TO_DATE ('1999, JAN 14', 'YYYY, MON DD') FROM dual; 
< 1999-01-14 00:00:00 > 
1 row found. 
관련 문제