DB Cache 서버와 클라이언트

ProudNet DB 시스템의 DB cache는 게임 데이터베이스의 읽기/쓰기를 위한 서브 시스템으로, 데이터베이스 내용은 서버 메모리에 cache 되기 때문에 DBMS 에 걸리는 부하를 줄일 수 있습니다.

게임 서버나 인증 서버 등의 여타 서버들은 DB cache client를 갖고 있어야 하며, DB cache client 는 DB cache server 에 접속해서, 주로 stored procedure를 통해 간접적으로 게임 DBMS를 접근합니다.

DB Cache 서버

DB cache server 는 게임 DBMS에 직접 접근하는 유일한 프로세스입니다. 이러한 이유는 DB cache의 최신 내용이 아직 게임 DBMS에 반영되지 않을 수 있기 때문입니다.

DB cache 가 접근 중인 게임 DBMS의 내용을 다른 곳에서도 변경을 가하려면 비독점적 데이터 접근 을 사용하시기 바랍니다.

DB cache 클라이언트

DB cache client 에서는 게임 DBMS 의 객체 정보를 load합니다. 그리고 그 정보는 DB cache client 에서 DBMS의 부하 없이 얼마든지 읽기를 할 수 있습니다. 만약 DB cache client 에서 load한 정보에 일방적 데이터 변경 으로 수정하면 그 내용은 DB cache server로 전송됩니다. DB cache 시스템은 DB cache client로부터 수정 요청이 들어오면 바로 DBMS에 기록하지 않는 대신 DB cache server의 메모리에서 값을 갱신해 둡니다. 일정 시간이나 중요 시점(서버 사용자가 정의한) 이 도래하면 DBMS에 기록합니다.

Last updated