개발자
안녕하세요, 비전공자 출신으로 부트캠프를 수료하고 있는 취준생입니다. 저는 산업공학을 전공했는데, 학교 수업에서는 관계형 데이터베이스에 대해서만 배웠습니다. 그런데 최근 NoSQL이라는 기술을 많이 사용한다고 하더라구요. RDBMS에 비해 더 유연하게 사용할 수 있다는 정도는 알고 있는데, 실제 서비스의 DB를 설계할 때 어떤 큰 이점이 있는지 궁금합니다. 미리 감사드립니다!
답변 1
비정형 데이터들에 대한 유연성? 아닐까 생각이 됩니다. 예를 들어 크롤링 같은 모델을 만들때는 데이터 구조가 대략적으로는 예측되어도 세세한 구조를 정해놓으면 오히려 수집 내용을 저장할 때 문제가 생기지 않을까영.. 그렇게 세세한 구조는 예측하지 못하거나 가변적일 때 쓰면 좋을 것 같아용
익명
작성자
2022년 07월 19일
아하 NoSQL에 그런 이점이 있을 수 있군요! 답변 감사합니다 :)
문승욱(카이론)
베스핀글로벌 Manager • 2022년 08월 18일
기존의 RDB는 Entity(개체) - Relation(관계) 에 집중하고, 데이터를 ACID(Atomic, Consistency, Integrity, Duarabity)원칙으로 엄격하게 관리했다면, noSQL은 이것보다 데이터의 유연성과 분산처리에 특화된 데이터베이스입니다. 예를들면 어떤 학생의 데이터를 관리한다고 할때, 이 학생에 여러가지 속성들 (시험성적, 봉사활동, 수상경력) 등은 전통적인 RDB에서는 여러개의 많은 테이블에 분산되게 됩니다. 그래서 어떤 한 학생의 정보를 조회하려면, 십수개의 테이블을 조인해야 하는 참사가 벌어집니다. (그와중에 중복된 데이터도 많이 생기게 되지요) 하지만 noSQL에서는 이러한 데이터를 하나의 객체로 관리할 수 있기 때문에 엑세스가 단순해 집니다. 또한 sql에서 수행되는 검색이 대부분 간단한 문자열, 혹은 숫자 등에 대한 한두개 컬럼에 대한 검색이 대부분이라는 점을 감안하여 nosql은 그것에 최적화된 키 값 저장기법을 사용합니다. https://ko.wikipedia.org/wiki/NoSQL nosql이라는 하나의 카테고리지만, 지향점이 다르기 때문에, nosql의 상세한 종류는 위키 참고하세요~
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!