[컴] Apache Derby 사용하기 - 4 - in-memory DB

Apache Derby 아파치 더비






In-memory database

자세한 사항은 ref. 1 을 참고하자.


ij> connect 'jdbc:derby:memory:myDB;create=true'

client 에서 derby db server 로 접속할 때

ij> connect 'jdbc:derby://localhost:1527/memory:myDB;create=true'


Roll-forward recovery

자세한 사항은 ref. 2 를 참조하자.

ij> connect 'jdbc:derby:memory:myDB;create=true'
ij> create table t1(a int not null primary key);
0 rows inserted/updated/deleted
------------------DML/DDL Operations
ij> CALL SYSCS_UTIL.SYSCS_BACKUP_DATABASE_AND_ENABLE_LOG_ARCHIVE_MODE('/backup', 0);
0 rows inserted/updated/deleted
ij> insert into t1 values(19);
1 row inserted/updated/deleted

위와 같이 하면, c:\backup 에 myDB 가 저장된다.

물론,

  • SYSCS_UTIL.SYSCS_BACKUP_DATABASE_AND_ENABLE_LOG_ARCHIVE_MODE

이외에도 다른 backup procedure 를 사용할 수 있다. 다른 backup procedure 들은 ref. 4를 참고하자.



다시 restore 할 때는 disk 에 할 수도 있고, memory 에 할 수도 있다.
ref. 2 에서는 disk 에 restore 하는 법을 알려준다.


Backup DB를 disk 로 restore


아래의 command 로 disk 를 restore 할 수 있다.

ij> connect 'jdbc:derby:myDB;rollForwardRecoveryFrom=/backup/myDB;
logDevice=/backup/broken';


Backup DB 를 memory 로 restore


이 부분은 ref. 3 을 참고했다. 아래처럼 하면 backup 한 database 를 memory 로 불러 올 수 있다.

ij> connect 'jdbc:derby:memory:MyDB;createFrom=/backup/MyDB';



Heap Memory

ref. 5 를 보면 Derby 의 Out of memory error 를 해결하기 위해 JVM 의 heap size 를 늘려줬다. Derby 가 JVM 을 사용하기 때문에 memory 용량은 heap size 로 제한되는 듯 하다.



See Also


  1. memcached - a distributed memory object caching system




References

  1. Derby Developer's Guide > Using in-memory databases
  2. Derby Server and Administration Guide > Roll-forward recovery
  3. Derby 10.5 preview: In-memory backend (Knut Anders Hatlen's Weblog)
  4. Derby Server and Administration Guide > Using the backup procedures to perform an online backup
  5. IBM Increase java heap size of Derby database to resolve the Out of memory errors - United States



댓글 없음:

댓글 쓰기