어제 뉴스를 보면서 사람은 하루에 약 2Gb의 데이터를 자동차는 사람보다 더 많은 데이터를 비행기는 테라 바이트에 가까울 정도로 생산을 해낸다는 기사를 보았습니다. 저 또한 크롤러를 통해 하루에도 수많은 데이터를 만들어 내고 있습니다. 그렇다면 저 수많은 데이터를 관리를 해주는 곳이 필요할 텐데 그곳이 바로 database라는 시스템입니다. 하지만 데이터를 저장 하는 방식에 따라 크게 3가지의 종류로 나눠 볼 수 있습니다. 더 깊숙하게 들어가면 특정 어플리케이션에서만 사용하는 경량방식(SQLite)도 존재 하지만 이는 생략을 하도록 하겠습니다. 우선 빠르게 어떤 종류가 있는지 부터 훑어 보도록 하겠습니다. 이번 포스팅에서는 제가 여러 데이터 베이스를 사용하면서 각각의 데이터 베이스마다 어떤 식으로 데이터를 취급 하는지, 어떤 방식으로 데이터를 다뤄야 하는지 정리를 해보도록 하겠습니다. 1. 디비종류 1.1. RDB(Relational Database) oracle, mysql등으로 가장 많이 알려진 RDBMS 즉 RDB 입니다. 1.2. NoSQL 대표적인 예로 mongodb, hbase가 있습니다 mongodb같은 경우는 mean이 널리 퍼지면서 많이 알려진 db중 하나입니다. hbase같은 경우는 빅 데이터 처리를 한다면 누구나 한번쯤은 들어 봤을 겁니다. 1.3. In-Memory 대표적인 예로 redis가 있습니다 인 메모리 방식도 NoSQL방식에 속하지만 분리 해 보았습니다. 디비에서 가장 중요한 점은 각각의 데이터마다의 고유성을 만들어 내는 것입니다. 이것을 key 또는 Id 라고 합니다. 아마도 대부분이 Key라는 용어를 사용 할 겁니다. 하지만 디비에 따라 약간씩 Key를 부르는 용어가 다른데 rdb에서는 PK(Primary Key), FK(Foreign Key), nosql에서는 rowKey, partitionKey, sortingKey, id등으로 불리우고 있습