도로명 주소 db 설계 > 십년전오늘

십년전오늘

10년전 추억의 책장을 넘기며

도로명 주소 db 설계 정보

도로명 주소 db 설계

본문

도로명 주소 DB를 설계 해야 하는데 

access의 mdb 파일로 db를 만들건데

어떻게 하는 것이 용량을 최소화하여 속도를 높일 수 있을지 ...


DB 종류에 상관없이 도로명주소 db 설계 해 보신 분들은 어떻게 설계했는지 궁금합니다.

댓글 전체

요약부터 말씀 드리면,
앞으로 계속 업데이트가 이루어질 가능성이 꽤에 높아서
새주소 배포하는 그대로 구조을 만드시는걸 추천 드립니다.
다른 방법중 3단 이상의 콤보 방식으로 구현해주니, 사용자들이 사용법이 어렵다고 하시더군요.
다른 방법으로 몇가지 해봤는데 역시나 사용자들이 불편하다고 하고
그래서 배포하는 사이트에서도 하나의 input 으로 구현한것으로 압니다.
그나마, 주소 업데이트도 용이하니까요

-----------------------------------

mdb 오래 간만에 들어 보네요...^-^
응용프로그램에서 사용하시려고 하시는건지, 아니면 웹에서 사용하시려는건지요?

웹이든 응용 프로그램이든 2명 이상의 사용자가 있는 경우 Mdb 의 경우 Locking 을 먼저 주의해서 작업 하시구요
mdb 을 사용하지 않아도 되시고 응용 프로그램이라면 큐브리드도 괞찮은걸로 알고 있습니다.
응용프로그램에서 사용하려고 합니다.

한달에 한번 도로명 업데이트 할 때마다  300대 이상의 컴퓨터가 업데이트 받아야 합니다.
(인터넷이 되지 않을 때도 사용해야 해서 사용자 컴퓨터에 도로명 DB가 있어야 합니다.)

최소화 최적화가 관건입니다.
대표지번 및 관련지번을 가지고도 도로명주소 검색이 가능해야 합니다.
조사해보니 어느분은 vba 방식으로 만들어서 2 Tier로 개발 하신분이 계시던데
테이블 하나에 다 넣으셨더군요.

요점부터 말씀 드리면
저라면 배포하는 방식 그대로 mdb 을 만들고
로그인이 통과 되면 우편번호 버젼 체크를 서버에 확인해서 변경된 mdb 만 thread 로 내려 받게
할 것 같습니다...( 용량이 크다보니 하나 끝날때마다 Local 에 해당 도/시 의 버젼을 바로 update 시킴 )

원하시는 조건이 전부다라 아무리 줄인다고 해도 1G 는 거뜬이 넘을것 같아
저는 이 방법외엔 딱히 좋은 방법이 생각나지 않습니다.

응용 프로그램을 개발 하지만
새주소에 대한 개발을 한적이 없다보니 눈팅으로 봤던곳에서는
지번과 새주소을 tab 으로 나누고, 지번 방식은 기존 3단계 방식 그대로 하고
새주소는 3단으로 할지, input 하나로 할지 결정해야 할것 같습니다.

참고만 하세요.
감사합니다.

변경분을 업데이트 하는 구조라면
1년만에 사용하는 사람같은 경우에는 12번의 업데이트를 하거나
최종버전을 체크해서 그 사이에 변동분을 반영해야 한다는 건데...

조금 어렵지 않을까요?
이제서야 보고 답변 드립니다.

데이타가 작으면 말씀 하신것처럼 변경분만하면 좋겠는데요,
이게 너무 많을것 같아 ( 진짜 많은 ) 처리하는데 오히려 속도가 더 걸릴것이라
도/시(새주소배포) 형식 그대로 mdb 파일 단위로 내려 받은것을 말씀 들인거였습니다.

1년후에 접근하시는분은 어쩔수 없이 12 개을 다 내려 받아야되니
그나마 빠르게 내려 받을수 있는게 로그인 통과후 Thread 로 12 개을
실행 시키는 방식이거든요...( 쓰레드로 한번 검색해 보시면.... )

변경분만 내려 받은건 gylove 님 말씀처럼 어렵기도 하거니와
Local 비교하고, 서버에서 변경분만 내려 받아야 하니
저의 사견으로는 오히려 더 오래 걸릴껏이고, 제대로 매칭이 않될껍니다.

저도 언젠간 해야 될것이라....
처음에 우체국 데이타를 사용했다가 일부 누락되는 건물명이 있어,
'안전행정부'데이타를 받아 1개 테이블로 합치는 과정으로 재작업했습니다.

설계는 전체 데이타 테이블에서 시구군, 도로명, 읍면동, 리 필드는 별도 테이블로 분리하여 용량을 줄였습니다.
이렇게 데이타 테이블들이 약 635MB (인덱스만 330MB)정도이고,
여기에 건물명의 빠른 검색을 위한 별도 fulltext 색인 테이블이 238MB 입니다. (건물 번호나 지번 위주로 검색된다면 불필요)
* mysql 기준

그런데 관련지번까지 검색되어야 한다면 여기에 지번 테이블도 한번 더 분리가 되어야 겠군요.
네.  텍스트로 중복된 데이타가 많은 필드는 최대한 분리하였습니다.
단 건물번호와 지번은 중복수가 적고 데이타 크기가 작아 분리하지 않았습니다.
관련지번까지 검색해야 한다면 지번도 별도 테이블로 분리하셔야 겠군요.

제가 만든 사이트는 아래 주소에서 테스트해보실 수 있습니다.
http://sir.co.kr/bbs/board.php?bo_table=cm_free&wr_id=986899&sca=&sfl=&stx=&spt=0&page=2
전체 141,309
십년전오늘 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT