SQL과 NoSQL

SQL

Structured Query Language의 약자로 database에서 사용되는 언어입니다. Data를 만들고, 찾고, 수정하고, 지우는 기능을 중심으로 구성되어 있고 프로그래밍 언어에 비교해서 좀 더 자연어와 유사하게 되어 있습니다.

예제: students 테이블에서 age가 20인 데이터들을 찾아서 fullName과 age를 선택하여 보여줄 것

select fullName, age from students where age = 20;

위와 같은 명령어를 DB query 라고 부릅니다.

NoSQL

NoSQL은 Non Structured Query Language의 약자로 SQL보다 나중에 등장하게 됩니다. 이름에서도 알 수 있듯이, NoSQL은 DB query을 사용하지 않는 database 언어입니다. SQL이 나온 이후 DB의 조작은 DB query를 사용하는 것이 당연하게 여겨졌었는데, DB query를 사용하지 않고 DB를 조작하는 DB 시스템들이 나오게 된것이죠.

MongoDB를 예로 들면, DB조작에 Javascript를 사용할 수 있습니다. 모든 명령어가 Javascript함수이며 Javascript Object를 parameter로 받고, 모든 검색 결과도 배열이나, object로 나옵니다. 물론 이 결과물을 변수에 담거나 할 수도 있습니다. Javascript를 사용하는 프로그램과 궁합이 좋아지겠지요.

예제: students 콜렉션에서 age가 20인 데이터들을 찾아서 fullName과 age를 선택하여 보여줄 것
db.students.find({age:20},{fullName:1, age:1});

db.students.find 함수를 호출하며 {age:20},{fullName:1, age:1}를 함수의 parameter로 전달하는 것을 볼 수 있습니다.

DB 관련글

댓글

댓글쓰기

이 글에 댓글을 다시려면 SNS 계정으로 로그인하세요. 자세히 알아보기

UP