제가 sql 초보입니다.
구축환경은 vb.net, mssql 2008 express r2 입니다.
설명을 드리자면 메인서버(사무실)가있고
각 창고마다 개인컴퓨터에 SQL이있습니다. 여기에 입출고 기록에 저장됩니다.
그리고 입출고 프로그램 내에서 버튼을 클릭하면 개인컴퓨터 sql에 저장되있던 입출고 기록이 메인서버로 등록되는 기능을 구현하려고합니다.
키값중복을 걸러내는게 (어떤 자료의 키값이 중복되는지 알림창이 뜨면서 알려주고)
목표지만 안되면 안되는 방법이라도 알고싶어서 올렸습니다.
프로그램을 서버 하나로 안쓰는이유는 자료가 많이 누적되면 입출고시 딜레이가 심해지는걸 방지할려고 이 방법을 생각했습니다.
제가 복제 동기화쪽에는 전혀몰라 도움을 구하고자 올립니다.
Comment 7
-
중전
2015.04.30 11:02
제가아직 초보라 DELAY의 기능과 사용법을 잘몰라서요... 네이버에 검색해보았는데 delay에대해 자세히 나와있지 않네요..ㅠ
-
DELAY가 어떤 기능을 얘기하는게 아니구요.
중전님의 설계는 각 공장마다 자체 DB가 있고 여기에 입출고가 기록되고
중앙서버에 통합하는 시스템인데...
이렇게 한 이유가 서버 하나를 쓰면 DELAY 즉 성능이 느려질꺼라는 우려때문이라고 하셨잖아요??
근데 제 생각에는
그냥 입/출고 기록을 모두 중앙서버에 기록하고
성능문제를 해결해 나가는게 훨씬 간결하고, 유지/보수 하기 쉬운 시스템일거 같다는 말입니다.
-
중전
2015.04.30 11:23
네... 저도 그리 생각하고 메인서버하나로 거의다 완성되었는데
딜레이도 딜레이지만
공장환경이 안좋은곳은 인터넷이 안된다고 하더라고요
딜레이 + 인터넷원할하지않은 업체때문에 각각 개인 DB를 두는 방법으로 생각했습니다.
인터넷이 원할하지않는 곳은 어차피 localhost로 개인 DB에 저장해두었다가
메인서버로 이동시키는게 나을것같다생각했습니다.
입.출고 할때 insert만 날리면 자료가 20만건있다해도 속도차이는 없겠는데
입.출고시에 select문을 2번정도 나눠서 쓰고 (키값, 개수 파악등)
insert를 합니다. 자료가 많을때 속도가 얼마나 저하되는지는 모르지만...
그래서 메인서버서 가지고오는건 기본적인 거래처 테이블가져오고 입출고 기록해서 메인서버로 이동시키려고하고있습니다.
저도 아무래도 메인서버 하나로 하는게 일을 이중삼중으로 하지않고 관리, 유지보수, 잔오류 없애는데 가장좋다고는 생각을합니다.
-
아... 네트워크 환경이 좋치 않다면 중앙서버 하나로 처리하는건 문제가 좀 있겠네요.
-
minsouk
2015.04.30 13:12
.
-
중전
2015.04.30 13:30
답변 감사합니다 꼼꼼히 다 읽었습니다.
저는 프로그램내에서 버튼을 동기화버튼이란걸 만들어서 클릭했을시 되게 할려고하는데요
제가 동기화 또는 복제에 대해 전혀몰라서 그러는데 예시나 소스같은것 있을까요??ㅠ
DELAY를 해결해 나가는것이 더 쉬운 일이 아닐까 싶네요.