관계형 데이터베이스는 대단히 성공적인 제품이며 그 등장 배경 또한 꽤나 흥미롭다.
하지만 처음 접했을 때는 당시에 떠오르던 객체지향 프로그래밍 방식과 어울리지 않고 유연성이 요구되는 인터넷 시대에 맞지 않아 10년이내로 사라지거나 퇴물로 여겨질 것이라 예상했다. 참으로 풋내기 다운 생각이었다.
사람도 시스템도 RDB에 너무나 익숙해져 있었다.
그리고 안정성이나 시스템 운영 등의 면에서 상당한 장점이 있는 기존의 제품들을 대체하는 것은 기술이나 기능적인 범위를 벗어나 기존의 구조와 관습과 체계의 혁신을 필요로 한다. 역사의 교훈을 빌리자면 이것은 이런저런 요인으로 도저히 못버틸 정도가 되어야 기대할 수 있는 것이다. 그러나,
하나의 시스템에 여러가지 언어, 다양한 데이터베이스를 사용하는 추세(맞나?)라고 하면,
Graph DB도 충분히 부딪혀 볼 가치가 있다고 본다. 현재는 분석 등의 기능에 초점이 맞춰진 듯 하지만,
그보다 테이블이고 조인이고 다 내쳐진 하나의 저장소, 압도적 확장성/유연성은 개발자라면 한번쯤은 꿈꾸었을 법한 바로 그것이다.
국내 기업 제품부터..
https://bitnine.net/introgdb_kor/
마법의 시간~
섣불리 쓰지는 말자 (동의하기 어려운 부분도 있다)
https://medium.com/neo4j/how-do-you-know-if-a-graph-database-solves-the-problem-a7da10393f5
카카오에서 만든 S2Graph 라는 것도 있다. 아파치 인큐베이팅 프로젝트이며 GitHub 마지막 업데이트는 현재 기준 3 Nov 2018 이다. 연구/조사, 호기심 방랑 목적으로 한번 볼만할 듯 하다.
S2Graph is a graph database designed to handle transactional graph processing at scale. Its REST API allows you to store, manage and query relational information using edge and vertex representations in a fully asynchronous and non-blocking manner.
S2Graph is a implementation of Apache TinkerPop on Apache HBASE.