NoSql은 "Not Only Sql"의 줄임말이며, SQL만을 사용하지 않는 데이터베이스 관리 시스템(DBMS)를 지칭하는 단어입니다. 관계형 데이터 베이스를 사용하지 않는다는 의미가 아닌, 여러 유형의 데이터베이스를 사용하는 것입니다.
FaceBook, Twitter 같은 서비스에서 사용 중인 기술이기도 합니다.
용어의 첫 등장은 98년 카를로 스트로찌(Carlo Strozzi)라는 엔지니어가 공개한 표준 SQL 인터페이스를 채용하지 않은 자신의 경량 Open Source 관계형 데이터베이스를 NoSQL이라고 명명한데서 유래했다고 합니다.
이후, 09년에 요한 요스칼손이라는 엔지니어가 Open Source기반의 분산 데이터베이스 관련 행사를 준비하면서 NoSQL이라는 용어를 사용했다고 합니다.
이때부터 기존의 관계형 데이터베이스 시스템의 주요 특성을 보장하는 ACID(Atomic, Consistency, Isolation, Duarabity) 특성을 제공하지 않는, 그렇지만 뛰어난 확장서이나 성능 등의 특성을 갖는 수많은 비관계형, 분산 데이터 베이스들이 다시 등장하여 NoSQL이라는 용어가 보편화되기 시작했습니다.
ACID
Atomic (원자성) : 트랜잭션과 관련된 작업들이 부분적으로 실행되다가 중단되지 않는 것을 보장하는 능력을 말합니다.
Consistency (일관성) : 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것을 의미합니다.
Isolation (독립성) :트랜잭션을 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보장하는 것을 의미합니다.
Durability ( 지속성 ) : 성공적으로 수행된 트랜잭션은 영원히 반영되어야 함을 의미합니다.
NoSQL이 등장한 이후에도 시장에서는 관계형 데이터베이스가 데이터를 처리하는데 가장 최적의 시스템으로 받아들이고 있었습니다.
ERP나 MIS시스템 등 데이터의 정확한 처리가 필수적인 시스템에서도 관계형 데이터베이스를 사용하고 있습니다.
언어의 편이성 떄문에 NoSQL등 다른 데이터베이스 시스템들은 활용되지 않고 있었습니다.
그러나, 2000년 후반으로 인터넷이 활성화, 소셜네트워크 서비스가 등장하며 관계형 데이터 또는 정형데이터가 아닌 데이터, 즉 비정형데이터라는 것을 보다 쉽게 담아서 저장하고 처리 할 수 있는 구조를 가진 데이터 베이스들이 관심을 받게 되었습니다.
해당 기술이 점점 더 발전하게 되면서 NoSQL 데이터베이스가 각광ㅇ을 받게 된 것입니다.
이러한 배경하에서 어떤 엔지니어들은 NoSQL을 Wodern web-scale databases라고 정의하기도 합니다.
ERP : 엔터프라이즈 리소스 계획 시스템은 온프레미스 또는 클라우드에서 생산 기반 또는 유통 비즈니스의 모든 측면을 관리하는 완전한 통합 플랫폼을 의미합니다.
MIS : 기업이라는 시스템의 관점에서 경영시스템의 목표인 이익창출을 위해 다른 하위 시스템을 효율적으로 작용하도록 지원하는 경영 지원 시스템을 의미합니다.
No SQL, Not Only SQL, Non-Relational Operational Database SQL로 엇갈리는 의견들이 있습니다.
하지만, 현재 Not Only SQL로 풀어 설명하는 것이 다수를 차지하고 있습니다.
DBMS가 갖고 잇는 툭성뿐만 아니라, 다른 특성들을 부가적으로 지원한다는 것을 의미하기도 합니다.
https://www.samsungsds.com/kr/insights/1232564_4627.html
https://namu.wiki
https://www.oracle.com/
https://ko.wikipedia.org/wiki
https://www.integrate.io/ko/blog/which-modern-database-is-right-for-you-ko/