ORM을 이용하면 여러분은 다음 중 한 가지 방법으로 편하게 개발할 수 있습니다.
• 데이터베이스 우선 방법: 데이터베이스 테이블이나 필드를 정의하면, 이 테이블을 편하게 액세스할 수 있는 데이터베이스 액세스 클래스들이 생성됩니다. 여러분은 그 클래스를 그냥 가져다 쓰면 됩니다.
• 코드 우선 방법: 데이터베이스를 액세스할 클래스를 정의하고, 클래스 안에는 사용할 멤버 변수들을 정의합니다. 그러면 여러분이 정의한 클래스 구조에 따라 데이터베이스가 생성되거나 변경됩니다.
하지만 ORM도 단점이 있습니다. 데이터베이스 자체에 최적화를 하다 보면 ORM이 강제하는 틀에서 벗어나야 하는 상황이 있을 수도 있습니다. 따라서 ORM이 적절할 때는 ORM을 선택하고, 그렇지 않을 때는 다른 방법으로 데이터베이스를 액세스하는 것이 가장 좋습니다.
실제로 규모가 큰 게임을 개발할 때 데이터베이스 엔지니어가 서버 개발자와 별도로 협업하기도 합니다. 실제 게임 서비스를 오픈할 때 게임 서버 개발자 외에 웹 프로그래머나 데이터베이스 관리자도 함께 일하기 마련입니다.
“빨리 가려면 혼자 가라. 멀리 가려면 같이 가라.”
이 아프리카 속담이 게임 서버 개발에도 적용된다고 보면 좋겠습니다.