취업전 mysql, 회사에서는 Sql Server를 사용하며 sql 구문에 익숙해진 나에게 등장한 flutter의 firestore!
firestore가 NoSQL 베이스라고 하기에 오랜만에 공부한 내용 정리해두려고 한다.
Sql : Structured Query Language
RDBMS를 관리하기 위해 고안된 언어로,
흔히 SQL DB라고 하면 엑셀과 비슷하게 이해하면 된다.
사실 SQL에 '행', '열'에서(혹은 where절, group절 등등의 조작으로) 얻어내는 결과값들은 엑셀에서도
얻어낼 수 있다.
엑셀로 생각해보자면, 행과 열에 정해진 타입, 종류 혹은 구분의 데이터를 기입한다.
데이터가 예쁜 모양으로 정형화 되어있음을 말한다.
하지만 데이터가 기하 급수적으로 늘어가고, 소셜 네트워크의 등장으로 비정형 데이터들에 대한 처리가 더 필요해 짐으로써 NoSQL 들이 등장한다.
NoSQL : Not Only Sql
즉 SQL 이 아닌 DB 모두를 일컫는 말로
기존의 RDBMS가 보장하는 ACID(Atomic, Consistency, Integrity, Duarabity) 특성을 제공하지 않는,
그렇지만 확장성이나 뛰어난 성능(속도..) 등의 특성을 갖는 수많은 비관계형, 분산 데이터 베이스들을 총칭한다.
.
수많은 오픈소스 기반 NoSQL들이 등장했지만 익숙한 이름의 DB들만 간추려보자면,
1. Documnet DB : 문서형 데이터 처리

2. Key-Value DB : 키-값 데이터 처리


3. GraphDB : entity끼리의 관계를 저장하는 DB
- 페이스북은 자체적으로 TAO라는 GrahpDB를 만들어 사용함.
'DB' 카테고리의 다른 글
[개념_퀴즈] 1-2 데이터 모델과 SQL (0) | 2021.03.08 |
---|---|
[개념_퀴즈] 1-1 데이터 모델링의 이해 (0) | 2021.03.03 |
[코드처리] Update Table Row By Row (0) | 2020.02.06 |
[개념정리] ISNULL vs NULLIF (0) | 2020.02.06 |
[코드처리] ROW_NUMBER( ) OVER(ORDER BY) (0) | 2020.01.07 |