많은 NoSQL 을 사용해봤고, 운영도 했지만, 안정적으로 운영할 NoSQL을 새롭게 찾게 되는 것은 왜일까?

MongoDB 를 무의식적으로 사용하고 있는 나와 동료들에게서 MongoDB로 인한 운영 부담을 덜기 위해, 새로운 대안을 찾는 시기가 왔다.

MongoDB와 기능상에서는 유사하지만, 성능이 더 좋고, 운영 부담이 조금 덜한 Couchbase 부터 시작해서, RethinkDB, ArangoDB 등 많은 후보군을 두고 고민을 하고 있다.

내가 새로운 NoSQL 에 바라는 점은 다음과 같다.

1. 운영이 쉬워야 한다. (Ops 전문가가 부족하기 때문)
2. Replication 과 Sharding 기능이 제공되어야 한다. …

요즘 서버 통신 관련 프로그래밍을 해야 해서, 결국 Netty 를 공부하고 있음 …

Netty 를 보다보니 서버쪽도 쉽게 개발할 수 있지만, 클라이언트쪽도 쉽게 개발 할 수 있다는 걸 알 수 있었음 …

거기다가 Reactive Streams 을 구현한 RxJava 와 Reactor 에 Netty 관련 확장 모듈이 있음을 알게되었고, 이제 둘 중 하나를 채택해야 할 시점임 …

고민되네….

RxNettyreactor-io 냐 …

보통 특정 서버를 사용하면, 공식 Client Library 가 있는 경우는 드믈고, 대부분 open source 로 많이 제공되고 있지요. Redis 가 워나 인기가 높아 아주 많은 언어로 client library를 제공하고 있습니다.

제가 java로 개발할 때는 너무도 유명한 jedis 를 사용했습니다. jedis 의 장점은 안정적이면서, 활발한 활동으로 redis-server가 버전이 올라가면서 추가된 기능을 상당히 빨리 제공한다는 점입니다.

그러다가 scala 언어를 주로 쓰게 되고, akka 라는 비동기, Non-Blocking 을 기본으로 사용하는 시스템을 알게 되고, 엄청난 성능을 자랑한다는 걸 알고 이거 …

그동안 미뤄왔던 Database Connection Pool 성능 측정을 수행해 봤습니다. 저는 그동안 Tomcat CP, BoneCP 를 주로 써 왔는데, 올 초에 HikariCP 를 알게되어 사용하게 되었습니다.

그동안 BoneCP의 benchmark 결과를 보고, 상당히 빠르구나… 했는데, HikariCP 에서 제공하는 Benchmark 결과를 보고, 이건 뭐야? 이렇게 빨라? 믿기지 않을 정도였지요…

하지만, 공식사이트의 사용법 중 maximumPoolSize 를 10 으로 놓고 작업해야 한다는 것과 minimumIdle 크기를 지정하지 않아도 된다는 것을 충실히 따라서 테스트 해보니, 실제 환경에서는 쓸 수 없을 …

Sunghyouk Bae

Backend developer, Kotlin big fan

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store