シリコンバレーの物語
データベースはIT業界のバックボーンです。不可視、不可視、しかし重要です。 そして、それらが破損または変形すると、非常に有害です。 これにより、データベースの専門家は慎重になります。 何年もの間、重大な選択肢はオラクル、IBM DB2、そして多分SQL Serverのみでした。 その後、オープンソースの代替手段であるMySQL、ProstgreSQLが実行可能になりました。 そして、過去5年間で、すべてが非常に興味深いものになりました...
少し歴史。
ミレニアムの変わり目に、より多くの人々が、 SQL言語のサブセットを介して要求される正式な構造化され正規化されたデータベースが、単純化された開発よりも困難になることが多いことに気付き始めました。 過去10年間で、特にBigTable 、 Megastore、Spannerの結果として分散データウェアハウスを特別に必要としていたGoogleの腸に、多くの新しいデータベースが登場しました。
一方、ApacheはCassandra 、 HBase 、およびCouchDBをもたらしました。 Citrixは、 プラグアンドプレイの分散MySQL置換を提案しています 。 Redisは、多くのRuby on Rail(および同様の)アプリケーションの基本的な部分となっています。 特にMongoDBは、騒々しい批判にもかかわらず、スタートアップの間で非常に人気がありました。特に、書き込みロックは、クラスター全体への並行書き込みを許可しませんでした。 幸いなことに、これはすぐに修正され 、かなりの喜びにつながります。 (参考:私は開発者であり、MongoDBでいくつかの仕事をしましたが、私はファンではありません。)
興味深いことに、これらの新しい開発-いわゆるNoSQL "データベース"は高度なスタートアップであり、そのような夢想家が真剣に取り組んだ人はほとんどいませんでした。 結局のところ、データベースは非常に重要です。 データベースが変形している場合、あなたは大きなお尻にいます。 データベースがデータとトランザクションの整合性を保証しない場合(たとえば、「 ACIDトランザクション 」と呼ばれるものをサポートしない場合)、実際のデータベースエンジニアはそれを真剣に受け止めません。
ACIDの保証は必要ないかもしれませんが、ストレージエンジンがADを提供できない場合、それは基本的にあなたの時間またはデータに値するストレージエンジンではありません。
-ケリー・ソマーズ(@kellabyte) 2014年12月11日
それでも、私たちは、自分自身をたわませて、そうでないもので自分のデータを破壊するストレージエンジンのベンチマークを続けています。 ベンチマークの破損さえも。
-ケリー・ソマーズ(@kellabyte) 2014年12月11日
酸
MongoDBはACID互換ではありません 。 Cassandra、Riak、Redisなどに類似 ところで、彼らはNoSQLデータベースは基本的にACIDに互換性がないと主張することさえありました。 これは真実ではありません。 Google Megastoreは実際にはACIDと互換性があり、Spannerはさらに優れています。 もちろん、Googleの外部でMegastoreを使用することはできません。もちろん、独自のApp Engineプラットフォームでアプリケーションを完全に作成する場合を除きます。
だから、数年前にTechCrunch Disruptのブースに出くわしたとき、「NoSQL、YesACID」というキャッチフレーズがありました。 彼女はFoundationDBと呼ばれる会社に占有されていました。この会社は、優れたACID互換 1キーバリューストアを作成し、その上に、いわゆる SQL レイヤー 。 1週間前に、彼らは FoundationDB 3.0 のリリースを発表しました 。これは、「心臓と肺の移植」エンジンと呼ばれるものにより、以前のバージョンより25倍高速です。
これは工学の大きな偉業です。 ブログの投稿を引用すると、1秒あたり1400万エントリだけでなく、「100%マルチキーマルチノードトランザクションを備えた、完全に合理化された完全トランザクションデータベース」の1400万エントリです。 [...]クラウド内[...]。 つまり、FoundationDBは1セントで360万件のレコードを処理できます。」
印象的。 エンタープライズ分野のデータベースエンジニアの注目を集めるのに十分なほど印象的です。 そして、もちろん、今後のモノのインターネット、およびさまざまなデバイスによって常に駆動される膨大な量のデータにとって理想的です。
しかし、最も重要なことは、競合他社をより多くの成果に駆り立てることになり、その結果、ブロンズ時代に凍結された膨大な数の企業が、OracleとDB2を使用して、おそらくゆっくりと正確に現代に移行することになります。 開発者が単純なキーと値のストア、強力な古典的なSQLクエリ、および分散ACIDトランザクションで同時に台無しにされる日。 そして 、遠い将来に、それは人生をより良くするでしょう。 その間、私はどこかでプログレスエンジンをプッシュしている名もなきデータベースエンジニアに脱帽しています。 あなたはそれを想像することはできませんが、彼らは私たちに素晴らしいサービスを提供します。
1
リンクをたどると、頭字語ACIDの文字「C」の説明を意図的に見逃します。 しかし、正確さのために、それらは最終的な一貫性ではなく、強い一貫性を意味すると言います。
(翻訳者から)
A
どこかで、みんながドキュメントレイヤーで作業しているというツイートを見ました。 MongoDBと互換性があることを願っています。
これは、今後のFoundationDBシリーズの記事の最初の記事です。 脈に手を当ててください。