タグ

duckdbに関するnekoruriのブックマーク (23)

  • メタデータ管理をデータベースで担う新しいLakehouseフォーマット「DuckLake」が発表されました | DevelopersIO

    さがらです。 DuckDBの公式ブログにおいて、メタデータ管理をデータベースで担う新しいLakehouseフォーマット「DuckLake」が発表されました。 記事では、DuckLakeがどういったものか簡単に紹介し、ローカルで軽く触ってみたのでその内容をまとめてみます。 DuckLakeとは まずDuckLakeですが、DuckDBの開発元が開発したOSSのLakehouseフォーマットとなっております。 昨今のIcebergやDelta Lakeではファイルベースでメタデータを管理するという複雑性があったことを課題認識し、そのメタデータ管理を担うレイヤーをIcebergでいうカタログレイヤーも含めて全てSQLデータベースで担う方向性で実装したプロダクトが、DuckLakeとなっております。 DuckLakeのメリットとして、以下4つが上述のリンク先のブログで言及されています。 Simp

    メタデータ管理をデータベースで担う新しいLakehouseフォーマット「DuckLake」が発表されました | DevelopersIO
    nekoruri
    nekoruri 2025/05/29
    様々な性能のバランスが変化した結果、「割り切り方」が大きく変わってきている、この変化の流れを汲めるのがアーキテクトのスキル
  • DuckDB + YouPlotでCUIのグラフ表示 | swfz[:memo] << TIL

    DuckDBの公式ドキュメントにCUIでの可視化ツールの紹介が載っていた CLI Charting with YouPlot – DuckDB YouPlot red-data-tools/YouPlot: A command line tool that draw plots on the terminal. Ruby製らしい 内部的にUnicodePlotを使っているらしい、どちらもPlotライブラリなので役割がどう違うのかイメージが付いていない… サンプルでは次の流れでCUIのグラフ化を行っている APIを叩いてデータを取得 DuckDBに流して集計 結果をCSVフォーマットにしてstdoutへ出力 youplotで可視化 こういうの好きなんだよなー、とりあえず試してみる install gem install youplot 試す GitHubのイベントデータのサンプルを実行してみ

    DuckDB + YouPlotでCUIのグラフ表示 | swfz[:memo] << TIL
    nekoruri
    nekoruri 2025/04/24
    YouPlotなるほど
  • DuckDB の拡張を Rust で書けるらしいので調べてみた(2025年3月時点)

    DuckDB は v1.2.0 で C extension API というものが追加されました。これによって、C で拡張を書けるのみならず、RustGo などの C FFI を使えるプログラミング言語でも(その C extension API へのバインディングがあれば)書けるようになりました。 実際、Rust 実装の拡張を書くテンプレートが公式に用意されています。 とはいえ、このテンプレートはまだ「experimental」だと書かれています。現状、これを使って Rust で DuckDB の拡張を書くのはどれくらいできるもんなの?、というのを調べてみました。 拡張の種類 DuckDB の拡張でできることの範囲が分かっていないのですが、API 一覧を見たところ、拡張で提供できる機能には以下があるようです。 Table function ドキュメント: https://duckdb.

    DuckDB の拡張を Rust で書けるらしいので調べてみた(2025年3月時点)
  • DuckDB Update & Blog reading #1:Bloom Filter ・ver 1.21

    まえがき DuckDBのブログ更新の頻度がすごいですね...! 今まで単発気味に記事投稿していたのですが、ちょっと追いつけなくなりそうになってます🫠 そこで今回からDuckDBのブログについてや追加機能で気になったものをピックアップして試したりするまとめ記事を投稿しようと思います。 Parquet Bloom Filters in DuckDB を調べながら読み解く について所々の単語について自分で調べながら読んでいきます。 (解釈が間違っている可能性があります。) ブルームフィルター(Bloom filters) Bloomは一般的には花がいっぱい咲いていてなんというか華やかな印象がある言葉で、こういう機械的な処理に付けられているのが意外でした。(broom(ホウキ)かともおもったが綴りが違うので...) どうも考案者のBurton Howard Bloomさんの名前から付けられたらし

    DuckDB Update & Blog reading #1:Bloom Filter ・ver 1.21
  • DuckDBのVector Searchを試してみる - Qiita

    この記事はDuckDB Advent Calendar 2024の9日目です。 DuckDBとは DuckDBデータ分析に特化した高速な組み込み型SQLデータベースです。 SQLiteが一般的なトランザクション処理向けであるのに対して、DuckDBは大量データの集計や分析処理(OLAP)に特化しており、より高速な処理が可能になっています。 面白い機能が色々備えられているのですが、例えば以下の特徴があります。 メモリ内で動作する 多様な言語から利用可能 Pythonの場合、Pandasと簡単に連携できる 地理空間データ処理ができるようになるspatialやS3からSELECTできるようになるhttpfsなど、標準機能を拡張する仕組みを有している Vector Searchとは Vector Searchとは、多次元ベクトル空間において与えられたベクトル(数値の配列)に類似するベクトルを検索

  • DuckDBを使ってTiDBにspatial機能を拡張する - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    DuckDBを使ってTiDBにspatial機能を拡張する - Qiita
  • DuckDBを使ってS3とTiDBの間でデータを移動する - Qiita

    はじめに S3を使っていると、parquet形式のファイルをしばしば使います(Aurora Snapshotとか)。このデータをTiDBに入れたり、逆にTiDBのデータをS3にエクスポートしたいというニーズはまぁある(個人の感想です)のですが、そのためにETLジョブ組むのも面倒ですよね? DuckDBはまさにそういう作業にうってつけです。DuckDBはparquetファイルの扱いにとても優れており、更にs3を簡単に、個人的にはglueやAthenaより遥かに容易に扱えます。 更に、MySQLにも接続でき、それらの間のデータ移動もできます。 記事ではDuckDBを使ってS3、TiDBそれぞれに接続してみて、更にTiDBからS3、S3からTiDB間のデータの受け渡しを行います。環境はMacOSです。 DuckDBのインストール いくつか方法はあると思いますが、Homebrewでインストールし

    DuckDBを使ってS3とTiDBの間でデータを移動する - Qiita
  • サーバーレスで建物の緯度経度を求める - Qiita

    はじめに 今年10/23から3日間、Plateauアカデミー2024札幌というイベントに参加しました。 Plateauアカデミー参加までは『Plateau = ビルの3Dモデル』と思い込んでいました。北海道の片田舎に住む私には縁遠い世界だなと思っていました しかし、参加してみて『Plateau = 色々なGISデータを整理したデータセット(に3Dモデルも含まれている)』ということがわかりました Plateauアカデミーは素晴らしい試みでした。私のように『GISワカラナイ』という人はぜひご参加を 概要 GISでは沢山ファイルを使います。面倒くさくなってDBとかに入れようとすると「PostGIS」などのサーバーを用意したり何かと大変です。そこで、サーバーレスな環境(AWS Lambda)を使って、GeoParquetに格納されたLOD0の建物データを取得し、建物の代表的なポイント(重心というら

    サーバーレスで建物の緯度経度を求める - Qiita
  • 「DuckDB in Action」でDuckDBに入門した

    こんにちは。 株式会社ログラスで CRE をやっている山﨑(@zaki___yama)と申します。 毎年アドベントカレンダーの季節になると、「これを機に今まで気になっていたことを調べてみよう」という気持ちになります。 今年はここ数ヶ月社内外で耳にすることの多かった「DuckDB」をテーマに選びました。 また、DuckDB の何を学ぶべきかと考えていたとき、ふと 「DuckDB in Action という無料で読める書籍があるらしい」 という話をどこかで聞いたのを思い出しました。 ちょうどいい機会だと思い、実際に読んでみることにしました。 記事では、この書籍を通して学べることや読んでみた感想をご紹介します。 書籍「DuckDB in Action」について 「DuckDB in Action」(以下、「書」)は Manning 社から 2024 年 7 月に出版された書籍です。 書自体

    「DuckDB in Action」でDuckDBに入門した
  • CURをduckdbでクエリしてevidenceでチャートにする

    BigQuery OmniでS3出力されたCURへクエリを投げたい ↑こちらの記事の続きです。 AWSコスト可視化のための環境は2日で作れるようになりました。 が、BigQuery + Athena + Lookerという環境なので、開くたびにクエリが実行され課金対象になってしまいます。 コスト削減のためにコストがかかるのも末転倒感があるな、と思っていたところ、ちょうどduckdbを弄りたかったのでちょうどいいネタになると思い作ってみました。 CURを取得する 前回の記事では、Cost Usage Report(以下、CUR)をParquet形式で出力しておきました。 これにduckdbでクエリを投げます。 CREATE OR REPLACE TABLE cur AS SELECT line_item_usage_start_date, line_item_product_code, S

    CURをduckdbでクエリしてevidenceでチャートにする
  • DuckDB を使ったデータ品質保証の実践 - Timee Product Team Blog

    この記事は Timee Advent Calendar 2024 シリーズ 1 の5日目の記事です。 はじめに こんにちは。タイミーの DRE チームの chanyou です。2024年の3月に DRE チームにジョインして、社内のデータ基盤を作って運用しています。 DuckDB を使ってデータ基盤で扱うデータの品質を保証し始めたので、その内容をご紹介します。 データ品質と完全性 タイミーのデータ基盤で重視しているデータ品質 タイミーでは、DMBOK を参考に以下のデータ品質を重視して設計や日々の運用を行っています。 特性 意味 完全性 データが欠損していないか 適時性 必要なときにすぐにデータを参照できるか 一意性 データが重複していないか 一貫性 型・タイムゾーン・表記揺れなど、値の書式や意味が統一されているか 今回は完全性にフォーカスします。 完全性が損なわれるタイミング 上記の通り

    DuckDB を使ったデータ品質保証の実践 - Timee Product Team Blog
  • HTAPとは何か?

    (これはHTAPデータベース アドカレ2024 の1日目の記事です。) HTAPとは HTAPとは、 『Hybrid Transactional and Analytical Processing』 の略語であり、オンライントランザクション処理(OLTP)と分析処理(OLAP)を同時に実行すべく考えられた方式や、それを実装したデータベースを指します。 現在のデータベース利用においても、技術的理由やコスト・リソース面など様々な点に課題があり、2つのワークロードを同時に捌くことは容易ではありません。そのため、OLTP用データベースとOLAP用データベースは分割されることが多くなっています。 そもそも、用途別にデータベースを使い分けようという考え方を掲げるクラウドもあります。 では、HTAPとはそうした課題をクリアした「なんでもこなせる夢のデータベース」なのでしょうか。 日の投稿の趣旨としては

    HTAPとは何か?
  • DuckDBを使ってローカル環境でAWSWAFのログを分析する - Qiita

    D DESCRIBE waflog; ┌──────────────────────┬───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬─────────┬─────────┬─────────┬─────────┐ │ column_name │ column_type │ null │ key │ default │ extra │ │ varchar │ varchar │ varchar │ varchar │ varchar │ varchar │ ├──────────────────────┼─────────────────────────────────────────────────

  • DuckDB で Web API を叩いて JSON をパースする話

    前座 今日は12月13日の金曜日です。 そう、13日の金曜日。。。 だから、ジェイソン。。。 JSON に関する話をします!ウォー! とはいえ、JSON で一記事を書くのは難しかったので、DuckDB で JSON を触ってみた話(後編)をします。[1] 題 今回は何をするの? DuckDBスクレイピングをします! 具体的には、WebAPI に対して、DuckDB からリクエストをして、その JSON 形式のレスポンスをテーブル化します! 実践の前の準備: 2 つ (1)対象の Web API の説明 今回、ZennAPI を対象にします! 具体的なエンドポイントや仕様は公開されていないですが、Zenn をブラウザの開発者ツールで見られる範囲の API を叩いて検証します! 今回の対象のエンドポイントとしては、以下です。 { "articles": [ { "id": 339

    DuckDB で Web API を叩いて JSON をパースする話
  • DuckDB で入れ子になっている JSON を UNNEST する話

    { "blog_post": { "id": 1, "title": "Understanding JSON", "author": "Jane Smith", "comments": [ { "id": 1, "user": "Alice Johnson", "comment": "Great article!", "timestamp": "2024-12-01T12:34:56Z" }, { "id": 2, "user": "Bob Lee", "comment": "I learned a lot.", "timestamp": "2024-12-02T15:20:30Z" } ] } }

    DuckDB で入れ子になっている JSON を UNNEST する話
  • pg_duckdb - PostgreSQL プロセス上の DuckDB で OLAP ワークロードを処理する

    記事の概要 pg_duckdb は、PostgreSQL のプロセス上でインプロセス OLAP クエリエンジンである DuckDB を実行するための拡張です。 DuckDB を利用することで、以下のようなメリットがあります。 PostgreSQL のネイティブクエリエンジンと比べ、OLAP ワークロードをより高速に処理できる。 DuckDB の拡張を利用し、 Iceberg や Delta lake といったオープンテーブルフォーマットでオブジェクトストレージ上に構築したデータレイクのデータを分析できる。 記事では、 PostgreSQL 拡張の pg_duckdb の概要、私が pg_duckgb に注目した背景、および簡単な使い方などを紹介します。 pg_duckdb の概要 pg_duckdb は、スタートアップの Hydra、DuckDB 開発元の DuckDB Labs、Sa

    pg_duckdb - PostgreSQL プロセス上の DuckDB で OLAP ワークロードを処理する
  • DuckDB でストレージアカウントにある診断ログを見る

    TL;DR こちらの記事を見て Azure のストレージ アカウントでもできるのではと思いやってみました。 DuckDB とは いま話題になっている DuckDB ですが、SQLite 的な使い方ができる OLAP データベースです。列指向のデータベースで、SQLite のようにトランザクションをゴリゴリ扱うような処理は苦手ですが分析用途でパフォーマンスを発揮するように設計されています。 Why DuckDB については、オフィシャルのページや他の方が書いた記事を参照してください。 ストレージ アカウントの診断ログを見るモチベーション Azure のリソースには診断ログの出力を設定できます。分析したい場合通常は Log Analytics を使うことが一般的ですが、料金や、その他やんごとなき理由でストレージ アカウントのみに出力することがあります。 ストレージ アカウントに出力されるログは

    DuckDB でストレージアカウントにある診断ログを見る
  • AWS CloudShell に DuckDB を入れて、ALB のログを見てみた

    概要 最近、DuckDB に関する情報を目にすることが多いので、自分も遊んでみたって感じです。がーがー🦆 とくに、どこでも使えるんで、AWS CloudShell でも使ってみた話です。くわくわ🦆 DuckDB とは? もうすでに知っている人が多いかもですし、すでに色んな方が紹介していますが、自分なりにおすすめポイント 2 つを紹介します。[1] おすすめポイント1:ポータビリティー WindowsMacLinux 問わず、どこでも使えます。 加えて、主要なプログラミング言語に対して、API が用意されていることも嬉しいポイントですね。 自分は、Java でさっくりとローカルで開発するときに、実装に集中したくて、とりあえず永続化まわりやサンプルデータとかは適当でいいんよなーってときは DuckDB をとりあえずの代用先として使います。 Java であれば API が提供されているの

    AWS CloudShell に DuckDB を入れて、ALB のログを見てみた
  • skyfirehose.com - Query the Bluesky Jetstream with DuckDB

  • DuckDBでBluesky Jetstreamをクエリする

    2024/12/04追記:説明不要なぐらい使いやすくなって再公開されました。よかったですね。 時間があったら記事を書き直します。 2024/11/29追記:最近Blueskyの100万件の投稿を用いたデータセットをHugging Face上に公開した人が盛大に炎上したせいかskyfirehose.comがなかったことになっていました。 この記事は記念に残しておきます。 Hacker NewsでDuckDBについて調べていたところ、skyfirehose.comというBluesky Jetstream with DuckDBなツールを発見したので試してみます。 作者はTobias Müller-sanです。 DuckDBが必要なので、何らかの方法でインストールします。 $ curl -sLO https://github.com/duckdb/duckdb/releases/latest/d

    DuckDBでBluesky Jetstreamをクエリする