티스토리 뷰

일반적으로 알려진 RDBMS (Relational DataBase Management System) 와 대비되는 용어로 많이 사용 되고 있으며,
No SQL 또는 Not Only SQL, Non-Relational Operational Database SQL 등으로 다양하게 해석이 되고 있으나 대체로 Not Only SQL로 많이 해석 되고 있음.
다시 말하면 기존 RDBMS에서 제공하는 기능은 물론, 부가적인 기능들도 제공한다는 것을 의미함.
1998년 카를로 스트로치(Carlo Strozzi)라는 엔지니어가 공개한 표준 SQL을 따르지 않는 자신만의 Open Source RDB를 NoSQL로 명명한데서 유래 했다고 함.
2009년에 요한 오스칼손(Johan Oskarsson)이라는 엔지니어가 Open Source 기반 분산 데이터베이스 관련 행사를 준비하며 NoSQL이라는 용어를 만들어냈다고도 함.
누가 어떻게 시작했는지 의견이 분분한 가운데 대용량 데이터베이스에 대한 유연성 및 확장성이 중요한 이슈로 떠오르게 되었고 자연스럽게 확장성이 뛰어나고 용도가 다양하고 또는 뛰어난 성능을 갖는 여러 종류의 NoSQL이 등장하게 되었음.


  • 일반적인 관계형 데이터베이스(MySQL, PosegreSQL)는 외래키 등을 이용해 데이터베이스간의 관계를 정의하고, 명확하게 정의 된 스키마에 따라 데이터 배이스의 무결성을 보장하지만, NoSQL은 데이터베이스간의 관계를 정의하지 않고 특정한 스키마가 없거나 엄격하지 않음
  • 관계형 데이터베이스는 각 데이터를 중복없이 한번만 저장되도록 하지만 NoSQL은 중복 허용
  • NoSQL은 관계형 데이터베이스와 비교해 유연하고 확장성이 뛰어남

MongoDB

  • Document-Oriented NoSQL로 문서지향적인 NoSQL이라고 함
  • OpenSource
  • Document는 RDB의 record와 유사한 개념으로 JSON 형태의 key-value 쌍으로 이루어진 데이터 구조를 가짐
  • value 값에 JSON과 마찬가지로 다른 document, array, document array등이 포함 가능

  • _id 를 통해 각 Document의 id를 부여하고 식별함 - Primary key처럼 작동하나 db에서 부여하는 값
  • 고정적인 스키마가 없음 (동적스키마)
  • JOIN이 없음, 조인이 없기 때문에 하나의 document에 최대한 많은 데이터를 포함시켜 간편하고 빠른 query를 가능하게함
  • 완화된 ACID(BASE)로 트랜잭션 지원

Redis

  • Key-Value NoSQL로 키밸류의 묶음으로 저장되는 단순한 구조, 속도가 빠르며 분산 저장시 유리함
  • 마찬가지로 스키마가 없음
  • Memcached와 비슷한 캐시 시스템으로서 메모리에 데이터를 저장함

  • 다양한 자료구조를 지원함
  • Append On File, Shapshot 방식 등을 통해 스토리지에 데이터베이스를 저장함

Cassandra

  • Wide Column NoSQL로 대량의 데이터 압축, 분산처리, 집계처리 및 쿼리동작속도와 확장이 뛰어난 분산형 스토리지
  • SQL처럼 CQL(Cassandra Query Language)을 제공하며 SELECT, INSERT 등 기존 SQL과 유사함
  • RDB의 DB-Table-Row-Column 구조와 유사하게 Keyspace-Table-Row-Column(key-value)을 제공하나, 각 Row마다 column의 스키마가 다를 수 있음

  • 따라서 기존 SQL과 비슷하지만 그대로 사용하면 안되고 추가적인 이해가 필요함
  • 데이터 저장시 ring 구조로 저장하고, 클러스터링을 통한 분산동작을 가능하게 함

'CS > OS, DB' 카테고리의 다른 글

데이터베이스 트랜잭션과 ACID  (0) 2022.04.04
Stack, Heap... 메모리에 관해  (0) 2022.02.14
프로세스와 스레드의 차이  (0) 2022.02.13
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함