개탕 IT FACTORY

데이터 베이스와 SQL 본문

Back-end/SQL

데이터 베이스와 SQL

rendar02 2018. 4. 15. 20:59
반응형


데이터 베이스(Data Base,DB)영어 뜻으로 해석하자면 데이터의 기지 

쉽게말하자면 군기지는 군대 바로 군인을 모아놓은것처럼 데이터베이스는 데이터를 모아둔 것입니다 


그럼 많이들 빅데이터를 떠올리실수도 있습니다 그런데 빅데이터와 데이터베이스는 엄연히 다릅니다 

일단 쉽게 이해하실려면 데이터베이스는 체계화된 정보를 넣는곳이고 빅데이터는 엄청난 양의 데이터를 분석하기위해 저장하는것입니다


엄연히 다르고 툴또한 다릅니다 (빅데이터는 하둡 등의 툴로 관리합니다)


데이터베이스는 사실 실무에서는 경력자만 할 수 있는 엄청난 기술을 가져야 할수 있습니다 

그럼 왜 지금 배워야 되냐 하시면 프로그램에 짜면서 데이터베이스는 꼭 필요한 존재는 아니지만 

부수적으로 필요한경우가 많습니다 예를들자면 웹사이트를 구축한다 그럼 당연히 로그인,회원가입이 필요하니 데이터가 필요하죠?

게임 프로그램을 만든다쳐도 기록을 남기기위해 데이터가 필요하죠? 그렇기때문에 배워야됩니다 


무조건 데이터베이스 쪽으로 가는것은 아니지만 실무에선 대부분 업무가 구분되는 경우가 많고 특히 데이터베이스 분야는 경력직을 뽐는경우가 많습니다

그렇지만 프로그래머는 대부분 여러가지를 하는게 좋기때문에 배워두는게 좋죠(어차피 개인서버나 개인홈페이지 관리시 들어갈수도 있기에)





자세한 사항은 참조바랍니다 

(https://ko.wikipedia.org/wiki/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4)


데이터베이스에서 제일 중요한건 바로 데이터 베이스의 특징입니다 보통 4가지로 정의하는데 5가지로 나와있네요 

-실시간 접근성 : 사용자가 데이터를 요청하면 수초 이내 결과가 도출되어야 된다 

-계속적인 변화 : 데이터 값은 시간에 따라 항상 바뀐다 (삽입,수정,삭제)

-동시 공유 : 데이터 베이스는 서로 다른 업무 또는 여러 사용자에게 동시 공유된다

-내용에 따른 참조 : 데이터 베이스에 저장된 데이터는 데이터의 물리적인 위치가 아닌 데이터 값에 따라 참조 


예를들어서 설명하자면 

여러분이 네이버에 접속할시 바로 접속되는것은 실시간 접근성에 해당되며 여러분이 카페나 블로그에 댓글이나 글을 올리는건 계속적인 변화, 동시공유는 여러분이 공유하는 글에 해당될수 있습니다 쉽게 블로그에서 카페로 공유하듯 

내용에 따른 참조는 포인터와 같다고 생각하시면 됩니다 쉽게 직접적 위치가 아닌 데이터가 들어간 주소를 참조하여 가져오는것입니다


이 데이터베이스를 관리하는 프로그램을 DBMS 이것을 관리하는 사람을 DBA 그리고 관리하는 언어는 SQL이라고 합니다 


보통 DBMS의 종류에는 MS SQL,오라클,My SQL 등이 있습니다 


최근에는 SQL과 NO-SQL 등으로 나뉘어져 있는데 

이러한게 생기게된것이 SQL의 경우 보통 관계형 데이터베이스에 많이 사용됩니다 


그런데 관계형 데이터베이스의 단점은 

컬럼의 확장이 상당히 부담스럽습니다 쉽게 새로운 게시판이나 새롭게 단장이 필요할시 

관계형 데이터베이스의경우 각 테이블간의 관계때문에 아예 새롭게 생성되어야 할수도 있다는 말입니다 


하지만 관계형데이터베이스는 웹사이트 구축시 정말 편리하다는 장점도 존재합니다 

(로그인해서 인증이되면 모든 테이블과 연동되어 글도 쓸수 있고 하는것이죠)


최근에는 NO-SQL이 사용되어가면서 대량의 데이터나 관계없이 사용가능한 데이터로 사용하는데 


각각의 장단점이 있고 무조건 NO-SQL도 아닌것이 웹사이트 특성상 게시판이나 기타 정보를 가져오는데는 


관계형 데이터베이스가 안성맞춤이기에 사용에 맞춰서 쓰면 될것같습니다 






반응형