タグ

ブックマーク / www.techscore.com (15)

  • パフォーマンスを考慮したIndex定義設計 | TECHSCORE BLOG | TECHSCORE BLOG

    これは TECHSCORE Advent Calendar 2019の25日目の記事です。 横田です。転職して3カ月程ですが前職までは OracleSQL Server を中心に触っていました。格的にPostgreSQLを使うようになったのが今回始めてのため、SQL Server の言葉を借りて説明している箇所が有ります。予めご了承ください。 今回は、PostgreSQL 11 で実装された付加列Index (※) を中心としたパフォーマンス関連のお話をしたいと思います。商用DBと比較してしまうとOSS-DBに無い機能が多かったりするのですが、近年はパーティショニングやIndex機能の充実化など、溝を埋めていこうとする姿に感銘を受けました。なのでDBを使う側も実装されたものを使いこなせる様になろうと思います。 ※「付加列Index」はSQL serverで同機能の呼び名です。機能の

    piro_suke
    piro_suke 2021/05/28
  • PostgreSQL effective_io_concurrency について | TECHSCORE BLOG | TECHSCORE BLOG

    PostgreSQLの「effective_io_concurrency」という設定をご存知でしょうか? PostgreSQLのドキュメントには、 「PostgreSQLが同時実行可能であると想定する同時ディスクI/O操作の数を設定します」 とあります。 とりあえず有効にしておけば同時実行でなんか速そう!という印象をうけるのですが、そんなことはありません! PostgreSQL9.6以下の場合はオフにした方がパフォーマンスが良いケースが多いと思います。 今回はなぜオフにした方が速いのか、みていきたいと思います。 ※PostgreSQL10以降で実装されたパラレルビットマップヒープスキャンにはあてはまりません ※常に「オフ」が最適設定ということではありません。システム構成・データ傾向次第です ※検証環境はCentOS7、PostgreSQL9.6です effective_io_concurr

    piro_suke
    piro_suke 2021/05/28
  • PostgreSQLパフォーマンス小ネタ集 | TECHSCORE BLOG | TECHSCORE BLOG

    とすると、高速にCOPYが可能です。COPY以外にも CREATE TABLE AS SELECT にも有効です。 Spring JDBC パラメータ型情報取得をやめる Spring JDBCを利用している場合、クエリパラメータに型指定なしでnull値を渡すと、データベースから型情報を取得するクエリがnull値の数だけ余分に発行されます。 思いがけないところで何倍にもクエリを発行してしまっていることになるので注意が必要です。 常に正しく型を指定するよう実装するか、この機能をオフにしてしまいましょう。 オフにするにはJava起動オプションに以下を指定します。 -Dspring.jdbc.getParameterType.ignore=true カーソルを使わない(必要な時だけに限定する) PostgreSQL9.6以降で搭載されたパラレルクエリは非常に強力ですが、カーソルを使う(JDBCでs

    piro_suke
    piro_suke 2021/05/28
  • » martinfowler.com の Microservices を読み解く TECHSCORE BLOG

    こんにちは。Synergy! 開発チームの松です。 以前の記事でも少し触れたのですが、当社シナジーマーケティングのプロダクトである Synergy! は、2015 年以前に作られたモノリスと、それ以降に作られたマイクロサービスのハイブリッド型として稼働しています。 この数年、マイクロサービスを実践してきてつくづく感じているのは、全てのチームがマイクロサービスアーキテクチャスタイルの質を理解した上で開発や運用を行うということの難しさです。「分散されたモノリス」なんていう話も聞きますが、これもやはり、質を理解しないままマイクロサービスを実践した例です。 2014 年に書かれた martinfowler.com の記事 "Microservices" は、マイクロサービスアーキテクチャを 9 つの特性に分解してその質を述べた素晴らしいドキュメントです。これをチームの教育に使うことで前述の

    piro_suke
    piro_suke 2020/06/09
    “当社シナジーマーケティング”
  • OpenAMでリバースプロキシ方式SSO | TECHSCORE BLOG | TECHSCORE BLOG

    こんにちは、白川です。 これはTECHSCORE Advent Calendar 2016の21日目の記事です。 今回はOpenAMを使ったシングルサインオン(以下SSO)について紹介します。 OpenAMについて OpenAMの概要 WebアプリケーションにおけるSSOを 実現するためのプラットフォームとなるオープンソースのソフトウェアです。 SAML、OAuth2、OpenID Connect、など認証、認可に関連した複数のプロトコルをサポートしています。 SSOの実現方式 ■ エージェント方式 SSO対象のWebサーバ/アプリケーションサーバにOpenAMのPolicy Agentをインストールして、Policy AgentがブラウザとWebサーバ/アプリケーションサーバの通信の中で、OpenAMサーバに認証状態を確認することでSSOを実現します。 Policy AgentはWebサ

    piro_suke
    piro_suke 2016/12/21
  • SwaggerでREST APIを記述することについて僕が思うこと | TECHSCORE BLOG | TECHSCORE BLOG

    これは、 TECHSCORE Advent Calendar 2016 TECHSCORE BLOG の19日目の記事です。 最近、弊社のとあるプロジェクトでSwaggerを使い始めました。Swaggerとは、簡単に言ってしまうとREST APIを記述するルール(Swagger Specification)とそれに関連するツール群です。 当然ながら、Swaggerを使わなくてもREST APIの仕様を書くことはできます(たとえばExcelなどで)。 新しい技術を導入する場合、学習コストはかかりますしいろいろと苦労することが多いのが常ですが、どうしてわざわざSwaggerを使うのでしょうか。Swaggerを使うと何がうれしいのでしょう。 Swaggerを使ってうれしいこと Swaggerとそれら(たとえばExcelを使った場合)の大きな違いは、「REST APIの仕様を記述するルール(フォー

    piro_suke
    piro_suke 2016/12/19
  • 1.JMSの基礎

    2006.09.20 株式会社四次元データ 宮澤了祐 JMS 1章 JMSの基礎 1.1. JMSについて 1.2. ActiveMQのインストールと起動 1.3. 簡単なメッセージ送受信のサンプル 1.1. JMSとは JMSとはJava Message Serviceの略で、Javaでメッセージングサービスを利用するための標準APIです。 メッセージングとはプログラム間でデータを細かにわけるのではなく、一つのメッセージオブジェクトを作成して通信を行うことです。 常に接続が維持されている必要はなく、非同期に通信を行うことが出来ます。 実装されたメッセージングサービスはいくつかありますが、ここではオープンソースで開発された ActiveMQを使用します。 ActiveMQのインストールとサーバの起動については後述します。 メッセージングの概念を理解するために、宅配便に例えて解説を行います。

    piro_suke
    piro_suke 2016/03/02
  • トップページ

    SQL データベース操作言語SQLについて、またRDBMSの持つ機能について詳しく解説します。 DB概要、SQL、テーブル操作、データ操作 ... 特集:replication PostgreSQLのレプリケーションシステムを紹介し、それらの機能を比較していきます。 特集:pgbench PostgreSQLのベンチマークテストに用いられるプログラムである pgbench について解説します。 SQL演習問題 各章に用意された演習問題を集めました。

  • トップページ

    SQL データベース操作言語SQLについて、またRDBMSの持つ機能について詳しく解説します。 DB概要、SQL、テーブル操作、データ操作 ... 特集:replication PostgreSQLのレプリケーションシステムを紹介し、それらの機能を比較していきます。 特集:pgbench PostgreSQLのベンチマークテストに用いられるプログラムである pgbench について解説します。 SQL演習問題 各章に用意された演習問題を集めました。

  • トップページ

    SQL データベース操作言語SQLについて、またRDBMSの持つ機能について詳しく解説します。 DB概要、SQL、テーブル操作、データ操作 ... 特集:replication PostgreSQLのレプリケーションシステムを紹介し、それらの機能を比較していきます。 特集:pgbench PostgreSQLのベンチマークテストに用いられるプログラムである pgbench について解説します。 SQL演習問題 各章に用意された演習問題を集めました。

  • トップページ

    SQL データベース操作言語SQLについて、またRDBMSの持つ機能について詳しく解説します。 DB概要、SQL、テーブル操作、データ操作 ... 特集:replication PostgreSQLのレプリケーションシステムを紹介し、それらの機能を比較していきます。 特集:pgbench PostgreSQLのベンチマークテストに用いられるプログラムである pgbench について解説します。 SQL演習問題 各章に用意された演習問題を集めました。

  • トップページ

    SQL データベース操作言語SQLについて、またRDBMSの持つ機能について詳しく解説します。 DB概要、SQL、テーブル操作、データ操作 ... 特集:replication PostgreSQLのレプリケーションシステムを紹介し、それらの機能を比較していきます。 特集:pgbench PostgreSQLのベンチマークテストに用いられるプログラムである pgbench について解説します。 SQL演習問題 各章に用意された演習問題を集めました。

  • トップページ

    SQL データベース操作言語SQLについて、またRDBMSの持つ機能について詳しく解説します。 DB概要、SQL、テーブル操作、データ操作 ... 特集:replication PostgreSQLのレプリケーションシステムを紹介し、それらの機能を比較していきます。 特集:pgbench PostgreSQLのベンチマークテストに用いられるプログラムである pgbench について解説します。 SQL演習問題 各章に用意された演習問題を集めました。

  • [SQL] 8. クエリの結合

    8.1. UNION 演算子 UNION 演算子は、2つのクエリの出力を和結合します。すなわち、2つのクエリの結果を結合し、そこから重複する行を削除します。次の図の黄色の部分が、「QUERY A」と「QUERY B」の和集合です。 sample.20-1 はテーブル BLUE とテーブル RED から、この二つの販売店が取り扱っている製品を出力するものです。 -- sample.20-1 -- /* UNION */ SELECT * FROM BLUE UNION SELECT * FROM RED ; 実行結果 製品名 ────────── AVENILE PRIMERA GLOLIA STAJIA CEDRIK BLUE BARD DATSON PRESAJU LAULEL TERANO SANNY SKYLINN samle.20-1 の出力結果から分かるように、重複する製品は表示

  • トップページ

    SQL データベース操作言語SQLについて、またRDBMSの持つ機能について詳しく解説します。 DB概要、SQL、テーブル操作、データ操作 ... 特集:replication PostgreSQLのレプリケーションシステムを紹介し、それらの機能を比較していきます。 特集:pgbench PostgreSQLのベンチマークテストに用いられるプログラムである pgbench について解説します。 SQL演習問題 各章に用意された演習問題を集めました。

  • 1