6 ポイント 投稿者 GN⁺ 2024-01-16 | 1件のコメント | WhatsAppで共有

SQLite リリース概要

  • SQLiteは SQLITE_RESULT_SUBTYPE 属性を追加し、アプリケーション定義SQL関数のサポートを強化。
  • JSON SQL関数は、新しい内部解析ツリー形式 JSONB を使用して改善。
  • クエリプランナーはインデックス選択時により適切な判断を行い、SQLITE_DIRECT_OVERFLOW_READ 最適化がデフォルトで有効化。
  • CLIはUTF-8コンテンツ表示の改善と、".dump" スクリプトの再生検出自動化を含めて改善。

バグ修正と最適化

  • さまざまなバグ修正とパフォーマンス最適化を実施。
  • 新しいC言語API、sqlite3_get_clientdata()sqlite3_set_clientdata() を追加。
  • PRAGMA integrity_check コマンドは、組み込み仮想テーブルの整合性を検証するように変更。
  • クエリプランナーは部分インデックススキャンおよびDISTINCTサブクエリの処理を改善。

SQLite CLIおよびその他機能の改善

  • CLIはUTF-8コンテンツ表示を改善し、危険なSQL関数の使用を制限。
  • PRAGMA integrity_check コマンドは、テキスト文字列とインデックス間の一致可否を検証。
  • sqlite3_stmt_scanstatus_v2() インターフェースを追加。
  • sqlite3_prepare() に類似した長時間実行呼び出しは、進行状況コールバックを呼び出し、sqlite3_interrupt() に反応。

GN⁺の意見

  • SQLiteの継続的な改善は、データベース管理システムの安定性と性能にとって重要。
  • JSON SQL関数の改善は、Web開発者とモバイルアプリケーション開発者にとって特に有用。
  • クエリプランナーの最適化により、複雑なデータベースクエリをより効率化し、システムリソースを節約可能。

1件のコメント

 
GN⁺ 2024-01-16
Hacker Newsのコメント
  • macOSで新しいSQLiteバージョンを試したい人向けの手軽な方法:

    • macOSでPythonと一緒にSQLiteのバージョンを使う方法へのリンクを提供。
    • 簡単なコマンドでSQLiteライブラリをコンパイルし、Pythonでバージョンを確認する方法を説明。
    • SQLiteのWeb UIを試すためのdatasetteコマンドを案内。
  • SQLiteのJSONBに関する改善点:

    • JSONBを使うと、JSON関連の処理性能が3倍向上する可能性がある。
    • JSONBはテキストJSONより、ほとんどの場合で約5%〜10%小さい。
    • Notion Labsでは大量のJSONを使っているため、ディスク使用量削減の改善が期待される。
  • SQLite 3.45バージョンのインタラクティブなリリースノート:

    • 公式リリースノートが退屈なら、インタラクティブ版へのリンクを提供。
  • SQLiteが将来のGCCコンパイラ警告を見越している印象的な事例:

    • SQLiteがGCCの新しいコンパイラ警告に先回りして対応していることへの言及。
  • クラウドネイティブSQLiteへの関心とPostgreSQLとの比較の要望:

    • クラウドベースのSQLiteサービスへの関心を表明。
    • PostgreSQLとSQLiteの比較資料を求める声。
  • SQLiteに対する再評価と肯定的な認識の変化:

    • SQLiteを単なる「おもちゃのデータベース」と見なす視点から離れ、実際のアプリで有用だと認める内容。
  • JSONBで整数と浮動小数点数をテキストとして保存する判断への疑問:

    • JSONBのユースケースを制限しかねないデータ保存方式への批判。
  • 以前に議論されたJSONBの導入:

    • "JSONB has landed"というタイトルで以前Hacker Newsで議論されていたことへの言及。
  • SQLiteでJSONのようなデータを効率よく保存・処理する難しさ:

    • SQLiteが長年望んでいたJSONB導入と、それを実現するためのアプローチについての説明。
  • JSONBの内部フォーマットはテキストJSONよりディスク容量を節約する:

    • JSONBがテキストJSONよりディスク使用量が少ないという情報の共有.