てくてくテック☆

「Excel方眼紙使い」から「スマイルエンジニア」にジョブチェンジ。千里の道も一歩から。テック(Tech)の道をてくてく歩く。2017 年の目標は「毎日アウトプット!」。

RDB 以外のデータベース − CouchDB の場合

あるところで耳にした RDB 以外のデータベースの話。

これまで業務では、RDB しか使ったことがなかったので、
それ以外と言われても、正直、最初はピンと来ず。。
(後ほど、数年前に参加したクックパッドさんのセミナーで
 紹介のあった Hadoop がその一種だと知りました)

で、いろいろと検索をしたところ、
見つけたのがこの記事です↓

モバイルからクラウドまで、幅広く活躍するCouchDB (1/3)
モバイルからクラウドまで、幅広く活躍するCouchDB (2/3)
モバイルからクラウドまで、幅広く活躍するCouchDB (3/3)

ちょこっと古いですが、
RDB との違いやその問題点についても書かれており、
RDB 以外のデータベース」という観点で、
個人的にはすごく分かりやすかったです。

記事にも出てきていますが、「RDB 以外のデータベース」は
「NoSQL(Not Only SQL)データベース」と呼ばれ、
種類もいろいろとある模様。

特にフォーカスされている CouchDB
「ドキュメント指向データベース」という分類で、
データを JSONJavaScript Object Notation)形式で
保存するのだそうです。

これを聞いただけでも、今勉強している Ajax、もとい、
JavaScript と親和性が高そうなので、
CouchDB についても調べておけば、
いい感じに相乗効果が得られるかも。

ちなみに、CouchDB で一番興味を惹かれたのは、
「オフラインでも動く」ということ。

それがどのように実現されているか、
動く、といってもどういうレベルなのか(制約などはあるのか)など、
まだ詳しく分からないことも多々ありますが、
これが本当なら、ネット環境の貧弱な場所でも使える
システムやアプリ、サービスが作れるのかな、と。

リアルタイムに処理することが求められないものであれば、
通常はオフラインで使って、
特定のタイミングだけオンラインにする、ってすれば、
通信負荷が削減できそう。

回線が細くて、処理が集中すると、
通信速度が激しく落ちるような環境や
海外出張でホテルなどの特定の場所でしか
ネット環境が得られないような場合など、
いろいろと応用がきく気がして、ちょっとワクワクしてます。

まだ概要しか押さえられていないので、
引き続き、勉強しようと思います。