Reference - Fundamentals of Database Systems 7th edition
NoSQL
= Not only SQL
기존 sql은 table 안에서 연산을 했는데, 이와 다르게 일관성이 결여된 경우 사용한다. 데이터의 유실에 덜 민감해야 한다.
NoSQL은 분산데이터베이스의 장점을 많이 따르며, 정형화된 형태가 아닌 다른 형태로 저장된다.
예를 들면 social media, web links, user profiles, tweets 등이 포함된다.
BigTable(google), DynamoDB(amazon : key-value), Cassandra(facebook) 등이 있다.
NoSQL의 특징
- 확장성, 가용성, 일부 일관성, replication models( 1. master-slave(=master db에서만 갱신, 다른 node는 copy만), 2. master-master), sharding of files(=수평 분할, record 손상 x), 고성능
- Schema가 요구되지 않고, query language가 덜 필요하다. 키 기반으로 검색하는 경우가 많다. timestamp로 버전관리.
- document-based, key-value based, graph-based 등의 종류가 있다.
Relational database와 다르게 consistency를 강제하지 않고, 유연하게 시스템이 동작하도록 한다.
이를 위한 기반이 되는 CAP theorem이 있다.
Consistency, Availability, Partition tolerance 중 2가지만 만족하면 된다는 의미다.
MongoDB 특징 1. Key-document(json) 저장. 2. schema가 없다. 3. two-phase commit, 4. multiple copies on different nodes 5. master-slave
Big data
big data = TB, PB, XB 단위. Volume이 크고, 데이터가 나오는 Velocity가 빠르고, Variety - 다양하다.
Hadoop : 오픈소스 Distributed File System. Mapreduce programming paradigm을 사용.
map : 문제를 분할해서 node에 mapping, reduce = 위 결과를 합침
namenode에서 모든 job이 시작되고 메타데이터가 기술되어있다. High availability를 가진다.
Hadoop Ecosystem - mapreduce를 보완하기위한 소프트웨어 오픈소스.
pig and hive, Oozie, Sqoop, HBase등의 ecosystem이 있다.
'CS > Database' 카테고리의 다른 글
[데이터베이스] 12. Distributed Database Concepts (Ch. 23) (0) | 2023.12.10 |
---|---|
[데이터베이스] 11. Database recovery techniques (Ch. 22) (0) | 2023.12.10 |
[데이터베이스] 10. Concurrency Control Techniques (Ch. 21) (0) | 2023.12.09 |
[데이터베이스] 8. Functional Dependencies and Normalization for Relational Databases (Ch. 14) (0) | 2023.12.09 |
[데이터베이스] 7. Indexing (Ch. 17) (0) | 2023.12.09 |