Redis
 Computer >> コンピューター >  >> プログラミング >> Redis

データベースレス(DBLess)アーキテクチャとは?ファーストプリンシプル思考で読み解くデータベースの未来

「なぜRedisのようなデータベース企業が、Databaseless(DBLess:データベースレス)アーキテクチャについて語るのだろう?」——そう疑問に感じるのは自然なことです。まずは細部に入る前に、このまったく新しいアーキテクチャの背景にある「新しい考え方」から見ていきましょう。

そのために、少しだけ回り道をして「ファーストプリンシプル(第一原理)思考」についてお話しします。この思考法は、伝統や慣習を鵜呑みにせず、自らの頭で考え、あらゆるものに疑問を投げかけることを促すものです。

ファーストプリンシプルの核心はこうです。重力の法則のような自然法則でない限り、あらゆるシステムや概念は人間が作り出したものであり、非効率を抱えている可能性があります。さらに時間の経過や技術革新によって、その概念が時代遅れになっているケースもあります。つまり、従来のシステムや概念を定期的に見直し、より優れたものを構築できないかを検討すべきだということです。

非効率を発見するには、系統的かつ科学的なアプローチが必要です。対象を小さな要素へ分解して根本的な真実にたどり着き、時間の経過や新技術の登場によって、それらの要素が陳腐化していないかを一つずつ確認します。もしそうであれば、そこにこそ「より新しく、より良いシステム」を築くチャンスがあるのです。

実は、社会・技術・経済における変化の大部分は、意識されることは少ないものの、ファーストプリンシプルで考え、伝統に挑んできた人々によってもたらされてきました。

データベースレス(DBLess)アーキテクチャとは?ファーストプリンシプル思考で読み解くデータベースの未来

上の動画では、イーロン・マスクがバッテリーの原材料に目を向け、そのコストを700ドルから70ドルへと引き下げた経緯を説明しています。

もう一つ、より分かりやすいファーストプリンシプル思考の例を挙げましょう。それは「ガソリン車 vs 電気自動車」です。

ガソリン車 vs 電気自動車

電池を使えば車を走らせられることは、誰もが知っています。

しかし、ガソリン車にもバッテリーは搭載されているものの、走行のためには使われていません。エンジン始動、エアコン、オーディオ、ライト、センサー、ロックなどに使われるだけで、動力源は内燃機関(ICE)です。

実は、内燃機関車は非常に非効率です。発生したパワーのうち、実際にタイヤに伝わるのはわずか16%〜25%。一方、電気自動車(EV)は約90%のパワーをタイヤに伝えます。さらにEVは、環境性能や修理コストなどの面でも大きな優位性があります。

ファーストプリンシプルの視点で見れば、今日でも生産されている大多数の車がガソリン車であるにもかかわらず、その根底にあるのが非効率なシステムだという「根本的な真実」が見えてきます。

一方、電気自動車はこの非効率を取り除き、まったく新しいタイプの車を作りました。複雑で非効率なエンジンを捨て、大きなバッテリーとモーターで直接タイヤを回すシンプルな構造に置き換えたのです。

データベースレス(DBLess)アーキテクチャとは?ファーストプリンシプル思考で読み解くデータベースの未来

このように、ファーストプリンシプル思考は非効率の発見と、より新しい優れたシステムの創造につながります。

ここで一度考えてみてください。もし今から新しい自動車会社を立ち上げるとしたら、ガソリン車と電気自動車、どちらを作りますか?

それでは話題を転換し、同じファーストプリンシプル思考をデータベースの世界に適用できるか見ていきましょう。

従来型アーキテクチャ vs DBLessアーキテクチャ

まずは従来型のアーキテクチャから確認します。

データベースレス(DBLess)アーキテクチャとは?ファーストプリンシプル思考で読み解くデータベースの未来

従来型アーキテクチャでは、プライマリデータベース(Postgres、MongoDBなど)と、セカンダリデータベースまたはキャッシュ(RedisやMemcachedなど)を併用します。プライマリDBはすべてのデータを保存しCRUD操作を担い、キャッシュDBはキャッシュ、セッションストレージ、レート制限、IPホワイトリスト、Pub/Sub、キューイングなど、幅広い用途に使われます。

よく考えてみると、キャッシュヒット時にはCRUD操作の一部をセカンダリDBが処理しています。それでありながら、セカンダリDBを本格的なプライマリデータベースとして活用しきれてはいないのです。

これ、どこかで聞いた話だと思いませんか? ガソリン車が、走行以外のあらゆる用途にバッテリーを使いながら車を動かす動力には使わないのと同じように、従来型アーキテクチャではRedisなどを「主DB以外」のあらゆる用途に使っているのです。

類似点が見えてきましたか?

もしファーストプリンシプル思考を使って、電気自動車がやったことを実現したらどうなるでしょうか? EVがエンジンを取り払ったように、遅く非効率なプライマリデータベースを廃止し、キャッシュDBをそのままメインデータベースとして使うとしたら?

さあ、こんにちは、Databaseless(DBLess)アーキテクチャ。

Databaseless(DBLess)アーキテクチャとは

このアーキテクチャでは、プライマリDBを廃止します。名前の由来もここにあります(DBLess=DBなし)。代わりに、従来セカンダリ/キャッシュだったDBを、新しいプライマリデータベースとして採用します。

Redisなどのキャッシュ用データベースをプライマリとして使い、Postgres、MySQL、MongoDBといった従来型のプライマリDBを完全になくしてしまうことを想像してみてください。

データベースレス(DBLess)アーキテクチャとは?ファーストプリンシプル思考で読み解くデータベースの未来

重要な注意点:これはあくまでアーキテクチャに関する議論です。DBLessアーキテクチャはRedisやRedis Enterprise限定の独自仕様ではなく、Redis互換のシステムであればどれでも実現できます。また、RedisはOSSプロジェクトなので、自身で構築することも、他のRedisホスティングクラウドプロバイダー上で実現することも可能です。

実際に使われているの?

はい、間違いなく使われています。私たちは日々数千の顧客とともに仕事をしていますが、Redisは依然として主にセカンダリDBとして使われているものの、ここ数年でこの新しいDBLessアーキテクチャが台頭してきました。Redis自体がより多機能かつ強力になり、成功事例が増えるにつれて、その勢いは加速しています。当社の顧客ではないRequest Metricsのような企業も、このアーキテクチャの上にスタートアップ全体を構築し、大きな成功を収めています。

データベースレス(DBLess)アーキテクチャとは?ファーストプリンシプル思考で読み解くデータベースの未来

これが現実のものであると分かったところで、次に何がこれを可能にしているのかを見てみましょう。

技術的には、従来のプライマリDBと比べてどうなのか?

Redis Enterpriseを例に、従来型のプライマリDBと比較してみましょう。

データベースレス(DBLess)アーキテクチャとは?ファーストプリンシプル思考で読み解くデータベースの未来

ご覧の通り、結論としては非常によく健闘しており、場合によっては一部の従来型プライマリDBよりも優れた結果を示します。

念のため補足すると、このアーキテクチャはRedis OSSやその他のRedis互換製品を使っても実現できます。同様の比較表を自分で作成し、どの程度うまく機能するか確認すればよいのです。

でも、Redisに本当にできるの? キャッシュじゃなかったの?

その通りです。Redisは約10年前にキャッシュストアとして誕生し、今でもその用途には最適です。

しかし、RedisおよびRedis Enterpriseはその後、従来型データベースのほぼすべての機能を取り込むことで大きく進化しました。加えて、コアRedisとネイティブに連携するモジュールエコシステムも備えています。

たとえばRedisJSON(市場のリーダーより10倍高速)を使えば、実質的にリアルタイムのドキュメント指向データベースを実現できます。また、RediSearchモジュール(4倍〜100倍高速)を使えば、ElasticsearchやAlgoliaのようなリアルタイム全文検索を実装できます。

しかも、これらのモジュールはいずれもRedis OSSの一部として利用でき、セルフホストすることも可能です。

本当に未来なのか?

私たちは、このアーキテクチャが電気自動車と同じ意味で未来だと確信しています。電気自動車は現在、全自動車の1%未満ですが、それでも未来です。これは技術の自然な進化だと考えています。多くの顧客の成功を目にしてきた私たちは、このアーキテクチャを知る人が増えるほど、試し、採用する人が増えると確信しています。

名前の由来は?

「DBLess」という名前は、プライマリDBをなくす(Lessにする)ことに由来します。「ステートレス」「サーバーレス」「NoSQL」「No Software」と同じ系譜の、遊び心のあるユニークなネーミングだと考えています。

始め方は?

あなたが数十万人のRedisユーザーの一人なら幸運です——今日すぐに手軽なPoC(概念実証)を始められます! 私たちが求めているのは、新しいものの追加ではなく、非効率なものの排除です。

具体的な進め方は以下の通りです。

新規システムや新機能を開発中なら、話はシンプルです。このアーキテクチャを使い始めるか、少なくともPoCを実施して、自分に合うかどうか確かめてみてください。

すでにプライマリDBを運用しているなら、多くの顧客が実践しているハイブリッド方式を試しましょう。従来型アーキテクチャを使い続けながら、すでにRedisへの依存度が高い部分や新機能など、製品の一部から新しいアーキテクチャへ移行します。そして少しずつ確実に、すべての機能が完全に移行されるまで進めていくのです。

まとめ:ファーストプリンシプル思考者になろう

私たちがお願いしたいのは、あなたがファーストプリンシプル思考者になることです。伝統的に使われてきたからといって、それが完璧で、盲目的に従うべきだということにはなりません。従来の考え方に疑問を持ち、批判的に検討し、代替案を試してみてください。そうすることで、自分にとっても他の人にとっても有用な何かを発見できるかもしれません。

DBLessアーキテクチャは、従来の常識に対するもう一つの選択肢を提示します。「うまくいくかな?」と迷う前に、まずPoCを試してみてください。思いがけない発見があるかもしれませんよ!

参考文献

  1. イーロン・マスクのファーストプリンシプル思考について

  1. MacBook Proにおすすめのアプリ徹底解説!人気ブラウザ&クリーナー厳選3選

    MacBook Proに最適なアプリを探している方は多いのではないでしょうか。優れたアプリを選べば、デバイスへの負担を抑えながら、仕事や日常生活のさまざまなタスクをより効率的にこなせるようになります。App Storeには同じ分野の類似製品が数多く存在するため、一つひとつ確認していくのは時間も手間もかかります。そこで本記事では、ユーザーと開発者双方からの総合的な評価をもとに、特によく使われている定番アプリを厳選してご紹介します。必要なアプリを素早く見つけるための参考にしてください。TIPS:今すぐ使える無料MacクリーナーランキングMacからアプリを完全にアンインストールする方法Part 1.

  2. アップルがIT業界のリーダーと呼ばれる理由──世界を変えた5つの革新

    アップルは、他社の道を切り開く数々の技術を生み出してきました。その登場頻度は決して多くありませんが、一度現れると、それは驚異的なインパクトを持つものばかりです。 アップルが生み出した技術のいくつかは、私たちのテクノロジーの使い方そのものを変えてきました。高性能コンピュータの分野において、アップルは今なお頂点に立ち続けています。ここでは、テクノロジーに対する私たちの見方を変えた、アップルによる5つの革新的開発をご紹介します。 1. グラフィカルユーザーインターフェース(GUI) 1984年、アップルはグラフィカルユーザーインターフェースを統合した「Macintosh」を発表しました。これはユーザ