DuckDB Duck Lake

2026/10/08 2:40

DuckDB Duck Lake

RSS: https://news.ycombinator.com/rss

要約▶

Japanese Translation:

DuckLake は SQL および Parquet に基づくオープンな Lakehouse フォーマットであり、Parquet ファイルにデータを、PostgreSQL または SQLite などのカタログデータベースにメタデータとして格納します。これにより、DuckDB が

ducklake
エクステンションを通じてデータを直接読み書きできます。ユーザーは DuckLake データベースを
ATTACH 'ducklake:metadata.ducklake' AS my_ducklake (DATA_PATH 'file_path/');
のような構文でアタッチした後、標準の SQL を使用してテーブルを作成、変更、照会できます。主な機能には、
ALTER TABLE
コマンドによるスキーマの進化(スキーマの改変)や、
FROM my_ducklake.my_table AT (VERSION => 2);
のように履歴データの状態を照会するためのタイムトラベルが挙げられます。さらに、DuckLake では
FROM my_ducklake.table_changes('my_table', 2, 2)
を通じてアクセス可能な変更データフィードもサポートしています。このエクステンションは
FORCE INSTALL ducklake FROM core_nightly;
コマンドでインストールでき、ビルド対象となる DuckDB のバージョンは
.github/duckdb-version
に指定されます(注:サブモジュールを更新する
make pull
を実行すると、ビルドに失敗する可能性があります)。アクティブな開発およびコントリビューションには、
main
ブランチをターゲットとしてください。テストは
./build/release/test/unittest
(全テスト)または特定のパターンを使用して実行でき、テストでは
--test-config test/configs/postgres.json
などの設定ファイルを通じて PostgreSQL または SQLite のカタログを使用できます。全体として、DuckLake は標準の SQL スタック内でのデータエンジニアリングワークフローを簡素化し、独自ツールからの解放を実現するとともに、スキーマの進化、バージョン管理、変更追跡をサポートします。

本文

DuckLake 拡張機能

DuckLake は、SQL および Parquet に基づくオープンな Lakehouse フォーマットです。

  • メタデータ: カタログデータベースに保存
  • データ: Parquet ファイルに保存

ducklake
拡張機能を有効化することで、DuckDB が DuckLake データを直接読み書きできるようになります。詳細は DuckLake のウェブサイト を参照してください。


インストール

最新開発版をインストールするには、以下のコマンドを実行してください。

FORCE INSTALL ducklake FROM core_nightly;

使い方

ATTACH
構文を使用して DuckLake データベースに接続し、その後標準 SQL でテーブルの作成、変更、クエリを実行できます。

以下は、メタデータを

metadata.ducklake
ファイルに、データは
file_path
ディレクトリの Parquet ファイルに保存する例です。

-- DuckLake データベースへの接続
ATTACH 'ducklake:metadata.ducklake' AS my_ducklake (DATA_PATH 'file_path/');

-- スキームの使用開始
USE my_ducklake;

-- テーブルの作成
CREATE TABLE my_ducklake.my_table(id INTEGER, val VARCHAR);

-- データの挿入
INSERT INTO my_ducklake.my_table VALUES (1, 'Hello'), (2, 'World');

-- クエリの実行
SELECT * FROM my_ducklake.my_table;
idval
int32varchar
1Hello
2World

更新

データを変更する操作です。

UPDATE my_ducklake.my_table SET val='DuckLake' WHERE id=2;
SELECT * FROM my_ducklake.my_table;
idval
int32varchar
1Hello
2DuckLake

タイムトラベル機能

過去の変更履歴を参照できます。

-- バージョン 2 のデータを参照
SELECT * FROM my_ducklake.my_table AT (VERSION => 2);
idval
int32varchar
1Hello
2World

スキーマ進化機能

テーブルのスキーマを動的に変更できます。

-- 新しいカラムの追加
ALTER TABLE my_ducklake.my_table ADD COLUMN new_column VARCHAR;
SELECT * FROM my_ducklake.my_table;
idvalnew_column
int32varcharvarchar
1HelloNULL
2DuckLakeNULL

変更データフィード(CDC)

テーブルの変更履歴を参照できます。

SELECT * FROM my_ducklake.table_changes('my_table', 2, 2);
snapshot_idrowidchange_typeidval
int64int64varcharint32varchar
20insert1Hello
21insert2World

詳細は「使い方ガイド」を参照してください。


拡張機能のビルドと読み込み

ビルド手順

ビルドするには、以下のコマンドを実行します:

git submodule init
git submodule update --recursive
# マルチコアでの高速ビルド
make GEN=ninja release
# 通常のビルド
make

注意点:

  • サブモジュールは
    .github/duckdb-version
    に記述された DuckDB バージョンに固定されています。
  • CI はこのバージョンに対してビルドを行います。
  • make pull
    を実行するとサブモジュールの先頭が移動するため、ビルドが失敗する可能性があります。

実行方法

同梱された DuckDB シェルを実行して拡張機能を使用します。(※元のテキストでコマンドが不完整でした)


貢献について

外部の方からの DuckLake 拡張機能へのコントリビューションを歓迎します。

  • 開発ターゲット:
    main
    ブランチ
  • 全てのコントリビューションは
    main
    ブランチをターゲットにしてください。

テスト実行

# すべてのテストの実行
./build/release/test/unittest

# シングルテストファイルの実行
./build/release/test/unittest test/sql/transaction/create_conflict.test

# パターンに一致するテストの実行
./build/release/test/unittest "test/sql/partitioning/*"

# DuckDB コアテスト (DuckLake をストレージバックエンドとして使用)
./build/release/test/unittest --test-config test/configs/attach_ducklake.json --test-dir duckdb

# PostgreSQL をカタログデータベースとして使用するテスト(PostgreSQL の実行が必要)
./build/release/test/unittest --test-config test/configs/postgres.json

# SQLite をカタログデータベースとして使用するテスト
./build/release/test/unittest --test-config test/configs/sqlite.json

# デリションベクターを有効化した状態でテストを実行
./build/release/test/unittest --test-config test/configs/deletion_vectors.json

同じ日のほかのニュース

一覧に戻る →

2026/10/09 1:59

Whistle:16.9 MB で音声からテキストへ変換

## Japanese Translation: Whistle は、スマートフォン、ウェアラブル機器、ロボット、スマートホームシステム、車載ユニット、マイクロコントローラーといったエッジデバイスに特化して設計されたオープンソースの音声認識モデルです。2026 年 10 月 2 日にリリースされ、その最大の特徴は外部依存関係なしに完全にオンデバイスで動作することであり、高いプライバシー保護と低レイテンシーを実現するとともに、Needle フレームワークと同じ C++ エンジン内にはまる単一の 16.9 MB のファイルで済み、その利点を活かしています。モデルは英語、ドイツ語、フランス語、スペイン語、イタリア語、オランダ語、ポーランド語の 7 か国語をサポートし、CPU 上で最大 30 秒間のオーディオを瞬時に処理します。 アーキテクチャ的には、Whistle は Needle と同じエンコーダーおよびデコーダ用の Simple Attention ブロックを共有しており、エンコーダーでは 18,432 スロットを持つエングラムと Monarch Hadamard MLP を採用し、デコーダではクリップごとエンコーダーを一度だけ読み取るゲート付きクロス・アテンションを備えています。Apple M4 Pro CPU におけるベンチマーク結果はその効率性を示しており、最初のトークン生成までにかかる時間は 11 ms で、デコード速度は 1,319 トークン/秒に達し、Whisper base(73.2 ms / 266/s)や Moonshine tiny v2(22.8 ms)を大幅に上回っています。この効率性により、書き起こしや単語の時間スタンプ付けから、音声埋め込み、そして音声コマンドに基づくスマートホームアクションのトリガー(「set_lights」など)に至る多様なアプリケーションに対応できます。`.cact` ファイルを用いた `needle` ツールとの統合を通じて実現します。モデルには、特定の音量閾値未満の断片ではビームサーチに入らず空の文字起こしを返す沈黙検出機能も含まれており、リソース制約のある環境向けに軽量かつ高性能なソリューションとなっています。

2026/10/09 2:51

Theranos の世界

## Japanese Translation: 午前 9 時 41 分に、システムはユーザーが「ログイン」をクリックするか、Return キーまたはスペースキーを押すことを要求します。この操作にはパスワードの入力并不需要がありません。この簡素化されたフローにより、対話完了後、ユーザーは直ちにパーソナルダッシュボードに移動できます。 ## Text to translate : At 9:41 AM, the system requires a user to click "Log In" or press the Return or Space key. The interface does not require a password for this action. This streamlined flow allows users to proceed directly to their personal dashboard once the interaction is completed.

2026/10/08 9:14

DeepSeek 4.1 Flash が業界で騒がれていないのはなぜか?

## 日本語訳: DeepSeek 4.1 Flash は、高価な「フロンティア」モデルである Opus などに対し、コーディングタスクのほとんどにおいて非常に効率的かつ費用対効果の高い代替案を提供することで、人工知能における変革的な転換を表しています。従来のバージョンと比較してメモリ使用量を約 437 倍削減する KV キャッシュ最適化を採用することにより、標準セッションではトップティアモデルとの間に性能差がほぼ生じず、高品質で無人実行に適合しています。この効率性は、ユーザーが Opus 5.5 のようなプレミアムリソースを、エッジケース検出が不可欠な重要な最終レビューだけに限定して確保することを可能にします。 核心となるメッセージは、「十分である」とされるモデルを優先することで、実用的な性能を損なうことなく運用コストと環境への影響を大幅に削減できる点にあります。例えば、月額 10 ドル未満のサブスクリプションで無制限の使用が可能であり、セッションあたりのコストが 0.003 ドルほどになる場合があり、これは主要技術企業が高额的な財務的および環境コストにもかかわらず最先端モデルへの多額の投資を続ける業界の傾向に挑戦するものです。現時点ではハードウェア費用の観点から自己ホストは経済的に実現可能ではありませんが、将来のローカルキャッシュ最適化により実用的になると考えられます。 究極的には、この戦略の採用は、財務的な障壁を下げることで高知能へのアクセスを民主化し、水や電力の使用量を削減します。企業はルーチンタスクを効率的なモデルに委ねる一方で、プレミアム容量をエッジケース検出のために留保することで、実用的な性能で「十分である」場合でも最新の前線モデルを追いかけるという罠から回避できます。著者は同様の能力が GLM その他の中国モデルにも存在する可能性を示唆し、より詳細なパフォーマンスデータについては外部ベンチマークへの参照を推奨しています。

DuckDB Duck Lake | そっか~ニュース