ニュース
Notionブラウザ版、WebAssembly版SQLite3でページ遷移速度を20%改善 実装時の苦労と教訓とは?:クロスオリジン分離も課題
Notion Labsは公式ブログで、NotionのデータキャッシュにWebAssembly実装の「SQLite3 WASM/JS」を採用した事例を紹介する記事を公開した。適用に至るまでの苦労や教訓を明らかにしている。
クロスプラットフォームのワークスペースアプリ「Notion」を提供するNotion Labsは2024年7月10日(米国時間)に公式ブログで、NotionのブラウザバージョンのデータキャッシュにWebAssembly(WASM)実装の「SQLite3 WASM/JS」(以後、WASM版SQLite3)を採用した事例を紹介する記事を公開した。
2021年ごろ、WindowsおよびmacOS版のNotionデスクトップアプリにおけるパフォーマンス向上を目的にSQLiteを採用した同社は、ネイティブのモバイルアプリでもSQLiteを採用してきた。そして、ブラウザ版アプリには、WASM版SQLite3を採用したという。
Notion Labsは「WASM版SQLite3を採用することで、全ての最新ブラウザでページ間の遷移のパフォーマンスを20%改善できた。インターネット接続など外部要因によりAPIのレスポンス時間が遅いユーザーにとっては顕著だった。オーストラリアのユーザーは28%、中国のユーザーは31%、インドのユーザーは33%高速化している」と述べている。
Notion Labsは、WASM版SQLite3の適用に至るまでの苦労や採用の成果、教訓を次のように説明している。
WASM版SQLite3導入における実装の課題 どのようなアーキテクチャを検討したのか
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ブラウザ内でPostgresのWASM版を利用できる「postgres.new」を発表 Supabase
Supabaseは、AI支援を利用しながら、ブラウザ内で直接動作する「Postgres」データベースを即座に幾つでも起動し、サンドボックスとして使用できる「postgres.new」を発表した。 - スクリプト言語TypeScriptでWebAssembly――「AssemblyScript」を体験する
第2回では、TypeScriptでWebAssemblyプログラムを開発できるAssemblyScriptを紹介します。差異こそありますがTypeScriptの構文を使ってコードを書けるので、フロントエンドに慣れた開発者にとってはWebAssemblyのための入りやすい選択肢と言えます。 - 「WebAssembly」は次世代のJava、Node.jsになる?――「Wasmコンテナ」をKubernetesで動かす
Kubernetesやクラウドネイティブをより便利に利用する技術やツールの概要、使い方を凝縮して紹介する連載。今回は、最近注目されている「WebAssembly」について復習しながら、WebAssemblyのアプリケーションをKubernetesで試す方法を紹介する。