Pocketかの有名なDB、gnomADでは、MongoDBが使われているそうです。UIのレスポンスも早く、かっちょいいですね。変異アノテーションデータを格納するDBとしてRDBとNoSQLを比較検討してみた論文があったので要約してみました。Purpose変異アノテーション情報を格納するのに最適なDBは何かVCFに格納している変異・アノテーションをデータベースに格納することを考えたとき、最適なDBは何かを判断する。DBの性能評価をどのように行っているかDBのパフォーマンスを評価する際にどのようなことを行っているか知る。入力データ実行クエリResults変異アノテーション情報を格納するのに最適なDBは何かNoSQLを用いるのが良い。中でもドキュメント指向のNoSQLは柔軟なスキーマを持てる、インデックス作成を含めたデータ挿入パフォーマンスが高い、各種クエリの応答速度が高速といった点で変異アノテーション情報の格納に適している。TSVに変換し、サブセットを作成したものを使用。SummaryNoSQLはRDBと比較してクエリ応答速度、データストレージの両面において、より効率的なDBシステムを構築できることが期待される。動的スキーマを使用する機能と相まって、特にドキュメント指向のデータベースは大規模なゲノムデータセットの管理に適している。R.Motivation研究および臨床アプリケーションの両方で生成されるゲノムデータ・アノテーションの量が指数関数的に増加しているが、それを格納するDBの最適化が遅れている。RDBは通常のファイルを使用する場合よりストレージ効率とデータ取得速度の面で優れているため広く利用されている。データの肥大化につれ、商用のDBとしてはドキュメント指向のDBやその他のNoSQlが使用されてきている。非構造化データや半構造化データのアーキテクチャが遺伝情報の保存に有用であるというエビデンスはほとんどなく、研究利用が遅れている。変異のアノテーションデータのデータ構造はデータソースによって異なり動的に変化する必要があるため、ドキュメント指向のDBが最適。NoSQLは、書き込み操作のパフォーマンスが大幅に向上するだけでなく、一部のデータセットのクエリ効率を改善できるインメモリインデックスを使用できる点で、RDBと比べて利点が大きい。Superiority遺伝情報の格納というテーマでのDBのパフォーマンス比較そもそも当時類似の既存論文なし(?)DiscussionJSON形式で格納するようなデータをRDBに格納することもできるが、RDBへのデータ挿入は、関連するテーブルにデータを挿入する前に、トランザクションログに書き込む必要性と外部キー値のルックアップが含まれる。外部テーブルが1つの場合のみを検証しているが、実際にはより多くの外部テーブルが含まれることになる。この時NoSQLに切り替える恩恵は大きくなると想定される。PostgreSQLにおいて、GINインデックスを使用するとインデックス作成は時間がかかるが、標準のBツリーインデックスよりも大幅に優れたクエリパフォーマンス結果となった。PostgreSQLのレコードの挿入時間は、MongoDBとほぼ同じであったが、レコードの挿入とインデックス付けに必要な合計時間を考慮すると、MongoDBのほうがより高いパフォーマンスを示した(MongoDB:66分、JSONBデータ型PostgreSQL:278分)。検証したうちほとんど全てのクエリにおいて、MongoDBが最もパフォーマンスが高かった。MySQLは、各ケースで最も遅いクエリ効率を示した。MongoDBにはメモリ内にインデックスを保持することができる。PostgreSQLではJSONBデータ型の逆インデックスパターンが利用できる。RDBには、頻繁に使用されるインデックスをメモリにキャッシュする機能があるが、この効果はNoSQLの効率化に比べ効果が薄い。ドキュメント指向のDBは、クエリやストレージの効率性だけでなくデータ構造が柔軟であるという利点もある。DBを作成したのちにデータモデルの削除、変更、追加が容易。臨床的に重要か否か(Bool))の応答時間を測定した。check無効、ログの取得を最小限とした。MongoDBではJournalingを無効にした。ContributionNoSQLデータベースアーキテクチャを採用すると、ゲノムアノテーションのストレージ効率と検索効率が向上する可能性があることを示した。Memo使用率が低い場合かつ単一の同時実行環境でのパフォーマンスの比較に限定されている。bulkにデータを入力する場合、RDBだと主キーを持つテーブルに最初にデータを追加したのち、関連するテーブルにデータを追加していく必要がある。NoSQLでは、そのような制約はないため、importの効率が高い。主キーを作成する必要がないDB構成の場合、RDBとNoSQLのパフォーマンスの差はそこまで大きくないことが推測される。個別化医療に向け、変異のpathog...2019-04-28Scanpyを使ったscRNA解析GW始まってしまいましたね。以前の記事でリファレンス配列についてだらだらと書かせて頂き...2019-03-30リファレンス配列のお話(GRCh38-hg38-b37-hg19)今回はリファレンス配列についてご紹介。(5)月別アーカイブはてなブログをはじめよう!kimoppy126さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。