Scribble at 2023-09-17 09:01:19 Last modified: 2023-09-18 09:29:28

添付画像

Let’s Encrypt helps to protect a huge portion of the Web by providing TLS certificates to more than 235 million websites. A database is at the heart of how Let’s Encrypt manages certificate issuance. If this database isn’t performing well enough, it can cause API errors and timeouts for our subscribers. Database performance is the single most critical factor in our ability to scale while meeting service level objectives. In late 2020, we upgraded our database servers and we’ve been very happy with the results.

The Next Gen Database Servers Powering Let's Encrypt

上記は2年半前の記事なのだが、Hacker News のコメントでは入れ替え前の DB サーバを組むための試算として $25,000(いまのレートで約360万円)という推定が出ている。こうしたことも含めて、幾つかの議論ができる。

まず、このスペックのサーバを組むのに360万円というのは非常にリーズナブルだと言える。デスクトップ・マシン、あるいは高くてもせいぜい100万円の Mac Pro しか使っていないような方には予算感をつかむのが難しいと思う。でも、多くの中小企業で大塚商会を始めとする事務機屋がしつらえるようなサーバとか Active Directory を導入してリース契約やら見積もりやらをやりとりしている実務家であれば、せいぜい RAID1+0 の Windows Storage Server を使ったファイル・サーバを組むだけで300万円くらいはかかることはご存知だろうと思う。しかも、サポートが切れる寸前のバージョンの Windows とか入れてきやがるんだけど、それでその値段ということは、現行バージョンの Windows Storage Server の CAL なんて購入したら更に高くなるということだろう。何にしても、記事で紹介されたスペックでその見積もりが出せる実勢価格というのは、やはり自分たちで部品を集める有能な総務担当がいないと、資産の調達という点でも会社というのは無駄な出費を強いられることになるという好例だ。とはいえ、仮に総務では難しいからエンジニアに部品を集めさせるとしても、いまどきのネット・ベンチャーやウェブ制作会社に、いきなり日本橋へ行ってサーバの部品を集めてこいと言われて対応できる人材なんて殆どいないとは思うが。そもそも、いまやエンジニアですら出来合いのマシンか、せいぜいオンラインでカスタマイズできるていどのマシンをプライベートでも使ってる時代だ。いまさら(大阪は堺筋にある)日本橋へ行けと言われても、ひょっとすると彼らにしてみれば違和感を持つかもしれない・・・「なんで信長書店やメイド喫茶や幼女の変態フィギュアの店しかない風俗街にパソコンの部品を買いに行く必要があるんだ? 華麗に大阪駅前のヨドバシでいいじゃん」みたいな(コム・デ・ギャルソンも入居してる!)。

そしてもう一点だけ書いておくと、このデータベースでは MariaDB を使っているという。この事実だけでも、膨大なデータを短いレイテンシで対応しなくてはならないシステムですら、わざわざ NoSQL なんか選択しなくてもいいという一つの例になっていると言える。実際、僕が海外も日本も含めて眺めている限り、NoSQL のデータベースを採用している事例そのものが圧倒的に少ないし、ましてやそれによって従来のリレーショナル・データベースに勝る何らかの結果を出したなんてことを紹介している事例は更に少ない。言い出しっぺの一人である Google で大規模に採用して使っているのは知ってるが、あれら巨大企業の自作自演だけで鬼の首を取ったように「SQL! m9(^Д^)プギャー」みたいなことを言ってるのは馬鹿だろう。簡単な話だ。御社で、Cockroach だろうと Cassandra だろうと、NoSQL サーバを使った、実装例が、一つでも、ありますか、ということである。

それに加えて、出羽守と言われようと海外と比較する限り、日本の DB 技術者なんて IPA の資格を持ってる人であっても、その大半はゼネコンの Oracle 使いか MS SQL Server の「ロックイン・エンジニア」であって、NoSQL なんぞ使ったこともないような人々であろう。したがって、知らないものは導入できないし実績も紹介できないわけである。いや、仮に知ってたり使っている人が実際にはたくさん国内にいるとしても、アウトリーチやディスクローズしないのだからしょうがない。採用面接でも人事考課でも、あるいは営業のセールス・トークでも言えることだが、アピールしてない事実やスキルや取り柄なんて、われわれ採用したり購入する側にしてみれば「ない」も同然なのだ。存在しないものを評価したり購入することはできないのだから、日本のデータベース・エンジニアは NoSQL に関して原始人並みだと言われても反論する権利などないのである。

日本の DB エンジニアなんていう些末な話はどうでもいい。寧ろ論点は NoSQL にある。かようなわけで、僕が思うにはリレーショナルである必然性が殆どないように思えるデータを扱う場合ですら MariaDB を採用しているということは、やはり NoSQL のアドバンテージはイヴァンジェリストや物書き・・・こいつらは自分で使ってもいないものを平気でお勧めしたり「次世代の最新技術」だと喚き立てるわけだが、そういう人々が騒ぐほどのものではないという一つの傍証にはなろう(ちなみに MariaDB には NoSQL に対応する「機能」はある。でも、スキームとして NoSQL を採用していながらエンジンなどを MariaDB にしなくてはいけないという、或る種の非効率や不合理を許容しなくてはいけないほどの事情や根拠など、この規模のシステムにあるとは思えない)。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook