Microsoftは、自社製品で使用してきたNoSQLデータベースエンジン「Extensible Storage Engine」(ESE)のソースコードをGitHubで公開した。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Microsoftは、2021年2月、25年以上にわたって自社製品で使用してきた組み込み/ISAM(Indexed and Sequential Access Method)ベースのNoSQLデータベースエンジン「Extensible Storage Engine」(ESE)のソースコードをGitHubで公開した。
ESE(旧称:JET Blue)は、「Windows NT 3.51」に初めて搭載されたデータベースエンジン。直後に「Exchange Server 4.0」にも採用されている。1990年代に2回の書き換えを経て、2000年代に入ってから20年間、活発に更新されてきた。現在でもMicrosoftの中核資産としてさまざまな製品で使用されている。
例えば、「Microsoft 365」のメールボックスストレージのバックエンドサーバでは、数十万台のマシン(数百万台のディスク)でESEが使われている。「Active Directory」を大規模に展開している環境向けのTBクラスのメモリを備える大型SMP(対称型マルチプロセッシング)システムだ。また、「Windows XP」以降のWindowsクライアントSKU(Stock Keeping Unit)でも使用されてきた。
アプリケーションはESEを用いて、テーブルへのデータの格納とテーブルからのデータの読み出しを実行できる。ESEは非正規化スキーマをサポートしており、アプリケーションがトランザクション型のデータ更新や読み出し時に一貫性のあるデータ状態を維持できる。システムクラッシュ時もデータの一貫性が維持されるように、クラッシュリカバリーメカニズムも提供される。さらにライトアヘッドログやスナップショット隔離モデルにより、データとスキーマのACID(Atomicity Consistency Isolation Durability)トランザクションを実現できる。
MicrosoftはESEのデータベースエンジンだけではなく、同期/ロックライブラリやSTL(C++ Standard Template Library)と似たデータ構造ライブラリ、OS抽象化レイヤー、ブロック/キャッシュマネージャーのソースコードも提供した。
Microsoftによると、GitHubで今後公開されるESEのソースコードのバージョンは、Windowsの最新リリースにコンパイルされるバージョンよりも少し先行している可能性があるとのことだ。
Copyright © ITmedia, Inc. All Rights Reserved.