목록공부/DB (2)
빠에야는 개발중
오랜만에 글을 쓴다. 전부터 궁금했던 redis에 대해서 알아보자.2015년에 ndc에서 들었던 세션 중에 마비노기 TCG 게임에서 redis를 사용하여 캐싱을 한다는 이야기를 들은 기억이 있다. 그 때 이름만 듣고 넘어갔던 녀석이 점점 많이 들리기 시작했고 최근에는 H2 데이터베이스를 사용해보면서 “인 메모리 데이터베이스”의 개념을 알게 되었고 결국 대중적 오픈 소스인 redis에 도달하게 되었다. 그럼 이것들이 다 무엇인가? In-memory Database 인메모리 데이터베이스는 디스크가 아닌 메모리에 데이터들을 저장하는 방식의 데이터베이스를 일컫는다. 처리 속도가 디스크에 비해 월등히 빠른 메모리 레벨에서 데이터를 처리함으로써 성능 향상을 도모한 것이다. 그런데 메모리에 데이터를 저장한다는 건 시..
정규화란? 정규화는 데이터베이스에서 일어날 수 있는 삽입, 삭제, 갱신 이상(anomaly)를 해결하기 위해 릴레이션을 적절하게 분리하는 작업을 말한다. 그리고 그 기준은 주로 “종속성”의 여부를 판단하는 것이 많다. 정규화의 단계 정규화는 총 1NF, 2NF, 3NF, BCNF, 4NF, 5NF까지 있고 각 단계는 직전 단계까지의 정규화를 만족해야하는 조건이 있다. 일반적으로 3NF까지 수행되었으면 정규화가 되었다고 말할 수 있게 된다고 한다. 그리고 현실적인 이유(join 등의 이슈) 때문에 일부분을 정규화하지 않는 경우도 있다. 1정규화 1정규화는 “각 릴레이션이 원자값을 가지는 조건”을 만족해야한다. 쉽게 보면 “중복값을 가지지 않는 것”이라고 말할 수 있지만 뉘앙스가 조금 다르고, “고유의 값을..