/note/tech

SuperSQLite

SQLite, is a fast, popular embedded database, used by large enterprises. It is the most widely-deployed database and has billions of deployments. It has a built-in binding in Python.

SQLiteは、大企業で使用される高速で人気のある組み込みデータベースです。最も広く展開されているデータベースであり、数十億の展開があります。 Pythonにビルトインバインディングがあります。

The Python bindings, however, often are compiled against an out-of-date copy of SQLite or may be compiled with limitations set to low levels. Moreover, it is difficult to load extremely useful extensions like JSON1 that adds JSON functionality to SQLite or FTS5 that adds full-text search functionality to SQLite since they must be compiled with a C/C++ compiler on each platform before being loaded.

ただし、Pythonバインディングは、SQLiteの古いコピーに対してコンパイルされる場合が多く、低レベルに設定された制限付きでコンパイルされる場合があります。さらに、JSON機能をSQLiteに追加するJSON1や全文検索機能をSQLiteに追加するFTS5などの非常に有用な拡張機能をロードすることは困難です。ロードする前に各プラットフォームでC / C ++コンパイラーでコンパイルする必要があるためです。

SuperSQLite aims to solve these problems by packaging a newer version of SQLite natively pre-compiled for every platform along with natively pre-compiled SQLite extensions. SuperSQLite also adds useful unique new features like remote streaming over HTTP to read from a centralized SQLite database.

SuperSQLiteは、すべてのプラットフォーム用にネイティブにプリコンパイルされた新しいバージョンのSQLiteと、ネイティブにプリコンパイルされたSQLite拡張機能をパッケージ化することにより、これらの問題を解決することを目的としています。また、SuperSQLiteは、HTTPを介したリモートストリーミングなどの便利な独自の新機能を追加して、一元化されたSQLiteデータベースから読み取ります。

Moreover, by default, SQLite does not enable some optimizations that can result in speedups. SuperSQLite compiles SQLite with various optimizations and allows you to select your workload at runtime to further automatically configure the connection to be optimized for your workload.

さらに、デフォルトでは、SQLiteは高速化をもたらす可能性のあるいくつかの最適化を有効にしません。 SuperSQLiteは、さまざまな最適化を使用してSQLiteをコンパイルし、実行時にワークロードを選択して、ワークロード用に最適化されるように接続をさらに自動的に構成できます。

なんか凄いのきたぞ感