RDBMS를 해시테이블로 사용하는 방식에 대해서

sayaya의 이미지


10만개 이상의 Row가 올라가 있는 테이블 A와 B가 있다치고, 두 테이블과 다른 몇개의 테이블을 조인하여 검색하는 복잡한 쿼리가 날아오면 쿼리 최적화를 하더라도 내부적으로 해시테이블을 생성하여 필터링 및 다른 테이블간의 조인을 수행하여 속도가 크게 떨어집니다.

그래서 비정규화를 하게 되는데, 일단 여기서 비정규화는 고려하지 말고 페이스북이 MySQL을 사용하는 것처럼 Key-Value의 해시테이블로 사용한다고 가정해 봅시다.
(http://eincs.com/2012/06/nosql-is-not-useful/)

그러면 Row는 어마어마하게 늘어나지만 모두 한 테이블 내에 있기 때문에 조인을 피할 수 있고 Key에 대한 Group By 문을 이용하여 필터링이 가능해지고, 스키마가 자유로워지는데요, 이런 식으로 DB를 디자인해 본 적이 있는 분들의 경험담을 듣고 싶습니다.