파트 VII.ProudDB: 데이터베이스 시스템◦온라인 게임 개발에 필요한 기능을 모두 갖춘 데이터베이스 엔진입니다. 가장 일반적인 유형의 게임 데이터베이스의 요구사항에 맞게 설계되어 있습니다.

Edit

ProudDB 는 ProudNet 에서 제공되는 데이터베이스 시스템입니다. ProudDB 는 다음으로 구성되어 있습니다.

  • ProudNet Database Cache System version 2

  • ADO Wrapper API

1. ProudNet Database Cache System version 2는 데이터베이스 접근 횟수를 cache 기법으로 줄여줍니다. 동시에 게임 서버 개발자가 데이터베이스 접근을 하는 동안 대기하는 시간을 고려하지 않고도 게임 개발을 할 수 있게 해줍니다. 1. ProudNet Database Cache System version 2 는 온라인 게임의 데이터베이스 스키마와 DB cache 시스템을 구현하기 위한 경험이 불충분한 경우 더욱 유용하게 사용될 수 있습니다.

많은 게임 개발 프로젝트에서 사용자 정보와 게이머 캐릭터 정보, 월드의 상태를 저장하기 위한 게임 데이터베이스의 설계는 대동소이합니다. 1. ProudNet Database Cache System version 2는 통상적인 온라인 게임 개발 프로젝트에서의 데이터베이스 설계, 데이터 접근 유형, 필요한 성능 수준, 주요 기법들을 수집한 뒤, 가장 일반적인 유형으로 정리 후, Proud 엔진 계층에서 구현되었습니다. 따라서 1. ProudNet Database Cache System version 2를 사용하면 빠른 속도로 안정적인 게임 데이터베이스를 구축할 수 있습니다.

1. ProudNet Database Cache System version 2는 '가장 흔한 설계 유형'에 맞추어져 제작되었습니다. 그렇기 때문에 빠르고 간단하게 도입을 할 수 있습니다. 하지만, 그 대가로 1. ProudNet Database Cache System version 2 는 이미 1. ProudNet Database Cache System version 2 에 맞춰서 정해져 있는 database schema의 사용을 필요로 합니다. 따라서 이미 데이터베이스 설계와 구현을 마친 개발 프로젝트에서1. ProudNet Database Cache System version 2 를 도입하려면 migration 작업이 불가피합니다.

1. ProudNet Database Cache System version 2에서 하는 역할은 다음과 같습니다.

  • 게임 관련 데이터베이스 접근을 cache

  • 비동기 데이터베이스 접근을 중재

  • 비독점적 접근 기능: 게임 서버 뿐만 아니라 웹 서비스나 과금 시스템에서도 데이터베이스를 접근해도 교란 방지

1. ProudNet Database Cache System version 2 는 사용자가 정의한 다양한 종류의 데이터를 접근할 수 있습니다. 특히, 다음과 같은 종류의 데이터를 다루는 데 유용합니다.

  • 게이머의 캐릭터, 인벤토리 아이템, 친구 목록 등을 게임 서버로부터 데이터베이스로 읽기/쓰기

  • 게임 월드의 상태(예: 바닥에 떨어진 아이템들, 몬스터 분포, 전장의 점령 상황 등)를 게임 서버로부터 데이터베이스로 읽기/쓰기

한편, 위와 같은 데이터베이스 시스템을 이용하지 않고 직접 DBMS 를 접근하는 API도 제공됩니다. 자세한 것들은 ADO Wrapper API 를 참고하십시오.

ProudDB 는 몇 가지 용어가 등장합니다. 필요시 Database 관련 용어집 를 참고하시기 바랍니다. ProudDB 는 Microsoft SQL Server와 MySQL과 호환됩니다. 관련하여 사용법과 관련한 도움이 필요하시면 Nettention 기술 지원 을 요청하시기 바랍니다.

ProudDB의 샘플은 3. SimpleDB2 예제를 참고하시기 바랍니다.

※ ProudNet에서 제공하는 DB에 관련된 샘플은, Windows 전용입니다.

※ ODBC 드라이버 버전에 따라 메모리 누수 등 버그가 발생할 수 있으니 최신 버전 드라이버 사용을 권장합니다.