[mongodb] rocksdb의 통합

mongodb 2015. 11. 20. 02:17



mongodb 가 요즘 뜨고 있다. mongodb에 rocksdb를 포팅이 가능해지면서 가능성이 점점 좋아지고 있다.


rocksdb는 facebook에 만든 db로서 구글 leveldb를 기반으로 만들어졌으며 성능이 아주 좋다. 수많은 코어를 이용하여 flash의 iops 속도를 극대화하여 성능을 높인다. 



자세한 것은 아래 링크 참조한다.


http://www.bloter.net/archives/170457

https://scontent-icn1-1.xx.fbcdn.net/hphotos-xpa1/v/t1.0-9/1441593_10151976018697200_1580274673_n.png?oh=3f1e9f8df5b42f8c3cb41f15a7a195d0&oe=56F78A82



최근 facebook 개발자 Iqor Canadi 는 rocksdb를 scale out할 수 있는 포인트를 찾으려 했고, 

mysql과 mongodb에 포팅하는 노력을 하고 있다. 또는 flash보다 저렴한 디바이스 기반에서 빠른 속도가 나올 수 있도록 노력하고 있다.


Parse.com 에서 mongodb 3.0에 rocksdb를 붙여 integration했다. (계속 쓰고 있는지는 모르겠다.)


http://blog.parse.com/announcements/mongodb-rocksdb-parse/


To run mongod with the RocksDB storage engine, just invoke mongod with the --storageEngine=rocksdb parameter.  You can add the RocksDB node to an existing replica set by using rs.Add() and performing an initial sync as you normally would.

Please treat this as work in progress. Both of those branches will keep changing as we keep improving the performance and stability.  We will release and package a “stable” version at some point in the future.




mysql과 rocksdb, mongodb와 rocksdb를 잘 integration을 진행하고 있다. 


http://rocksdb.org/blog/author/icanadi/

MyRocks

As you might know, we’re working hard to integrate RocksDB as a storage engine for MySQL. This project is pretty important for us because we’re heavy users of MySQL. We’re already getting pretty good performance results, but there is more work to be done. We need to focus on both performance and stability. The most high priority items on are list are:

  1. Reduce CPU costs of RocksDB as a MySQL storage engine
  2. Implement pessimistic concurrency control to support repeatable read isolation level in MyRocks
  3. Reduce P99 read latency, which is high mostly because of lingering tombstones
  4. Port ZSTD compression

MongoRocks

Another database that we’re working on is MongoDB. The project of integrating MongoDB with RocksDB storage engine is called MongoRocks. It’s already running in production at Parse [1] and we’re seeing surprisingly few issues. Our plans for the next half:

  1. Keep improving performance and stability, possibly reuse work done on MyRocks (workloads are pretty similar).
  2. Increase internal and external adoption.
  3. Support new MongoDB 3.2.




최근에는 오픈 소스 db 컨설팅 회사로 유명한 percona 컨퍼런스에서 관련 integration 결과에 대한 발표가 공유되었다. 지켜봐야겠지만, 자료만 봐서는 아주 훌륭하다.


https://www.percona.com/live/europe-amsterdam-2015/sessions/rocksdb-storage-engine-mysql-and-mongodb








'mongodb' 카테고리의 다른 글

[mongodb] wiredtiger 사용시 압축(compression) 자동 지원  (0) 2015.11.25
[mongodb] 용량 확인하기  (0) 2015.11.23
mongodb 3.2 특징  (0) 2015.11.10
[mongodb] 커서 (cursor)  (0) 2015.11.09
[mongodb] mongodb 검색하기  (0) 2015.11.09
Posted by '김용환'
,