All Posts

Apache Calcite + Truffle でクエリエンジンを作ってる話

自作DBMS Advent Calender 2020 の 20 日目の記事です。 現在、truffle-arrow というクエリエンジンを作っているので、その話を書きます。 『How Query Engines W

Truffle の Host にオブジェクトを返す

Apache Calcite で Java のコードを生成する際に使っている linq4j の代わりに Truffle が使えないか調べてみたところ、truffle-sql というプロジェクトがあり、それを fork

『Towards a One Size Fits All Database Architecture』を読んだ

昨年から、HTAP (Hybrid Transactional/Analytical Processing) を実現する為の手法に興味を持っています。 HTAP を実現する為に、DB の内部では row-wise / column-wise それぞれの形式でレコードを保持するのが

PostgreSQL の JIT が生成するコードを眺めてみる

Postgres Advent Calendar 2019 の 15 日目の記事です。 PostgreSQL 12 で、JIT が default で on になりました。そこで JIT まわりのパラメータを変更しながら、生成されるコードや、クエリの応答速

Calcite Code Reading Part 2

Image by 949158 from Pixabay Calcite Adapter Calcite には Adapter という要素があります。Adapter は、SQL で問い合せるデータの種別ごと用意します。例えば、前回の説明で使用した CSV Adapter

uWSGI の 各プロセスのスレッドダンプを取得する

前回 uWSGI の prefork を調べた際に、任意の Worker のスレッドダンプを出力する方法を見つけられなかったので、スレッドダンプを JSON として返す function を書きました。 しかし、

flask run と uWSGI prefork

Flask の起動時に Background で Thread を動かし、そこで値を更新して、HTTP Request でその値を返すようなコードを書いていました。 そのコードは、ローカルで flask run で実行する

Voila で Jupyter Notebook から Dashboard を作成する

QuantStack が Jupyter Notebook のコンテンツを Standalone Application や Dashboard に変換する voila というツールをリリースしました。 And voilà! – Jupyter Blog Features 前記の Jupyter Blog の記事にあるように、voila には

Calcite Code Reading Part 1

Image by 949158 from Pixabay Calcite の Adapter を書いているのですが、たまにうまく動かせなくて困ることがあるので、頭からコードを読んでみることにしました。 Calcite GitHub の README.md を見ると、

Transaction protocol of Delta Lake

Databricks から Delta Lake というモジュールがリリースされました。これは Databricks で提供している Delta という Transactional なストレージの一部を OSS として公開したようです。このモジュール