[フレーム]
BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

InfoQのすべての体験をアンロックして、そのメリットを最大限に活用しましょう

ログインして、InfoQのすべての体験をアンロックしましょう!お気に入りの著者やトピックの最新情報を入手し、コンテンツと交流し、限定リソースをダウンロードできます。

ログイン
または

アカウントをお持ちでない方

登録
  • あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。
  • 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。
  • 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。

Topics

地域を選ぶ

AIオールスターズ2025

"AI活用"をキーワードに「AIを使い倒し/使いこなす」企業の最前線をお届けします。

QCon San Francisco - image
QCon San Francisco 2025

Get production-proven patterns from the leaders who scaled a GenAI search platform to millions, migrated a core ML system without downtime, and architected a global streaming service from the ground up.

Early Bird ends Nov 11.

QCon AI New York - image
QCon AI New York 2025

Move beyond AI demos to real engineering impact. Discover how teams embed LLMs, govern models, and scale inference pipelines to accelerate development securely.

Early Bird ends Nov 11.

QCon London - image
QCon London 2026

Benchmark your systems against leading engineering teams. See what really works in FinOps, modern Java, and distributed data architectures to balance cost, scale, and reliability.

Early Bird ends Nov 11.

InfoQ ホームページ ニュース 列指向データベース向けライブラリ Google Supersonic

列指向データベース向けライブラリ Google Supersonic

2012年10月18日 読了時間 2 分

作者:

翻訳者

原文(投稿日:2012年10月16日)へのリンク

Supersonicは列指向データベース用のクエリエンジンライブラリで、データ転送プリミティブ型を提供する。Googleによれば、このライブラリは“キャッシュを上手く使うアルゴリズム、SIMD、ベクトル化処理を利用して、高度にパイプライン化されたCPUを活用する”ために“超高速”で動作する。特徴は、

  • キャッシュの利用
  • SIMD(Single Instruction Multiple Data)の利用
  • カスタムのデータ構造
  • 障害のハンドリング
  • 標準的な列指向処理のサポート
  • 特殊な式

Supersonicは多くの操作をサポートする。操作はテーブル全体に適用される。また、操作木を構成することもできる。

  • 集約: SUM、MIN、MAX、COUNT、CONCAT、FIRST、LAST
  • 計算 – 式を操作に変換する
  • フィルタ – 行をフィルタする
  • 生成 – 一定数のゼロ列の行を生成する
  • 制限 – 前の操作の結果の行数を制限する
  • 並べ替え – 前の操作の結果を並び替える

操作とは違い、は行レベルに適用して列の値の計算を実行できる。また、式木を構成することも出来る。次のような式がある。

  • 終端 – ConstInt32、ConstBool、ConstDataType、RandInt32などのプリミティブな型を持つノード
  • 演算 – Plus、Minus、Multiplyなど
  • 比較演算 – Equal、Less、Greater、IsOdd
  • 日付/時間 – Now、Day、Month、Year、Hour、Minute、Second、AddDaysなど
  • 論理演算 – And、Or、AndNot、Xor、Not
  • 制御フロー – If、IsNull、IfNull、Case
  • 数値計算 – Exp、Sin、Cos、Abs、Round、Floor、Trunk、Sqrt、Powerなど
  • 文字列 – ToString、Concat、Length、Trimなど

SupersonicはC++で書かれており、組み込みのデータストレージフォーマットを持っていないが、“ぜひ作成したい”と考えている。現時点ではデータはメモリ上に保持される。

Supersonic Query EngineのライセンスはApache License 2.0Google Codeからダウンロード可能。ソースには操作と式の使い方を示したたくさんのが含まれている。

画像はSupersonicチームが作成した投稿したもので、操作木のベンチマーク結果を表している。100万行を含むひとつのテーブルを処理した場合は、表示に60マイクロ秒で167億/秒、フィルタに1.03ミリ秒で100行/秒、次の計算処理が25マイクロ秒で4120万行/秒、他のフィルタと結合処理をして、全体でかかった時間が22.1ミリ秒だ。

この記事に星をつける

おすすめ度
スタイル

このコンテンツのトピックは Google です。

関連記事:
  • 関連記事

    • 関連スポンサーコンテンツ

特集コンテンツ一覧

InfoQ ニュースレター

毎週火曜日に前週のまとめコンテンツをお送りいたします。(日本語版は不定期リリース)25万人のシニアな開発者コミュニティーにぜひご参加ください。 サンプルを見る

We protect your privacy.

BT

AltStyle によって変換されたページ (->オリジナル) /