미니디비 – 1.DB Layer의 필요성

DB Layer는 여러 가지의 데이터베이스(MySQL, Oracle, SyBASE, MSQL, PostgreSQL, …… )를 동일한 방법으로 다룰 수 있도록 애플리케이션과 데이터베이스 중간에 놓여지게 됩니다. 이러한 DB Layer로써 동작하도록 제작된 Mini DB를 공개합니다. 기존에 공개되고 있는 유명한 DB Layer에 대하여 궁금하면 하단에 있는 웹사이트를 방문해 보세요.

ver 0.2.0부터는 복수의 데이터베이스를 동시에 다룰 수 있도록 수정하였습니다. DB Layer로도 계속 사용할 수 있으며 양 쪽을 혼합하여 사용할 수도 있습니다.

DB Layer의 필요성

만약 사용자가 MySQL과 같은 특정 데이터베이스만 다루게 된다면 DB Layer와 같은 DB를 위한 중간계층은 필요 없을 것입니다. 그러나 여러분이 프로로 활동하고 있다면 언제 어떤 데이터베이스를 다룰지는 모르는 일입니다. 나중에 데이터베이스를 바꾸게 되었을 때 기존에 특정 데이터베이스에 맞게 작성된 코드를 새로운 데이터베이스에 맞게 바꾼다고 생각해 보세요. 간단한 소스라면 별문제 없겠지만 조금만 복잡한 코드라면 아마 고생 꽤나 해야 할 것입니다. 새로운 데이터베이스를 구동시키는 함수를 배우기도 쉽지 않겠지요. 새로운 데이터베이스에 대한 함수를 배우는 게 별거 아니라고요? 사실 데이터베이스에 관련된 PHP 함수를 보면 서로 비슷비슷한 것도 많이 있기도 해요. 그러나 오라클 함수와 MySQL 함수를 비교해 보세요. MySQL 데이터베이스만 다루던 사람이 오라클 함수를 대하게 되면 아마 머리가 흔들흔들할 것입니다. 이럴 때 PHPLIB 또는 phpDB와 같은 layer가 있으면 너무나 간단히 해결되지요. 원하는 데이터베이스로 작성된 클래스 파일로 교체해 주면 되거든요. 이와 같이 여러 개의 데이터베이스를 다루어야 하는 경우에 꼭 필요한 것이 “DB layer”입니다.

DB Layer를 사용하지 않을 때

< DB Layer를 사용하지 않을 때 >

DB Layer를 사용하지 않고 각 데이터베이스를 애플리케이션에서 사용하기 위해서는 각 데이터베이스에 맞는 PHP 함수를 사용하여야 합니다. 따라서 동일한 기능을 수행하는 애플리케이션이라 하더라도 데이터베이스가 변경되면 애플리케이션의 소스코드도 이에 따라 변경되어야 합니다.

DB Layer를 사용했을 때

< DB Layer를 사용했을 때 >

그러나 데이터베이스와 애플리케이션 사이에 DB Layer를 사용하게 되면 각 데이터베이스에 따라서 다르게 코딩해야 하는 부분을 DB Layer가 흡수해 버리기 때문에 애플리케이션에서는 데이터베이스와 관계없이 독립적으로 코딩을 할 수 있게 됩니다. 중, 대형 프로젝트를 수행할 때는 꼭 필요한 기능이라고 할 수 있지요.

답글 남기기