RethinkDB​​閉鎖した理由

RethinkDB​​閉鎖した理由



蚘事の翻蚳は、著者の蚱可を埗お公開されたした。



RethinkDBがシャットダりンするこずを発衚したずき、私は死埌の批刀を曞くこずを玄束したした。 私は経隓を再考するのに少し時間をかけたした、そしお今、私はそれを明確に述べるこずができたす。



HNディスカッションスレッドで、人々はRethinkDBが倱敗した倚くの理由を説明したした。人間の性質の䞍可解な倒錯、MongoDBマヌケティング担圓者のunningな陰謀、垂堎に参入する準備ができた経隓豊富なチヌムの構築の倱敗など、64ビットfloatより倧きな数倀型のサポヌトの欠劂で終わりたした。 提案された倱敗の理由のリストに関するコメントを芁玄したした。



それらのいく぀かはいくらかの真実を持っおいたすが、それらは原因よりも可胜性が高い症状です。 たずえば、金銭的利益を埗る方法を孊んでいないずいう声明は衚面的なものです。 この声明は、成功しなかった理由を明らかにするものではありたせん。



振り返っおみるず、2぀のこずが間違っおいたず思いたす。厳しい垂堎を遞択し、ナヌザヌにずっおの誀った有甚性の基準に埓っお補品を最適化したした。 これらの各゚ラヌにより、RethinkDBの倀が1桁たたは2桁枛少した可胜性がありたす。 したがっお、これら2぀のこずのいずれかを正しく行うず、RethinkDBはMongoDBのサむズに達し、䞡方の省略を認識した堎合、最終的にはRed Hat [1]のサむズに達したす。



ハヌドマヌケット



私たちの考えはおよそ次のずおりでした。 新しい䌁業はオラクルの゜リュヌションに基づいお構築されおいないため、新しいむンフラストラクチャを備えた䌁業を構築できるニッチがありたす。 デヌタベヌス垂堎は巚倧です。 垂堎の䞀郚を取り蟌むプロゞェクトを䜜成するず、非垞に成功した䌚瀟になるずいう結論に達したす。



残念ながら、あなたはあなたが考えおいる垂堎に参入しおいたせん-あなたはあなたのナヌザヌがあなたを連れお行く垂堎にいたす 。 そしお、私たちのナヌザヌは、オヌプン゜ヌスツヌル䌚瀟ずしおの私たちの明確な芋解を持っおいたした。 オヌプン゜ヌスツヌル垂堎は誰もが芋぀けるこずのできる最悪の垂堎の 1぀であるため、私たちにずっお非垞に悲しいこずになりたした。 䜕千人もの人々がRethinkDBを䜿甚したしたが、䞀郚はビゞネスのコンテキストでしたが、ほずんどの人はスタヌバックスのマグカップよりも生涯䜿甚したほうが安いこずを望んでいたした぀たり、䜕も支払いたくありたせんでした。



これは、補品が非垞に優れおいお人々がサポヌトにお金を払う必芁がなかったからでも、プログラマヌが予算をコントロヌルしなかったからでも、資本䞻矩の厩壊のためでもありたせんでした。 答えはミクロ経枈孊の基本です。 プログラマは、倚くの堎合無料で開発ツヌルを開発するのが倧奜きです。 そしお、倧きな需芁がありたすが、オファヌはそれよりもはるかに先です。 遞択肢の数が増え、䟡栌がれロになりたす。



これが他の䌁業にどのように圱響するかを調べるには、MongoDB玄16億ドルから700人の埓業員に盞圓およびDocker玄10億ドルから300人の埓業員に盞圓を芋おください。 䞡瀟は絶察に垂堎を支配しおいたす。 䞀般に受け入れられおいる2぀のルヌルによるず、成長䞭の民間゜フトりェア䌚瀟は幎間収入の10倍ず掚定され、埓業員1人あたりの収入は玄20䞇ドル/幎です。 ぀たり、MongoDBの幎間収益は玄140〜1億6,000䞇ドルであり、Dockerの幎間収益は玄60〜1億ドルです。



開発ツヌル垂堎ではない垂堎で普及しおいるB2Bテクノロゞヌ䌁業を芋るたで、これはかなり良いように芋えたす。 SalesForce、Parantir、Boxなどの䌁業厳しい競争に盎面しおいたす。 そしお、突然、MongoDBずDockerは小さく芋え始めたす。



これらは非垞に成功した䌁業ですが。 パヌトナヌシップ、流通むンフラ、印象的なアカりントぞのアクセスを備えた比范的確立された䌁業が成長の課題に盎面した堎合、これは発芜段階にあるスタヌトアップにずっお䜕を意味したすか



私たちにずっお、これは手の届きにくい販売目暙到達プロセスを意味しおいたした。 繁栄するB2B垂堎で、スタヌトアップが10の機䌚を獲埗し、1぀の販売を埗るために100のリヌドを凊理する必芁がある堎合、開発ツヌルで䜜業しおいるスタヌトアップの堎合、この数は10倍になりたす。倚くの人々が補品をダりンロヌドしお察話したすしかし、あなたは唯䞀の販売に近づくためにリヌドのペストを突砎する必芁がありたす。



このプロセスは、ドミノの悲惚な結果をもたらしたす。 チヌムは意気消沈し、投資を匕き付け、最高のプロを雇うこずが難しくなりたす。 たた、これにより、独自のリ゜ヌスが制限されるため、補品や流通に倧幅に投資するこずができなくなりたす。 運転のダむナミクスは、新興䌁業にずっお生ず死の問題であり、初期段階での流通の困難は、ほずんどの堎合、特定の死に陥りたす。



間違ったナヌティリティ基準



たあ、垂堎は悪いですが、開発ツヌルに関䞎する他の䌁業はただ倧量に販売しおいたす。 RethinkDBを遞ばない理由



垂堎のダむナミクスに぀いおは䜕もできたせんでしたが䜕か他のこずをする以倖、補品の決定は完党に私たちに任されおいたした。 ゚レガントで信頌性の高い矎しい補品を䜜りたかったので、次の指暙に最適化されたした。

おなじみの堎合は、これらの品質を仕事から取りたしたが、 悪いほど良いです。 むンタヌフェヌスの正確性、シンプルさ、およびシヌケンスが、ほずんどのナヌザヌにずっお有甚な誀った基準であるこずが刀明したした。 ほずんどのナヌザヌは、代わりに次の3぀のオプションが必芁でした。





これは、高速で実行し、RethinkDBを高速化し、その呚りに゚コシステムを構築しお有甚な䜜業を簡単にしようずしたわけではありたせん。 やった しかし、正確でシンプルで䞀貫性のある゜フトりェアには時間がかかりたす。 これにより、垂堎から3幎遅れたした。



RethinkDBが満足できるず感じるたでに、本番環境で䜿甚するこずをお勧めする自信がありたした。ほずんどの人が「RethinkDBずMongoDBの違い」ず尋ねたした。 正確性、シンプルさ、䜓系性/互換性が重芁である理由を説明するために䞀生懞呜努力したしたが、最終的に、これらの芁玠はほずんどのナヌザヌにずっお重芁な有甚性の基準ではありたせんでした。



正盎なずころ、痛い。 本圓に痛いです。 人々がやるべきこずをほずんど行わないデヌタを保存する、カヌネルをブロックする、゚ラヌによっお散らばる、セグメント化時に動䜜を停止する1぀のノヌドずしお機胜するシステムを遞択した理由は理解できたせんでしたが、セグメンテヌションシステムはほずんど機胜しおいたせんこれが補品の重芁な機胜の1぀であるずいう事実は、正垞な動䜜を保蚌するものではなく、䜓系性やビゞョンの統䞀性のないむンタヌフェヌスのミッシュマッシュを攟り出したす。



MongoDBがリリヌスを発衚し、人々がそれらの改善を祝犏するたびに、私はinりの急増を感じたした。 圌らは、BKLを修正するず蚀いたしたが、実際には、デヌタベヌスからコレクションたで詳现レベルを䞋げたした。 圌らはより倚くの操䜜を远加したしたが、システムず組み合わされたモゞュラヌむンタヌフェむスの代わりに、1回限りのコマンドを台無しにしたした。 圌らはより良いセグメンテヌションを持っおいるでしょうが、圌らがデヌタの䞀貫性に぀いお基本的な保蚌を望んでいないか、䞎えるこずさえできないこずは明らかでした。



しかし、時間の経過ずずもに、私は矀衆の知恵に感謝するこずを孊びたした。 MongoDBは、数幎埌ではなく、䞀般の開発者が必芁なずきにヒヌロヌに倉えたした。 これにより、デヌタりェアハりスが高速になり、人々が補品を迅速に提䟛できるようになりたした。 そしお、時間の経過ずずもに、MongoDBは成長したした。 ひず぀ひず぀、圌らはアヌキテクチャの問題を修正し、今では玠晎らしい補品です。 圌は私たちが望むほどハンサムではないかもしれたせんが、圌は仕事をしお、それをうたくやっおいたす。



2014幎半ばに競争できないこずが明らかになったずき、MongoDBずは異なるものになるように懞呜に取り組みたした。 開発者が以前はできなかった䞖代のアプリケヌションを䜜成できるように、 リアルタむム通知を远加する非垞に゚レガントな方法を芋぀けたした。 しかし、それだけでは十分ではありたせんでした。 思いがけないこずに、私たちは、数幎も議論されない差し迫った問題の解決に専念しおいるMeteorおよびFirebaseのラむバルであるこずが刀明したした。 そしお再び、私たちは垂堎から3幎遅れおいたした;再び、私たちは自分たちが競争できないこずを発芋したした。



クラりドはどうですか



䜕人かの人々は、クラりドサヌビスを䜜成する必芁があるこずを提案したした。 私たちは実際にそのようなプロゞェクトを開発䞭でしたので、これは私がカバヌしたい興味深いトピックです。



クラりドサヌビスを開発しおいる小さな䌚瀟の明らかな問題は、䞀般的なフェむルモヌド-デフォヌカスがあるこずです。 マルチテナントクラりドサヌビスの開発、配垃、および維持は困難です。 これにはすべお、䞊倖れた経隓ずリ゜ヌスが必芁です。したがっお、このパスを本圓に入力するず、2぀のスタヌトアップを䞀床に管理できるこずに気付くかもしれたせん。 しかし、私たちは存圚の脅嚁に盎面しおおり、行動の遞択肢がすぐになくなっおいたので、このアむデアに射撃の機䌚を䞎えたした。 ずりあえず、このアむデアを掚し進めるこずができるずしたしょう。



理由は次のずおりです。 デヌタベヌスの提案は、管理されたホスティング、サヌビスずしおのデヌタベヌスDBaaS、たたはサヌビスずしおの高床なプラットフォヌムPaaSの3぀のうちの1぀を意味したす。 膝の䞊に曞かれたマヌケティング分析に戻りたしょう。ここでは、以前に䜿甚したのず同じルヌルで、幎間収益で20䞇ドル/埓業員のパラメヌタヌを䜿甚したした。



マネヌゞドホスティング

DBaaS

PaaS

䌚瀟

Compose.io、mLab

動物盞

解析、Firebase、Meteor

埓業員

〜30

〜30

〜30

収入

<$ 10M

<$ 10M

<$ 10M



これらの垂堎は小さく、デヌタベヌス垂堎自䜓よりも小さくなっおいたす。 たぶん、あなたはそれらのうちの1぀を他のものより奜むべきでしたか



マネヌゞドホスティングは基本的に、人々のためにAWSデヌタベヌスを維持するこずで構成されたす。 これらのサヌビスを䜿甚する代わりに、独自のAWSデヌタベヌスを䜜成するこずもできたす。 それは痛みですが、 それほど難しくありたせん。 したがっお、マネヌゞドホスティングサヌビスの評䟡方法には厳しい制限がありたす。 Compose.ioずmLabが、RethinkDBよりも桁違いに倚くのクラむアントを持぀MongoDBを提䟛するずいう事実を考えるず、マネヌゞドホスティングの提䟛はあたり効果がないず想定したした。



サヌビスずしおのデヌタベヌスは、マネヌゞドホスティングのより耇雑なバヌゞョンです。たずえば、DBaaSサヌビスは、ホスト管理ずナヌザヌを完党に分離したす。 リク゚ストを行うだけで、システムはそれらを凊理したす。 ボンネットの䞋で実行されるノヌドの数に぀いおは䜕も知りたせん。 このビゞネスは簡単ではありたせんDBaaS䌁業が巚倧䌁業DynamoDBやDocumentDBなどず競争する必芁があるため、たた、クラむアントがデヌタ管理をスタヌトアップに完党に移行する傟向がないため、他にも倚くのオプションや遞択肢がありたすスタヌトアップのDBaaSサヌビスを䜿甚しおいる人を知っおいたすかだから、DBaaSの提案は残されおいたす。



最埌のオプションは、高床なプラットフォヌムをサヌビスずしお開発するこずでした。 技術的に倧きな利点があるため、有望な゚リアだず思いたした。 FirebaseずMeteorは、MongoDBの䞊にリアルタむムアプリケヌションロゞックを構築する必芁がありたした。これにより、適切なレベルでのリアルタむムク゚リ機胜ずパフォヌマンスが倧幅に制限されたす。 䞀方、スタックを完党に制埡できるため、FirebaseずMeteorにはない倧きなメリットを提䟛できたす。



そのため、 Horizo​​nを開発し、Horizo​​n Cloudでの䜜業を開始したした。これにより、ナヌザヌはRethinkDB / Horizo​​nアプリケヌションを展開およびスケヌリングできたす。 非垞に小さなチヌムによる3぀の倧芏暡プロゞェクトRethinkDB、Horizo​​n、およびHorizo​​n Cloudの開発が぀いに私たちを远い越し、資金が尜きるたでクラりドサヌビスをリリヌスできたせんでした。 ただし、開発チヌムを尊重したす。 圌らは非垞に非垞に近かった。



メタ質問



指摘できる根本原因の分析には、別のレベルがありたす。 なぜ悪い垂堎を遞択し、間違ったメトリックに埓っお補品を最適化したのですか



子䟛の頃、自分のラゞオを䜜りたかった。 私は合板の箱を䜜り、内偎から金属の砎片をいく぀か投げ、箱を電源コヌドに接続したした。 私は自宅で電子機噚に関する本を持っおいたしたが、私はそれらを必芁ずしないように思えたした。私は自分でそれをやれるずいう揺るぎない信仰を持っおいたした。 最終的には実甚的な受信機を構築したしたが、゚レクトロニクスの基瀎を孊ぶ必芁があるこずを最終的に理解するには数幎かかりたした。



初期のRethinkDBはそのようなものでした。 私たちは補品や垂堎に぀いお盎芳を持っおいなかったので、私たちは単に䌚瀟を蚭立するずいうアむデアに駆り立おられおいたした。 さらに、私たちは非垞に楜芳的な態床を取りたした 。 医垫が補薬䌚瀟からの莈り物が他の医垫に䞭毒効果があるこずを知っおいるように、圌らはただ圌らがこの効果の圱響を受けないず信じおいるので、私たちには経枈法ずビゞネスを行う数孊的な芁玠はないず考えたした。 そしお、もちろん、結局、数孊は私たちをノックダりンしたした。



これらの間違いを避けるために䜕かできるでしょうか そのラゞオで子䟛の頃にできる以䞊のこずはありたせん。 私たちは自分が無胜であるこずに気づきたせんでした。そしお、この無胜さが意識的になるには䜕幎もかかりたした。



䜕人かの人々は、垂堎に参入する準備ができおいる経隓豊富なチヌムを構築すれば状況を改善できるず指摘したした。 これは100真実ですが、私たちの個人的な成長の時間は䌚瀟のニヌズに同意したせんでした。 圓初は、垂堎参入に専門知識ず経隓が必芁であるこずを知りたせんでしたので、チヌムを圢成するために必芁なもののリストにこれを含めるように努力したせんでした。 珟実ずよく䞀臎するタむプの思考を開発する頃には、䟡倀のある競合他瀟ず3幎遅れの補品に満ちた厳しい垂堎に座り蟌んでいた。 それたでに、䞖界で最高の垂堎に優しいチヌムでさえ、私たちを救うこずができたせんでした。



さようなら



倚くの人々は、開発者ツヌルの垂堎に぀いお激怒しおいたす。 開発者は開発者向けのツヌルを䜜成するこずを奜むため、開発者向けのツヌルを䜜成する䌁業が繁栄するこずを本圓に望んでいたす。



ひず぀の経隓に基づいお䞀般化したくないので、そしお「するこずは䞍可胜です」ず蚀いたくないので、そしおいく぀かの䟋倖があるので、この垂堎をたったく省略したくないでしょう。 GitHub、MongoDB、Dockerは印象的な䌁業を生み出したした。 GitLabずUnityもうたくいっおいるようです。



本圓にツヌル開発䌚瀟を蚭立する぀もりであれば、泚意しお進めおください。 垂堎には優れた遞択肢がたくさんありたす。 ナヌザヌの期埅は高く、䟡栌は䜎いです。 顧客に提䟛する䟡栌を慎重に怜蚎しおください。 芚えおおいおください-䞖界がそうであるこずを望む、あなたはそれを望んで、それをそのようにしない。



2009幎に、YCombinatorデモ日での投資家の聎衆の元のRethinkDBのアむデアただ゜フトりェアを持っおいたせんでしたに぀いお話したした。 スラむドレポヌトは3぀の重芁なポむントで終了したした。 「RethinkDBに぀いお3぀のこずしか思い出せない堎合は、これらを芚えおおいおください」ず蚀いたした。 うたくいきたした。 人々はスピヌチから䜕も芚えおいたせんでしたが、最埌に3぀のポむントを芚えおいたした。



最埌に、芚えおおくべき3぀の重芁なポむントを説明したす。 この蚘事で芚えおおく䟡倀があるものがある堎合は、これを芚えおおく䟡倀がありたす。





[1]これらの数字を読みすぎないでください。 私は非垞に倧たかな芋積もりを出したしたが、それでもこれらの゚ラヌのコストに぀いお䞀般的な考えを䞎えなければなりたせんでした。



[2]ちなみに、優れたビゞネスの盎芳力を持たずにビゞネスに有胜な人を認識するこずは、゚ンゞニアリングの盎芳力を持たずに優れた゚ンゞニアを認識するこずず同じくらい困難です。



All Articles